Modo per creare moduli multipagina usando lo script PHP

Sommario

Molte volte, gli sviluppatori di siti Web devono raccogliere una grande quantità di dati che l'utente deve inserire, per questo è molto utile separare i dati per sezioni o categorie in diverse schermate o passaggi. Un modo per creare sessioni o schermate in passaggi, ogni modulo in ogni sezione invierà i dati inseriti al modulo successivo e questo deve conservare i valori in un modo e può trasferirli da una pagina all'altra.

Per mantenere la persistenza dei dati tra le pagine possiamo utilizzare sessioni PHP o una tabella di database temporanea dove possiamo salvare i dati che stiamo passando da una pagina all'altra. E alla fine salviamo i dati raccolti ed eliminiamo quelli temporanei.

In questo tutorial vi mostreremo come creare un modulo multipagina usando lo script PHP. Vedremo anche come evitare errori tra i moduli.

Utilizzeremo sessioni PHP per memorizzare i valori dei campi di ogni form.

Successivamente creeremo un database chiamato azienda e quindi una tabella di candidati.

 CREATE DATABASE `società` CREATE TABLE IF NOT EXISTS` candidati` (`id` int (10) NOT NULL,` name` varchar (255) NOT NULL, `email` varchar (255) NOT NULL,` address` varchar (50 ) DEFAULT NULL, `phone` varchar (50) DEFAULT NULL,` mobile` varchar (50) DEFAULT NULL, `education` int (11) DEFAULT NULL,` post` int (11) DEFAULT NULL, `experience` int (11 ) DEFAULT NULL, testo `descrizione`) ENGINE = InnoDB AUTO_INCREMENT = 1 DEFAULT CHARSET = latin1;
Quando abbiamo moduli con molti dati, l'utente non vorrà completare un modulo con più di 10 campi, quindi è una buona idea coprire il modulo su più pagine.

Ciò può rendere più facile per l'utente seguire, ad esempio, possiamo dividere i dati in sezioni separate, in base all'ambito o alle categorie di informazioni, informazioni personali separate, informazioni sui clienti, dati accademici o lavorativi, nonché i tuoi gusti o preferenze, lo vediamo molto anche nel completamento degli acquisti prima dei dati di pagamento in un carrello, dove i dati di fatturazione, i dati di spedizione e i dati del prodotto sono separati.

Una delle sfide che derivano dalla divisione del modulo su più pagine è il passaggio dei dati da una pagina all'altra, poiché alla fine del modulo abbiamo tutti i dati necessari pronti per l'elaborazione. Prenderemo in considerazione due metodi per farlo: variabili di sessione e campi di input nascosti.

Pertanto, la sessione ha una natura semi-permanente, ci permette di creare una certa persistenza e può essere utilizzata per passare variabili attraverso le diverse pagine in cui i visitatori atterrano durante una visita al sito.

Creeremo quindi il primo form che conterrà alcuni campi:

 Modulo multiplo PHP

Modulo 1

Nome: Email: Indirizzo: Telefono: Cellulare:
Aggiungeremo anche i fogli di stile per dare un design più elegante al nostro form, quindi creiamo un file stili.css, dopo l'applicazione sarà come segue.

 div.container {larghezza: 960px; altezza: 550px; margine: 50 px automatico; } div.main {larghezza: 100%; margine superiore: 35px; galleggiante: sinistro; bordo: 2px solido # 8fc400; imbottitura: 0px 50px 20px; font-family: Arial, Helvetica Neue, Helvetica, sans-serif; } form {margin-top: 20px} .estilotextarea {width: 100%; height: 100px; border: 1px solid # 999; } h2 {colore di sfondo: sfondo: # 8fc400; sfondo: -moz-linear-gradient (top, # 8fc400 0%, # 8fc400 100%); sfondo: -webkit-linear-gradient (top, # 8fc400 0%, # 8fc400 100%); sfondo: gradiente lineare (verso il basso, # 8fc400 0%, # 8fc400 100%); filtro: progid: DXImageTransform.Microsoft.gradient (startColorstr = '# 8fc400', endColorstr = '# 8fc400', GradientType = 0); imbottitura: 32px; margine: 0 -50 px; text-align: center;} b {font-size: 18px; blocco di visualizzazione; color: # 555;} etichetta {color: # 464646; dimensione del carattere: 14px; font-weight: grassetto;} input [tipo = testo], input [tipo = email] {larghezza: 96%; altezza: 25px; imbottitura: 5px; margine superiore: 5px; margine inferiore: 15px; } seleziona {margin-bottom: 15px; margine superiore: 5px; larghezza: 100%; altezza: 35px; font-size: 12px;} input [type = submit], input [type = reset] {padding: 10px; sfondo: gradiente lineare (# 058eb5 5%, # 045066 100%); bordo: 1px solido # 058eb5; colore: # f7f7f7; cursore: puntatore; larghezza: 20%; raggio di confine: 2px; margine inferiore: 15px; font-weight: grassetto; font-size: 16px;} input [type = submit]: hover, input [type = reset]: hover {background: linear-gradient (# 045066 5%, # 058eb5 100%); } .message {bordo: 1px solido; margine: 10px 0px; imbottitura: 15px 10px 15px 10px; background-repeat: no-repeat; posizione di sfondo: centro 10px; allineamento del testo: centro; colore: # 4F8A10; larghezza: 100%; colore di sfondo: # DFF2BF; }
Ho aggiunto la proprietà richiesta a ciascun campo, questo attributo obbligatorio è un attributo booleano che indica se il campo è obbligatorio o meno, vero o falso.
Quando presente, specifica che tale campo di input non può essere vuoto e deve essere compilato prima dell'invio del modulo. L'attributo richiesto funziona con i seguenti tipi di input html5: testo, e-mail, password, caselle di controllo, radio e file.

Completando i dati del primo modulo inviamo per posta al secondo modulo chiamato form2.php il cui codice è il seguente.

 $ valore) {$ _SESSION ['sesionform1'] [$ chiave] = $ valore; }?> var13 -> PHP Multiple form

