Zend Framework – Céges Demo portál – Regisztráció – Regisztrációs form, adatbázis létrehozása IX. rész

Nos korábban elkészítettünk egy egyszerű céges oldalt, azonban szeretnénk elérhetővé tenni dokumentációkat, termékismertetőket, szolgáltatásokról bővebb információt nyújtani. De, azt is figyelemmel akarjuk kísérni, ki mit tölt le az oldalunkról. Ezért megköveteljük, hogy csak olyan felhasználók tudják letölteni ezen dokumentációkat, akik regisztráltak majd bejelentkeztek oldalunkra. Ennek megvalósításához készíteni fogunk egy regisztrációs oldalt egy bejelentkezési oldalt, és az alábbi adatbázis táblát fogjuk használni:

Nos felhasználók tárolásához, ez az egyszerű kis adatbázis tábla lesz majd segítségünkre. Található benne egy idfelhasznalok INT (11) típusú azonosító, amelyet egyedileg generálunk majd adatbázis kezelővel(auto_increment). Két mező név szerepel itt még a felh_email VARCHAR(255) ez szolgál a felhasználónk, e-mail címének azaz login nevének eltárolására, ezzel tud majd bejelentkezni. A felh_passw VARCHAR(255) mezőben tároljuk majd a felhasználónk jelszavát. Ez a piciny kis dolog lesz segítségünkre regisztrált felhasználóink tárolására.

Most készítsük el a regisztrációs űrlapot. Másoljuk, le az IndexController/kapcsolatAction() eseményét(CTRL+C CTRL+V), és írjuk át regisztracioAction()-re.

public function regisztracioAction()
{
//üzenetek elkapása
$flash = $this->_helper->getHelper('flashMessenger');
if ($flash->hasMessages()) {
$this->view->message = implode("<br />", $flash->getMessages());
} // if ($flash->hasMessages())
Captcha::generatecaptcha();
return true;
} // public function regisztracioAction()

A header.phtml fájlban ugyanúgy másoljuk le a kapcsolat űrlap meghívására szolgáló sort. Nevezzük át ezt regisztrációra, és az esemény amit meghívunk majd vele természetesen index/regisztraciora fog változni:

<!--header layout-->
<ul id="Menu1">
<li><a href="/demo/public_html/index/index">Főoldal</a></li>
<li><a href="/demo/public_html/index/szolgaltatasok">Szolgáltatások</a></li>
<li><a href="/demo/public_html/index/regisztracio">Regisztráció</a></li>
<li><a href="/demo/public_html/index/cegunk">Cégünk</a></li>
<li><a href="/demo/public_html/index/kapcsolat">Kapcsolat</a></li>
</ul>

Ha ez megvan, nyissuk meg a kapcsolat.phtml forrását, mentsük le ugyanoda regisztracio.phtml néven. Ezzel a pár lépéssel a kapcsolat oldallal megegyező regisztrációs formot kapunk meg.

Azonban, nekünk nem ez kell, ugyanis regisztrációnál nincs tárgy, mező meg üzenet, de van jelszó mező, ennek következménye képpen kicsit alakítsuk, át a formot. A felesleges részeket töröljük ki és/vagy írjuk át. Az adatbázis táblából, nyílvánvaló, hogy kell majd nekünk egy email cím bevitelére szolgáló mező, ezt tartsuk meg, de a hozzá tartozó címkét írjuk át: “E-mail”-re. Lévén, mindenki által elérhető az oldal, így spamrobotoknak is, a captcha részt érdemes meghagynunk.

Kell egy jelszó beviteli mező is, erre a formPassword elemet használjuk, ekkor nem a beütött karakterek jelennek meg a beviteli mezőben, hanem helyettük pontok, mint az minden kódbeviteli mezőben a weben már megszokhattuk. Űrlapunk feldolgozását majd a processRegisztracioAction() fogja elvégezni, ajánlatos ezt is beállítani a html form action elemében. A regisztrációs form kódja:

<!--Layout for index::regisztracio-->
<?php if($this->message){
echo '<h3>Üzenet:</h3>';
print_r('<p">'.$this->message.'</p>');
}?>
<h3>Regisztráció</h3>
<br />
<center>
<form method="POST" action="/demo/public_html/index/process-regisztracio" name="mainform">
<table>
<tr><td><?php echo $this->formLabel('r_email','E-mail cím:');?></td>
<td><?php echo $this->formText('r_email', $this->escape($this->k_email), array('onFocus'=>'this.select();'));?></td></tr>
<tr><td><?php echo $this->formLabel('r_password', 'Jelszó:');?></td>
<td><?php echo $this->formPassword('r_password', $this->escape($this->r_password), array('onFocus'=>'this.select();'));?></td></tr>
<tr><td><?php echo $this->formLabel('captcha','Captcha Kód:');?></td>
<td><img src="../../tmp/captcha.jpg" /></td></tr>
<tr><td><?php echo $this->formLabel('entered_coded','Adja meg a képen látható karaktereket:');?></td>
<td><?php echo $this->formText('entered_coded', $this->escape($this->entered_coded), array('onFocus'=>'this.select();'));?></td></tr>
</table>
<center><?php echo $this->formSubmit('Submit','Küldés');?></center>
</form>
</center>

Most lássuk az elkészített űrlapot, amivel a portálunkra regisztrálhatnak majd:

Zend Framework - Demo Kft - Regisztrációs űrlap

Elkészült a regisztráció űrlap, kész az adatbázis táblánk, de mit sem érnek ezek a dolgok adatbázis nélkül…

WAMP szerverünk vagy amit éppen használunk lépjünk a phpmyadmin felületén (általában ha megy a szerver ezen a linken elérhető: http://localhost/phpmyadmin/) hozzunk létre egy új adatbázist:

MYSQL kapcsolat egyeztetés: utf8_unicode_ci

Új adatbázis: demo utf8_unicode_ci

Hozzuk létre, így:

PHPmyadmin Demo Kft

Most már megvan az adatbázisunk is, hozzuk létre benne a felhasznalok adatbázis táblát. Az elkészített adatbázis tábla SQL scriptjét importáljuk be WAMP szerverünk phpmyadmin felületén keresztül.

Megvan az adatbázisunk benne a felhasznalok adatbázis táblával.

Csináljunk, hozzá egy adatbázis felhasználót is, nem szabad rootként csatlakozni alkalmazásunkkal az adatbáziskezelőhöz semmiféleképpen se tegyük ezt!!!!

Látogassunk vissza a fent látható phpmyadmin oldalunkra, lépjünk a privilégiumokra, adjunk hozzá egy új felhasználót:

Felhasználónév: demo

Jelszó: demo

host: localhost

Pipáljuk be az alábbi képen található jelölőnégyzeteket, vagy amit még gondolunk:

PHPmyadmin Demo kft adatbázis felhasználó létrehozása

Ezzel a pár apró lépéssel elkészítettünk egy új adatbázist benne egy felhasznalok adatbázistáblával melyben tárolni fogjuk a regisztrálók adatait.

Reklámok

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés / Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés / Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés / Módosítás )

Google+ kép

Hozzászólhat a Google+ felhasználói fiók használatával. Kilépés / Módosítás )

Kapcsolódás: %s