Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> PHP /MySQL Programmazione >> .

Come collegare due forme tramite PHP

Moduli su Internet spesso richiedono alle persone di entrare in un sacco di informazioni . Per motivi di chiarezza e di apparenza , a volte è utile per rompere le forme in più pagine. Il linguaggio di programmazione PHP : Hypertext Preprocessor , meglio conosciuto semplicemente come PHP , fornisce una serie di modi per farlo . Sessioni , per esempio, sono il modo più semplice per lo sviluppatore , ma fanno forme inutilizzabile da persone che hanno i cookie disattivati ​​. Anche se un po 'più difficile da attuare , i campi di form nascosti forniscono un modo sicuro per passare i dati da una forma all'altra. Istruzioni
1

In un editor di testo che non utilizza il formato RTF , aprire il file che contiene il codice HTML per il primo modulo . Nel tag di apertura , impostare l' attributo di azione per il nome del file che contiene la seconda forma . Impostare l'attributo metodo di " postare ". Ad esempio , digitare quanto segue :


2

Completa il resto del prima forma come di consueto . Quando si invia il modulo , il server relay tutti i dati dagli elementi di input per il secondo modulo .
3

Aprire il file contenente il secondo modulo nell'editor di testo . Creare una coppia di tag PHP nella parte superiore della pagina . All'interno dei tag , scrivere una funzione per convalidare i dati contenuti nella matrice superglobale "$ _POST ". I dettagli specifici della funzione dipendono dalla particolare applicazione .
4

convalidare i dati e assegnare ogni valore che non è un array a una nuova serie di dati puliti . Nella nuova matrice , rendere le chiavi uguali alle chiavi in ​​$ _POST . Ad esempio, se uno degli elementi del modulo è stato un campo di testo chiamato " nome", assegnare i dati validati come segue :

$ clean_data [ 'name' ] = $ _POST [ 'name' ] ;//Tenere le chiavi dell'array stesso .
5

Con la funzione " serializzare " , serializzare qualsiasi oggetto in $ _POST che è esso stesso un array. Codifica caratteri speciali con la funzione " htmlentities " , e assegnarlo alla matrice di dati puliti . Ad esempio , digitare quanto segue :

$ serializzato = serializzare ( $ _POST [' favorite_movies '] ) ;//" favorite_movies " è un array

$ serializzato = htmlentities ( $ serializzato ) . ;//codificare i caratteri

$ clean_data [' favorite_movies '] = $ serializzato ; .
6

Creare un cancelletto di sicurezza per verificare l'integrità dei dati serializzati , utilizzando il " md5 "Funzione e una stringa segreta che nessuno può immaginare . Gli hacker potrebbero essere in grado di passare codice maligno attraverso il modulo se non si prendono questa precauzione . Ad esempio , digitare quanto segue :

$ hash = md5 ( " Your- super- segreto - stringa " $ serializzato . ) ;
7

Creare un nuovo set di tag PHP all'interno i tag form della seconda forma . All'interno dei tag , scorrere la matrice di dati puliti , creando un elemento di modulo nascosto per ogni elemento dell'array . Creare elementi di forma nascosta per tutti gli hash pure. Un modo conveniente per farlo è quello di utilizzare un modello , come nel seguente esempio : ?

//Il template :

$ tag_template = ' < , input type = nome " nascosto" = valore " % name % " = " % value% " /> ' " \\ n";

//Inizio ciclo : .

foreach ( $ clean_data da $ name = > $ valore ) {

$ search = array ( '% name% ', ' % value%' ) ;//array dei segnaposti .

$ replace = array ( $ nome, $ valore ) ;//array di dati effettivi per la sostituzione di segnaposto .

echo str_replace ( $ search , $ sostituire , $ tag_template ) ;//Visualizza i tag form .

}

//Visualizza l'elemento di modulo nascosto per l'hash :

echo ' < input type = nome " nascosto" = valore " movies_hash " = "' $ . . hash ' "/>' . " \\ n " ;

>
8

Aprire il file dello script che elabora i dati del modulo ? . Questo script permette di convalidare ed elaborare i dati , proprio come qualsiasi altro script di elaborazione forma , tranne i dati serializzati deve essere controllato e deserializzato . Creare un nuovo hash con i dati ricevuti , e assicurarsi che corrisponda l'hash in $ _POST . Se corrisponde , unserialize la stringa con la funzione " html_entity_decode " e la funzione " unserialize " . Ad esempio , digitare quanto segue :

$ new_hash = md5 ( " Your- super- segreto - stringa " $ _POST [ ' favorite_movies '] . ) ;

If ( $ new_hash == $ _POST [' movies_hash '] ) { $

decodificato = html_entity_decode ( $ _POST [ ' favorite_movies '] ) ;

$ movies_array = unserialize ( $ decodificato ) ;

}

 

Programmazione © www.354353.com