Hvordan lage en medlemsstat Directory Nettstedet på PHP Scripting
Opprette et medlem katalog nettsted med PHP innebærer sammenhengende tre språk: XHTML, MySQL og PHP. Denne veiledningen vil vise deg hvordan du oppretter en login skjema side, validere form oppføring, opprette en database og tabell for å lagre brukernavn og passord, koble til databasen og sammenligne data som er lagret i databasen og dataene legges inn i innloggingsskjemaet . Hvis oppføringene stemmer overens, vil brukeren få tilgang til et medlem katalog side beskyttet av en godkjennings script.
Bruksanvisning
påloggings~~POS=TRUNC
Skriv inn følgende i en teksteditor for å opprette standard XHTML websiden, og lagre det som 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 = "no" lang = "no">
<Head>
<Title> </ title>
</ Head>
<Body>
</ Body>
</ Html>
2
Skriv inn følgende kode for tabellen som skal inneholde innloggingsskjemaet mellom begynnelsen <body> -taggen og slutter </ body> -koden:
<Table border = "1">
<Tr>
<Td> <b> Brukernavn: </ b> </ td>
<Td> </ td>
</ Tr>
<Tr>
<Td> <b> Passord: </ b> </ td>
<Td> </ td>
</ Tr>
<Tr>
<Td colspan = "2"> </ td>
</ Tr>
</ Table>
Dette er et bord med to rekker og to kolonner. Den tomme "<td> </ td>" kodene vil inneholde tekstboksene for sluttbrukerens brukernavn og passord. Raden på bunnen vil inneholde på send-knappen.
3
Skriv begynnelsen <form> -taggen, som vist mellom begynnelsen <body> -taggen og begynnelsen <table> tag:
<Form action = "<? Php $ _SERVER [ 'PHP_SELF'];?>" Method = "post">
Sett attributten "handling" lik superglobal variable "server", som har verdien av "PHP_SELF", som betyr at de instruksjoner som vil behandle denne formen er funnet i samme dokument. Den "metoden" attributt er satt til "post", slik at sluttbrukeren ikke ser alle detaljene i dataoverføring mellom nettleseren og serveren.
4
Skriv inn følgende mellom "table data" tags som følger "brukernavn":
<Input type = "text" name = "brukernavn" size = "60" />
5
Skriv inn følgende mellom "table data" tags som følger "Passord":
<Input type = "text" name = "passord" size = "60" />
6
Skriv inn følgende kode mellom "table data" tagger funnet mellom det tredje paret av "<tr> </ tr>" tagger med attributtet "colspan =" 2 "":
<Input type = "submit" name = "submit" value = "Logg inn" />
7
Fyll ut skjemaet ved å skrive slutten </ form> tag mellom slutten </ table> -taggen og slutten </ body> -koden:
</ Form>
Validere Form
8
Skriv inn start- og sluttkoder for PHP, over DOCTYPE header, som vist:
<? Php
?>
9
Skriv inn følgende mellom begynnelsen og slutten koder for PHP:
if (isset ($ _ POST [ 'submit'])) {
}
"Hvis" statement sjekker for å se om sluttbrukeren klikket på send-knappen ved å bruke "isset ()" -funksjon. Hvis brukeren gjorde klikk på send-knappen, så serveren vil følge de instrukser som er mellom krøllparenteser {}. Hvis send-knappen ikke ble klikket, så vil det vise siden.
10
Skriv inn følgende kode i klammeparentes av "hvis" statement ovenfor, for å sjekke for å se om "brukernavn" tekstboksen er tom:
if (tom ($ _ POST [ 'brukernavn'])) {
} Else {
}
11
Hvis feltet er tomt, sett "$ brukernavn" variabelen til "false" og vise en feilmelding:
$ Username = false;
echo "<p> <font color = 'red'> Skriv inn brukernavn </ font> </ p>";
Skriv inn denne koden mellom det første paret av klammeparentes funnet i trinn 3.
12
Hvis feltet ikke er tomt, sett variabelen "$ username" til "$ _POST [ 'brukernavn']", som vist:
$ Username = $ _POST [ 'brukernavn'];
1. 3
Gjenta prosessen med passord, som vist:
if (tom ($ _ POST [ 'passord'])) {
$ Password = false;
echo "<p> <font color = 'red'> Vennligst skriv inn passordet ditt </ font> </ p>";
} Else {
$ Password = $ _POST [ 'passord'];
}
14
Skriv inn følgende "hvis / else" statement å sørge for at brukernavn og passord feltene ble fylt ut riktig:
if ($ username! = USANN && $ passord! = FALSE) {
} Else {
}
15
Hvis brukernavnet og passord feltene ble fylt ut riktig, problemet bekreftelse uttalelse:
echo "<p> <font color =" navy "> <b> Du har nå logget inn </ b> </ font> </ p>";
Skriv dette utsagnet mellom det første paret av klammeparentes i trinn 7.
16
Dersom brukernavn og passord feltene ikke var fylt ut riktig, utstede en feilmelding mellom det andre paret av klammeparentes i Trinn 7:
echo "<p> <font color = 'red'> <b> Du kan ikke logge inn på dette tidspunktet Se ovenfor error (s) </ b> </ font> </ p>..";
Bygg MySQL tabell
17 Opprett en ny database på serveren din via din leverandør kontrollpanel. Hvis du bruker CPanel, klikk på "MySQL Databaser" -ikonet. Ring denne databasen "medlemmer".
18 Gi ditt brukernavn og passord til "medlemmer" database og gi brukeren "Alle privilegier." Hvis du ikke har CPanel, deretter gi følgende privilegier:
SelectInsertUpdateDeleteIndexCreate Midlertidig TablesCreateAlterDropLock TablesReferencesCreate Rutine
19 Opprett et nytt bord i "medlemmer" database kalt "admin" med tre felt (kolonner).
20 Utfør følgende:
Kolonne en, navnet "user_id", er type "INT", Extra = "AUTO_INCREMENT", sett den som "Primary Key" kolonne to, navnet "brukernavn", type er "TEKST" kolonne tre, navnet "passord", er type også "TEKST" Angi lagringsmotoren til MyISAM og lagre tabellen.
21 Bruk dette hele koden for å lage bordet hvis du ikke har phpmyadmin:
CREATE TABLE members
. admin
(
user_id
INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
username
TEKST NOT NULL,
password
TEKST NOT NULL
) MOTOR = MyISAM
22 Skriv inn følgende kode for å sette inn ditt brukernavn og passord i "admin" tabellen. Bytt ut selve påloggingsinformasjonen hvor de store bokstavene "brukernavn" og "passord er plassert:
INSERT INTO members
. admin
(
user_id
,
username
,
password
)
VERDIER (
NULL, 'BRUKERNAVN "," passord "
);
Pålogging Bekreftelse og Sessions
Skriv inn følgende kode på toppen av dokumentet, etter begynnelsen tag for PHP. Koble til den eksterne serveren og få tilgang til "medlemmer" database som vist:
$ DBH = mysql_connect ( "SERVER", "BRUKERNAVN", "passord") or die ( ". Jeg kan ikke koble til databasen fordi: 'mysql_error ());
mysql_select_db ( "medlemmer");
Bytt ut de store bokstavene med de riktige ordene fra serveren din. "SERVER" blir ofte kalt "localhost".
24
Skriv inn følgende ovenfor bekreftelsen som lyder:
echo "<p> <font color =" navy "> <b> Du har nå logget inn </ b> </ font> </ p>" ;, som vist:
$ Query = "SELECT user_id Fra admin WHERE username = '$ username' AND password = '$ passord'";
$ Resultat = @mysql_query ($ query);
$ Rad = mysql_fetch_array ($ resultat, MYSQL_NUM);
if ($row) {
} else {
}
Forklaring: Tilordne MySQL "SELECT" statement til variabelen som heter "$ query", velge "user_id" fra "admin" bord der kolonnene "brukernavn" og "passord" lik verdiene av variablene "$ brukernavn" og "$ passord." Tildel variabelen "$ spørring" som en parameter av "mysql_query ()» funksjon og sette den lik en ny variabel kalt "$ resultat." Legg variabelen "$ resultat" som en parameter til "mysql_fetch_array ()" -funksjonen, sammen med parameteren "MYSQL_NUM" og stiller lik en ny variabel kalt "$ rad." Lag en "hvis / else" statement å avgjøre om søket jobbet eller ikke ved å sjekke variabelen "$ rad."
25
Hvis spørringen arbeidet riktig, sett verdien av superglobal variabelen "$ _SESSION" og dens parameter "user_id" til variabelen "$ row" opprinnelige verdien, som kalles "0" som vist:
$ _SESSION [ 'User_id'] = $ rad [0];
Legg en link til passordbeskyttede medlem katalog, som vist:
echo "Gå til medlems direktør Sider <a href='mem_directory.php'> her betaler.";
Den superglobal variabelen "$ _SESSION" beholder uansett verdi at den er knyttet til blant en rekke sider som har "session_start ()" -funksjonen oppført øverst, slik at brukeren som logget inn for å få tilgang beskyttede sider uten å måtte logge inn på hver og en.
26
Skriv inn følgende kode mellom "andres" klammeparentes, i tilfelle påloggingsforsøk har mislyktes:
echo "<p> <font color = 'red'> påloggingsforsøk har mislyktes, vennligst prøv igjen </ font> </ p>";
27
Lukke forbindelsen til databasen med "mysql_close ()" -funksjon. Skriv inn funksjon etter koden i trinn 4:
mysql_close ();
Autentisering
28
Opprett en ny side som heter "mem_directory.php" med følgende kode:
<! 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 = "no" lang = "no">
<Head>
<Title> </ title>
</ Head>
<Body>
</ Body>
</ Html>
29
Skriv inn start- og slutt PHP koder over DOCTYPE uttalelse:
<? Php
?>
30
Skriv inn "session_start ()" -funksjonen etter begynnelsen "<? Php?" Tag:
session_start ();
31
Skriv inn følgende validering uttalelse til sjekk for å se om "$ _SESSION" variablen er satt (eller hvis personen har logget inn):
if (! isset ($ _ SESSION [ 'user_id'])) {
} Else {
}
Uttalelsen lyder: Hvis «$ _SESSION" variabel "user_id" ikke er satt, følger du disse instruksjonene, ellers følge disse instruksjonene.
32
Hvis økten ikke er satt, omdirigere dem til påloggingssiden med "header ()" funksjon:
header ( "Location: http://www.yoursite.com/login.php");
exit();
33
Hvis brukeren er logget på, og økten variabelen er satt, så velkommen medlemmet til medlems sin katalog:
echo "Velkommen til medlems katalogen!";
Logg ut
34 Skriv inn følgende for å koble hver side for å utloggingssiden:
<a href="logout.php"> Logg Ut </a>
Legg til denne linken til alle Medlemssider.
35 Lag Logg ut siden og lagre det som 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 = "no" lang = "no">
<Head>
<Title> </ title>
</ Head>
<Body>
</ Body>
</ Html>
36 Legg et par PHP åpning og lukking koder på toppen av dokumentet:
<? Php
?>
37 Skriv inn følgende mellom PHP koder for å ødelegge økten:
session_start ();
session_destroy ();
38 Skriv inn følgende for å la brukeren vite at de har logget ut av systemet:
<H2> Du har nå logget ut. </ H2>
Klikk <a href="login.php"> her </a> for å logge inn på nytt.
Hint
- Kopier PHP-skript på toppen av mem_directory.php og lim den inn på en side som er en del av medlems-katalogen for å begrense tilgangen til innholdet.