Modulo 2

Livello di istruzione: ---- Seleziona ---- Technical University Altro Posizione applicabile: * ---- Seleziona ---- Amministratore del server Programmatore Progettista Esperienza lavorativa: * ---- Seleziona ---- Nessuno

Successivamente invieremo a un modulo in cui salveremo i dati, per questo tutorial mostreremo i dati delle sessioni precedenti, solo per vedere quali dati ha inviato ciascun modulo.

 $ valore) {$ _SESSION ['sesionform2'] [$ chiave] = $ valore; } buttato fuori 'Dati Form1'; $sessionform1 = $ _ SESSION ['sesionform1']; buttato fuori'
'; print_r ($ modulo di sessione1); buttato fuori'
'; buttato fuori'Dati Form2'; $sessionform2 = $ _ SESSION ['sesionform2']; buttato fuori'
'; print_r ($ modulo di sessione2); buttato fuori'
'; estratto ($ _ SESSION ['sesionform1']); $ connessione = mysql_connect ("localhost", "root", ""); $ db = mysql_select_db ("azienda", $ connessione); $ sql = "inserisci nei clienti (nome, email, indirizzo, telefono, cellulare, istruzione, posizione, esperienza, descrizione)"; $ sql. = "values ​​​​('$ name', '$ email', '$ address',' $ phone ',' $ mobile ',' $ education ',' $ position ',' $ experience ',' $ descrizione ') "; $ query = mysql_query ($ sql, $ connessione); ?> var13 -> PHP Multiple form<? if ($ query) {echo '

Hai terminato il processo e salvato i dati

'; } altrimenti {eco '

I dati non sono stati salvati

'; } unset ($ _ SESSION ['sesionform1']); unset ($ _ SESSION ['sesionform2']); ?> var13 ->

Quindi possiamo aggiungere la quantità di moduli di cui abbiamo bisogno e in ogni modulo salveremo i dati in una sessione e quindi salveremo tutte le sessioni in un database, ma non consente nemmeno di tornare a un modulo precedente poiché conoscendo il numero del passaggio o modulo Saremo in grado di sapere quale sessione contiene i dati di quel modulo e ripristinare i dati.

Questo modo di creare a Il modulo multipagina ci consente di organizzare meglio le informazioni quando abbiamo bisogno di raccogliere molti dati

I moduli multipli fanno parte praticamente di qualsiasi applicazione web oggi. Nei grandi siti web con grandi volumi di dati, sono il metodo principale per ricevere informazioni dagli utenti che utilizzano l'applicazione. A seconda della sequenza che dobbiamo implementare lato client per la logica dell'applicazione non dobbiamo superarci con non più di 10 campi ma l'utente si stanca e lo abbandona, lo script deve anche avere incorporata tutta la sicurezza necessaria poiché siamo utilizzando sessioni e i dati potrebbero essere intercettati.

Il metodo corretto da usare per evitare problemi di sicurezza è incapsulare l'elaborazione dei dati sul lato server utilizzando pHp.

Ti è piaciuto e hai aiutato questo Tutorial?Puoi premiare l'autore premendo questo pulsante per dargli un punto positivo

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave