128 Kezdőlap - Webszerkesztés - MySQL - Regisztráció
ujdomainek.hu

Regisztráció

megvalósítása

Jegyzet

Ha már tudunk adatbázistáblából saját oldalunkon adatokat megjeleníteni - mint ahogyan a Megyéink című mintapéldában tettük -, illetve megértettük, hogyan kell egy keresőfunkciót kialakítani - amire a Települések című oldal mutat példát -, akkor előbb-utóbb szükségünk lesz arra is, hogy új adatokat tudjunk felvenni az adatbázisba.

Új adatok felvételére számtalan szituációban szükség lehet. Nem is kell ehhez semmi extrább helyzetre gondolni, mint hogy pl. regisztráció lehetőségét szeretnénk biztosítani weboldalunkon. Hiszen erre minden olyan oldal esetén szükség van, aminek a tartalmához a felhasználók is hozzájárul(hat)nak. A folytatásban ennek egy módját tekintjük át.

Mi szükséges tehát ahhoz, hogy egy regisztrációt meg tudjunk valósítani?
1.   Megfelelően kialakított adatbázistábla.
2.   Regisztrációs felület, vagyis űrlap, ahol a felhasználó megadhatja az adatait.
3.   Feldolgozó program, mely az űrlap adatait ellenőrzi, majd az adatokat adatbázisba írja.
Tekintsük át őket sorban.

1.   Adatbázistábla

Az elmentendő adatok között - szinte az adott weboldal jellegétől függetlenül - az alábbiaknak érdemes helyet biztosítani a (pl. user nevű) táblában:
	uid		N 11	user azonosító
	ustr		C 10	alternatív, karakteres user azonosító
	unev		C 60	felhasználónév
	umail		C 80	a felhasználó e-mail címe
	upw		C 50	belépési jelszó
	udatum		DT	a regisztráció időpontja
	uip		N 32	az IP-cím, ahonnan regisztráltak
	usess		C  8	a session-azonosító első néhány karaktere
	ustatusz	C  1	a felhasználó státusza
	ukomment	TXT	megjegyzés
melyekhez a következő megjegyzés fűzhető: A felsoroltakon túl - ha a weboldal által megvalósítani kívánt cél indokolhatja - érdemes lehet további adatok eltárolását is megfontolni. Például:

2.   Űrlap

Az űrlap kialakítása sok meglepetést nem hordoz magában, hiszen megvalósításakor éppen úgy kell eljárni, mint ahogyan azt pl. a Vendégkönyv című feladatnál tettük. Szükség esetén az Űrlap-elemek oldalon felidézhetjük az alkalmazandó HTML kódokat.

Kizárólag azért, hogy némi újdonság mégis legyen a jelenlegi feladatban is, egészítsük ki a fenti táblastruktúrát egy megyekóddal (umegye), ahol eltárolhatjuk, hogy az új felhasználónk melyik megyéből érkezett. A megye kiválasztásának lehetőségét pedig egy  <select>  elemmel kínáljuk majd fel!

A forráskódban hivatkozott megye-adatok adatbázisa a Megyéink című mintapéldából szerezhető be.

3.   Feldolgozó program

A feldolgozó programnak két fontos feladatot kell ellátnia: Itt az újdonságot az adatbázistáblába írás jelentheti - bár ez sem olyan újdonság, mint azt esetleg gondolnánk. A PHP programnak, akárcsak a lekérdezésnél, ugyanúgy oda kell kapcsolódni az adatbázishoz (mysqli_connect), kezdeményezni kell az adatbázis-műveletet (mysqli_query), majd le kell kapcsolódni az adatbázisról (mysqli_close).

Az adatok tényleges beírását a PHP-n belül nyilván MySQL kód fogja elvégezni, amelyhez az INSERT INTO utasításra lesz szükség. Esetünkben valahogy így:
INSERT INTO user  
              (   ustr          ,        unev   ,        umail  ,  upw    ,
                       umegye   ,  udatum       ,  uip          ,  usess     )
VALUES
              (  '$str'         , '$_POST[nev]' , '$_POST[mail]', '$pw'   ,
                 '$_POST[hely]' ,  NOW()        , '$ip'         , '$sess'    )
Az adatbázisba írandó PHP változók közül a $_POST tömb elemeihez talán nem kell magyarázatot fűzni, hiszen azok értékei az űrlapról érkeznek.
A $pw a fejhasználó által választott jelszó md5() függvénnyel való kódolásának eredménye.
A $ip, vagyis az IP-cím értéke leggyakrabban a $_SERVER[REMOTE_ADDR] kifejezésből olvasható ki.
A $sess változóval a munkamenet-azonosítót szeretnénk táblázatba írni: ennek az értékét a session_id() függvény adja vissza - feltéve hogy indítottunk munkamenet-kezelést a session_start() függ­vénnyel a program elején.
A leginkább összetett értékadást a $str változóban tárolni kívánt alternatív, karakteres user azonosító igényli, mely esetünkben egy tíz karakterből álló véletlen karakter­sorozat. Feltöltése pl. az alábbi kóddal lehetséges:
  $karakter = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" ;
  $str = "" ;
  for( $i=1; $i<=10; $i++ )   $str .= substr( $karakter, mt_rand(0,61), 1 ) ;

Feladat

Készítsen regisztrációs felületet és programot a fenti leírás alapján!
1.   Hozza létre phpMyAdmin felületen a szükséges adatbázistáblát!
2.   Készítse el a regisztrációs űrlapot!
3.   Írja meg a regisztrációt megvalósító programot, mely az adatokat adatbázisba írja!



Eddig 1 hozzászólás van a témához:

2020-05-03 19:35 Ruttkay Gábor Nagyon köszönjük. Igazán hasznos infók! :-)




Új hozzászólás:
E-mail cím:


Erre a címre küldjük ki a hozzászólás jóvá- hagyásához szükséges linket. Az e-mail címet sehol nem tesszük közzé.

Név:


Ez a név fog megjelenni az Ön hozzászólásai mellett.

Mennyi tizenöt + hét?
Számjegyekkel írja be!



Ez a robotok beírása elleni védelem miatt szükséges ellenőrzés.


© infojegyzet.hu, 2020. április