Registrati

In questa pagina oltre il form di login è presente il form di registrazione creato in HTML e PHP. La pagina è formata da script PHP e parte HTML che interagiscono tra loro. Nel codice HTML del form sono presenti anche parti in php per far interagire lo script con la pagina: verranno stampati eventuali errori che faranno capire all’utente l’errore effettuato. Per esempio se abbiamo inserito una email già presente sul database o se le password non coincidono tra loro, verrà riempita la variabile “_err” corrispondente che verrà stampata a video da un echo racchiuso tra i tag span.
Nel momento in cui l’utente invia il form tramite l’action “$_SERVER["PHP_SELF”]”, esso verrà inviato allo script presente sulla stessa pagina e verranno effettuati i controlli accennati prima. Quello sull’email azionerà una richiesta al database fatta con una SELECT per controllare se è già presente nel nostro database. Una volta effettuati anche gli altri controlli, lo script controlla che le variabili “_err” siano vuote e che quindi non ci sia nessun errore negli input e si passa all’esecuzione della query di INSERT che inserirà l’utente nel database.

Prenota

La pagina “prenota.php” è accessibile soltanto agli utenti registrati che hanno fatto il login. Per controllare se è stato fatto, utilizzo un piccolo script PHP che avvia la sessione e verifica l’esistenza della variabile “session email”. Se questa variabile non è presente rimando l’utente sulla pagina di registrazione o login.
Lo scopo principale di questa pagina web è prenotare una stanza nel b&b andando a selezionare i giorni che si desiderano. Al caricamento della pagina una funzione javascript creerà una variabile “giorniprenotati” che sarà riempita dalla funzione “giorniPrenotati” che tramite chiamate ajax con metodo GET restituirà la lista dei giorni già occupati del mese corrente. Mandando questa variabile alla funzione “buildCalendar”, presente sul file “calendario.js”, esso comporrà un array di stringhe in html per farci visualizzare il calendario nella pagina web, differenziando i giorni prenotati da quelli disponibili tramite una differente classe (casella = giorno disponibile, casella_occupata = giorno prenotato). Da questo calendario sarà quindi possibile selezionare con un click i giorni che l’utente vuole prenotare grazie ad uno
PAGINA 5
script jquery che, al click sulla casella, andrà ad utilizzare la funzione “toggleClass” per aggiungere o levare la classe con il relativo css che ci farà visualizzare il giorno selezionato (in giallo) diverso da quello non selezionato (in bianco).
Una volta selezionati i giorni l’utente potrà effettuare un click su invia prenotazione che richiamerà una funzione asincrona “prenInsert” che andrà a selezionare gli input tramite il DOM, controlla che i giorni selezionati siano consecutivi, e li manderà al database tramite il metodo POST delle API. Per l’utente è anche possibile cambiare il mese visualizzato nel calendario agendo sulle select che una volta cambiate avvierà la funzione “changeCalendario” che chiamerà di nuovo le funzioni “giorniPrenotati” e “buildCalendar” per comporre il nuovo calendario.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *