April 12
Creazione di un sito web directory utente con PHP comporta l'interconnessione di tre lingue: XHTML, MySQL e PHP. Questo tutorial vi mostrerà come creare una pagina di login, convalidare il modulo di iscrizione, creare un database e tabella per memorizzare i nomi utente e le password, la connessione al database e confrontare i dati memorizzati nel database ei dati inseriti nel form di login . Se le voci corrispondono, l'utente avrà accesso alla pagina directory di un membro protetto da uno script di autenticazione.
Digitare quanto segue nel vostro editor di testo per creare la pagina Web standard XHTML, e salvarlo come login.php:
<! DOCTYPE HTML PUBLIC "- // W3C // DTD XHTML 1.0 Transitional // EN"
"Http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<Html xmlns = "http://www.w3.org/1999/xhtml" xml: lang = "it" lang = "it">
<Head>
<Title> </ title>
</ Head>
<Body>
</ Body>
</ Html>
2
Digitare il seguente codice per la tabella che conterrà il modulo di accesso tra l'inizio tag <body> e il finale </ body> tag:
<Table border = "1">
<Tr>
<Td> <b> Nome utente: </ b> </ td>
<Td> </ td>
</ Tr>
<Tr>
<Td> <b> Password: </ b> </ td>
<Td> </ td>
</ Tr>
<Tr>
<Td colspan = "2"> </ td>
</ Tr>
</ Table>
Questa è una tabella con due righe e due colonne. Il vuoto "<td> </ td>" tag conterrà le caselle di testo per il nome utente e la password dell'utente finale. La riga in basso conterrà il pulsante di invio.
3
Digitare l'inizio tag <form>, come indicato tra l'inizio tag <body> e l'inizio tag <table>:
<Form action = "<? Php $ _SERVER [ 'PHP_SELF'];?>" Method = "post">
Impostare l ' "azione" attributo uguale al superglobale "SERVER", variabile che ha il valore di "PHP_SELF", il che significa che le istruzioni che tratteranno questo modulo si trovano in questo stesso documento. L'attributo "metodo" è impostato su "post" in modo che l'utente finale non vede tutti i dettagli del trasferimento dati tra il browser e il server.
4
Digitare il seguente tra i tag "di dati tabella" che seguono "Nome utente":
<Input type = "text" name = "username" size = "60" />
5
Digitare il seguente tra i tag "di dati tabella" che seguono "Password":
<Input type = "text" name = "password" size = "60" />
6
Digitare il seguente codice tra i tag "di dati da tavolo" che si trova tra la terza coppia di "<tr> </ tr>" tag con l'attributo "colspan =" 2 "":
<Input type = "submit" name = "submit" value = "Login" />
7
Completa il modulo digitando il termine </ form> tag tra la fine </ table> tag e la fine </ body> tag:
</ Form>
8
Digitare l'inizio e tag che finiscono per PHP, sopra l'intestazione DOCTYPE, come illustrato:
<? Php
?>
9
Digitare il seguente tra l'inizio e la fine tag per PHP:
if (isset ($ _ POST [ 'submit'])) {
}
Il "se" controlli istruzione per vedere se l'utente finale fa clic sul pulsante di invio utilizzando il "isset) (" la funzione. Se l'utente ha fatto clic sul pulsante di invio, quindi il server seguire le istruzioni che si trovano tra le parentesi graffe {}. Se il pulsante di invio non è stato cliccato, allora sarà visualizzare la pagina.
10
Digitare il seguente codice all'interno delle parentesi graffe del "se" dichiarazione di cui sopra, per verificare se la casella di testo "nome utente" è vuota:
if (empty ($ _ POST [ 'username'])) {
} altro {
}
11
Se il campo è vuoto, impostare il "$ username" variabile "FALSE" e visualizza un messaggio di errore:
$ Username = FALSE;
echo "<p> <font color = 'red'> Inserisci il tuo nome utente </ font> </ p>!";
Digita il codice tra la prima coppia di parentesi graffe trovato nel passaggio 3.
12
Se il campo non è vuoto, impostare la variabile "$ username" a "$ _POST [ 'username']", come indicato:
$ Username = $ _POST [ 'username'];
13
Ripetere il processo con una password, come illustrato:
if (empty ($ _ POST [ 'password'])) {
$ Password = FALSE;
echo "<p> <font color = 'red'> Si prega di inserire la password </ font> </ p>!";
} altro {
$ Password = $ _POST [ 'password'];
}
14
Digitare il seguente "if / else" dichiarazione per assicurarsi che il nome utente e password campi sono stati compilati correttamente:
if ($ username! = FALSE && $ Password = FALSE) {
} altro {
}
15
Se il nome e la password campi utente sono stati compilati correttamente, dichiarazione conferma problema:
echo "<p> <font color = 'marina'> <b> Hai effettuato correttamente in </ b> </ font> </ p>!";
Tipo questa dichiarazione tra la prima coppia di parentesi graffe al punto 7.
16
Se il nome utente e password campi non sono stati compilati correttamente, emetterà un messaggio di errore tra la seconda coppia di parentesi graffe in Passo 7:
echo "<p> <font color = 'red'> <b> Non si poteva effettuare l'accesso in questo momento Vedi sopra errore (s) </ b> </ font> </ p>..";
17 Creare un nuovo database sul server attraverso il pannello di controllo del proprio fornitore. Se si utilizza cPanel, cliccare sull'icona "database MySQL". Chiamare questo database "membri".
18 Assegnare il nome utente e la password per il database "membri" e concedere all'utente "tutti i privilegi." Se non si dispone di cPanel, quindi concedere i seguenti privilegi:
SelectInsertUpdateDeleteIndexCreate temporanea TablesCreateAlterDropLock TablesReferencesCreate Routine
19 Creare una nuova tabella nel database "membri" chiamato "admin" con tre campi (colonne).
20 Eseguire la seguente:
Colonna una, il nome "user_id", tipo è "INT", Extra = "auto_increment", impostarlo come "Chiave primaria" Colonna Due, il nome "username", tipo è "TEXT" Colonna Tre, nome "password", tipo è anche "TEXT" Imposta il motore di memorizzazione di MyISAM e salvare la tabella.
21 Utilizzare questo il codice completo per creare la tabella, se non si dispone di PhpMyAdmin:
CREATE TABLE members
. admin
(
user_id
INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
username
TESTO NOT NULL,
password
TESTO NOT NULL
) ENGINE = MYISAM
22 Digitare il seguente codice per inserire il nome utente e la password nella tabella "admin". Sostituire le informazioni di login attuale in cui si trovano le lettere maiuscole "username" e "password:
INSERT INTO members
. admin
(
user_id
,
username
,
password
)
VALORI (
NULL, 'username', 'Password'
);
Digitare il seguente codice nella parte superiore del documento, dopo il tag che inizia per PHP. Connettersi al server remoto e accedere al database "membri", come illustrato:
$ Dbh = mysql_connect ( "SERVER", "username", "password") or die (. 'Non è possibile connettersi al database perché:' mysql_error ());
mysql_select_db ( "membri");
Sostituire le lettere maiuscole con le parole appropriate dal server. "NOMESERVER" è spesso chiamato "localhost".
24
Digitare il seguente sopra la conferma che recita:
echo "<p> <font color = 'marina'> <b> Hai effettuato correttamente in </ b> </ font> </ p>!" ;, come mostrato:
$ Query = "SELECT user_id di admin dove username = '$ username' e Password = '$ password'";
$ Risultato = @mysql_query ($ query);
$ Row = mysql_fetch_array ($ result, MYSQL_NUM);
if ($row) {
} else {
}
Spiegazione: Assegnare il MySQL "SELECT" dichiarazione alla variabile chiamata "$ query", selezionando l'opzione "user_id" dalla tabella "admin" in cui le colonne "username" e "password" Equal i valori delle variabili "$ username" e "$ password". Assegnare la variabile "$ query" come parametro della "mysql_query ()" la funzione e impostarla uguale ad una nuova variabile chiamata "$ risultato". Aggiungere il "risultato $" variabile come parametro per il "mysql_fetch_array ()" la funzione, insieme al "MYSQL_NUM" parametro e impostarlo uguale ad una nuova variabile chiamata "$ riga". Creazione di un "if / else" dichiarazione per determinare se la query ha funzionato o no controllando la variabile "$ riga".
25
Se la query ha funzionato correttamente, impostare il valore della variabile superglobale "$ _SESSION" e il suo parametro "user_id" alla variabile "$ riga" valore iniziale, che si chiama "0" come illustrato:
$ _SESSION [ 'User_id'] = $ row [0];
Aggiungere un collegamento alla directory utente protetta da password, come illustrato:
echo "Vai a Stati direttore pagine <a href='mem_directory.php'> qui </a>.";
La variabile superglobale "$ _SESSION" conserva qualsiasi valore che viene assegnato a tra un qualsiasi numero di pagine che hanno la "session_start ()" la funzione elencati nella parte superiore, permettendo all'utente che ha effettuato l'accesso a accesso protetto pagine senza dover accedere in ognuno.
26
Digitare il seguente codice tra parentesi graffe del "altro", nel caso in cui il tentativo di accesso non è riuscito:
echo "<p> <font color = 'red'> Accesso tentativo è fallito, riprova </ font> </ p>!";
27
Chiudere la connessione al database con la funzione "mysql_close ()". Digitare la funzione dopo il codice nel passaggio 4:
mysql_close ();
28
Creare una nuova pagina chiamata "mem_directory.php" con il seguente codice:
<! DOCTYPE HTML PUBLIC "- // W3C // DTD XHTML 1.0 Transitional // EN"
"Http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<Html xmlns = "http://www.w3.org/1999/xhtml" xml: lang = "it" lang = "it">
<Head>
<Title> </ title>
</ Head>
<Body>
</ Body>
</ Html>
29
Digitare all'inizio e alla fine tag PHP sopra la dichiarazione DOCTYPE:
<? Php
?>
30
Digitare il "session_start ()" la funzione dopo l'inizio tag "<? Php?":
session_start ();
31
Digitare la seguente dichiarazione di convalida per controllare per vedere se è stata impostata la variabile "$ _SESSION" (o se la persona ha effettuato l'accesso):
if (isset ($ _ SESSION [ 'user_id'])) {
} altro {
}
La dichiarazione si legge: se il "$ _SESSION" "user_id" di variabile non è stata impostata, seguire queste istruzioni, in caso contrario, seguire queste istruzioni.
32
Se la sessione non è stata impostata, li reindirizza alla pagina di login con la funzione "header ()":
header ( "Location: http://www.yoursite.com/login.php");
Uscita();
33
Se l'utente è connesso e viene impostata la variabile di sessione, quindi accogliere il membro nella directory del membro:
echo "Benvenuto nel Elenco utenti!";
34 Digitare la seguente per collegare ogni pagina alla pagina di logout:
<a href="logout.php"> Log Out </a>
Aggiungi questo link su pagine di tutti i membri.
35 Crea il Logout pagina e salvarlo come logout.php:
<! DOCTYPE HTML PUBLIC "- // W3C // DTD XHTML 1.0 Transitional // EN"
"Http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<Html xmlns = "http://www.w3.org/1999/xhtml" xml: lang = "it" lang = "it">
<Head>
<Title> </ title>
</ Head>
<Body>
</ Body>
</ Html>
36 Aggiungere una coppia di PHP di apertura e chiusura tag nella parte superiore del documento:
<? Php
?>
37 Digitare il seguente tra i tag PHP di distruggere la sessione:
session_start ();
session_destroy ();
38 Digitare quanto segue per consentire all'utente di sapere che hanno registrato dal sistema:
<H2> Si sono ormai disconnesso. </ H2>
Clicca <a href="login.php"> qui </a> per accedere nuovamente.