Írásban regisztrált php és javascript - 1. rész php, web-fejlesztés blog
Nyilatkozat a problémát
Kötelező mezők:
edzés
Kezdeni, megteremteni a szükséges hierarchiáját mappákat és fájlokat. Meg kell kinéznie:
Most fogunk dolgozni kizárólag a regisztrációs mappát. Belül van egy alkönyvtár: sablon, melyik lesz az összes fájl, amely felelős a megjelenése regisztrációs modul (html sablonok, css fájlokat és különböző kép). Ebben a mappában hozzon létre egy fájlt registration.php. Ez tartalmazza majd a regisztrációs űrlapot is. Röviden, ez a következőképpen néz ki:
A teljes forma jut el a módszer POST. szükségességét a biztonságos adatátvitelt. benyújtja a gombnak name = „GO”, ahol fogunk elkapni a felhasználói adatokat küldeni. Ez a fájl is bemutatunk néhány php-kódot. De erről bővebben később.
A regisztrációs könyvtár a root index.php fájlt. amely indul a bejáratnál, hogy a regisztrációs oldalon. Ő a vezérlő, amely kezeli a felhasználó intézkedéseket és arról, hogy hogyan fog megjelenni az oldal (ez a fájl csatlakozik sablon könyvtárban: sablon, attól függően, különböző helyzetekben). Az érzés, egy ilyen elválasztás festett részletesen a cikket MVC. Most érdemes megjegyezni, hogy az index.php nem lehet kimenet, vagyis a kód nem lehet egyetlen sor html-kódot, és a kezelő által nem echo vagy nyomtatásban.
Minden adatot a regisztrált felhasználók fogjuk tárolni egy MySQL adatbázis. Ehhez létre kell hoznunk, például phpMyAdmin adatbázis (DB), majd az asztalon a szükséges mezőket. Ebben a cikkben, például fogom használni az adatbázis neve a következő: db_name. Tábla neve - felhasználók. Ezután adjuk hozzá a következő területeken: Táblázat:
Az egyszerűség kedvéért a jövőben a munka hoz létre a webhely gyökérkönyvtárába lib. amelyek azt a 2 fájlt: connect.php és function_global.php. Később abban a mappában lesz tárolva könyvtár különböző funkciókat.
Az első fájl kell kapcsolni nagyon gyakran a jövőben (ő a felelős az adatbázishoz csatlakozáshoz), és a második fogják tárolni a gyakran használt funkciók az oldalon.
Ha a táblázat és a hierarchiában fájlok jönnek létre, akkor kezdjük el írni nagyon funkcionális.
végrehajtás
Fájl kód connect.php:
Ezeket a sorokat, akkor ellenőrizze, hogy az adott felhasználó változó $ _SESSION [ 'id'], $ _COOKIE [ 'login'] és $ _COOKIE [ 'password']. Ha ezek a változók, akkor az átirányítás a honlapon:
Ha ilyen adat nem létezik, akkor megyünk tovább, ha az ellenőrzés gombot egy name = „go” lett nyomva. Ha így van, ellenőrizze az adatokat, és ha minden rendben van, írd az adatbázisba. Vagy csatlakozzon a minta a következő formában:
Maxim. osztva panpkam csak a kényelem, a fejlesztési projekt fájlok lesznek gorvzdo bolshne.
Az első oldalon a honlap még mindig kell a felvételt, és néhány információ
Regisztráció nem lesz az első modul, amely úgy látja, jelentette segítségével a hazai, de lesz az első, aki egy modult.
„Az a tény, hogy a mellékelt fájl tartalmazza («template / registration.php»); van egy feltétele, hogy a $ regged == true megjeleníti a szöveget, hogy a regisztráció sikeres volt, és nem hozza ki a regisztrációs űrlapot. "
A kérdés: Biztos, hogy a fájl van szem előtt? Mert ezt a fájlt, és egy csipetnyi ez a feltétel nem. Ennek eredményeként már: kattintás után a regisztrációs gombra, akkor ostobán dob egy oldalt egy ajánlatot, hogy csatlakozzon ...
Egy és ugyanaz a fájl neve a szövegben különböző módokon (ha jól értem, nem olvassa el figyelmesen mb) ha úgy gondolja, hogy mappahierarchiában function_global.php, ha úgy gondolja, hogy a kód modul_global.php
véleményem, akkor a cikk nem teljesen írva, vagy siet, vagy csak „szerzett» 🙂 logikai gondolta szünetek és nem fejezte be 🙂 Tegyük fel, hogy mi vezetett be egy változó, amely felelős a visszavonás a regisztrációs űrlapot, és akkor mi van? azaz hol? Nos 🙂 hozta nekünk a végén, hogy a regisztráció sikeres volt, és akkor mi van? 🙂 nem logikus :)))
adat-ellenőrzési funkció nem működik teszt kód, már van egy felhasználó az adatbázisban. Ez a felhasználó még nem vett számít, hogy milyen
$ Login = $ _POST [ 'login'];
$ Rez = mysql_query ( «SELECT * FROM felhasználók WHERE login = $ login»);
if (! @mysql_num_rows ($ rez) = 0) return false;
És ha eltávolítja a kutya, akkor a hiba jelenik meg. rossz a helyzet ..
Helyes, hogy erre
$ Rez = mysql_query ( «SELECT id FROM WHERE felhasználók login = $ belépés vagy mail = '$ mail'»);
if ($ rez mysql_num_rows ($ rez)> 0) return false;
login = $ bejelentkezés kijavítani login = '$ login'
Roman. ez korántsem elég. Arra is szükség van, hogy megvédje a változó bejelentkezési funkciót mysql_real_escape_string.
Önmagában ez kell szűrni minden érkező adatokat a felhasználó, akár a képzés script 🙂 Akkor nézd meg, mi van írva az emberek, akik megtanulják, hogy szeretem ezeket a példákat, és elszörnyedve)))
Ha beszélünk szűrés, a kódrészletet teljesen hasonló módon nézne
$ Mail rögtön adunk magát logikai ellenőrzés és szappannal történő regisztráció
Így mentünk 🙂 pajzs a távolítsa el a szóközöket a kezdete és a sor végére és vágott címkék
$ Login = mysql_real_escape_string (trim (strip_tags ($ _POST [ 'login'])));
$ Mail = mysql_real_escape_string (trim (strip_tags ($ _POST [ 'mail'])));
$ Rez = mysql_query ( «SELECT id FROM WHERE felhasználók login = '$ login' OR mail = '$ mail'»);
if ($ rez mysql_num_rows ($ rez)> 0) return false;
Roman, köszönöm a kimerítő választ egy újszülött =)