Végül következik az űrlapelemek megjelenítése.
A kód egy kicsit hosszúra sikerült, mivel mást input elemeket kell megjeleníteni, ha regisztrációról és másokat, ha az adatok módosításáról van szó.
A regisztrált felhasználó nem módosíthatja felhasználó nevét. Cserében neki nem kell kétszer megadnia jelszavát. Nem kell újra elfogadnia a felhasználási feltételeket. Nem kell CAPTCHA kódot beírnia.
A CAPTCHA kód célja a robotok regisztrációs kísérleteinek megnehezítése. Az űrlapon elküldünk egy a vásárlók számára megválaszolható kérdést. A válasz helyességét a beküldött űrlapon ellenőrizzük. Minden űrlapletöltésnél lehetőség szerint más kérdéssel dolgozunk. (Az adatbázis CAPTCHA táblája bővíthető.)
Ha a felhasználó az úrlapot elküldte, akkor az adatok feldolgozását végző függvény hiba esetén a hiba helyére utaló kódot a $ErrorStr változóba helyezi. Az űrlap megjelenítésekor, a Error osztályba kerül az az input elem, amelyhez tartozó hibakód szerepel a $ErrorStr változóban. Az Error osztály miden eleméhez CSS-ben szép piros szegélyt rendelünk. Így a felhasználó mindig tudja, hogy mit rontott el.
A kód végén megjelenítjük a $HTMLkod változó tartalmát.
A kód a w3_regisztracio.php -ban található Kiir_RegUrlap($ErrorStr) függvény része.
1. példa:
Forráskód
<?php
// Űrlap összeállítása
// A korábban hibásan elküldött űrlapelemek az Error osztályba kerülnek
if ($mm_felhasznalo>'')
{
// Létező felhasználó felhasználóneve nem változhat
$HTMLkod .= "<p><label for='Fszemnev' class='label_1'>Név</label> n";
if (strpos($ErrorStr,'ERR02')!== false)
{$HTMLkod .= "<input type='text' name='Fszemnev' id='Fszemnev' placeholder='Vezetéknév keresztnév' class='Error' value='$Fszemnev' required >n";} else
{$HTMLkod .= "<input type='text' name='Fszemnev' id='Fszemnev' placeholder='Vezetéknév keresztnév' value='$Fszemnev' required >n";}
$HTMLkod .= "<fieldset class='Nev'> <legend> Felhasználónév: </legend>n";
$HTMLkod .= "<p><label for='fnev' class='label_1'>Felhasználónév</label> n";
$HTMLkod .= "<input type='text' name='Fnev' id='Fnev' placeholder='Felhasználónév' value='$Fnev' readonly> n";
$HTMLkod .= "<span>Nem változhat!</span></p>n";
$HTMLkod .= "</fieldset>n";
} else {
// Új felhasználó felhasználónevét és jelszavát is meg kell adja (az utóbbit kétszer)
$HTMLkod .= "<p><label for='Fszemnev' class='label_1'>Név</label> n";
if (strpos($ErrorStr,'ERR02')!== false)
{$HTMLkod .= "<input type='text' name='Fszemnev' id='Fszemnev' placeholder='Vezetéknév keresztnév' class='Error' value='$Fszemnev' required >n";} else
{$HTMLkod .= "<input type='text' name='Fszemnev' id='Fszemnev' placeholder='Vezetéknév keresztnév' value='$Fszemnev' required >n";}
$HTMLkod .= "<span>* Minimum 6 karakter</span></p>n";
$HTMLkod .= "<fieldset class='jelszo'> <legend> Felhasználónév és jelszó: </legend>n";
$HTMLkod .= "<p><label for='fnev' class='label_1'>Felhasználónév</label> n";
if ((strpos($ErrorStr,'ERR11')!== false) or (strpos($ErrorStr,'ERR14')!== false) )
{$HTMLkod .= "<input type='text' name='Fnev' id='Fnev' placeholder='Felhasználónév' value='$Fnev' class='Error' required >n";} else
{$HTMLkod .= "<input type='text' name='Fnev' id='Fnev' placeholder='Felhasználónév' value='$Fnev' required >n";}
$HTMLkod .= " <span>Minimum 3 karakter</span></p>n";
if (strpos($ErrorStr,'ERR11')!== false)
{$HTMLkod .= "<p class='Error'> Ez a név már foglalt. </p>n";}
$HTMLkod .= "<p><label for='Fujjelszo' class='label_1'>Jelszó</label>n";
if ((strpos($ErrorStr,'ERR12')!== false) or (strpos($ErrorStr,'ERR13')!== false) )
{$HTMLkod .= "<input type='password' name='Fujjelszo' id='Fujjelszo' placeholder='Jelszó' value='' class='Error' required >n";} else
{$HTMLkod .= "<input type='password' name='Fujjelszo' id='Fujjelszo' placeholder='Jelszó' value='' required >n";}
$HTMLkod .= "<span>* Minimum 6 karakter</span></p>n";
$HTMLkod .= "<p><label for='Fujjelszo1' class='label_1'>Jelszó újra</label>n";
if ((strpos($ErrorStr,'ERR12')!== false) or (strpos($ErrorStr,'ERR13')!== false) )
{$HTMLkod .= "<input type='password' name='Fujjelszo1' id='Fujjelszo1' placeholder='Jelszó újra' value='' class='Error' required >n";} else
{$HTMLkod .= "<input type='password' name='Fujjelszo1' id='Fujjelszo1' placeholder='Jelszó újra' value='' required >n";}
$HTMLkod .= "<span>* </span></p>n";
$HTMLkod .= "<p> Mindkét mezőbe írja be a választott jelszót!</p>n";
$HTMLkod .= "</fieldset>n";
}
// Az email és egy telefonszám megadása kötelező
$HTMLkod .= "<fieldset class='Elerhetoseg'> <legend> Elérhetőség: </legend>n";
$HTMLkod .= "<p><label for='Femail' class='label_1'>Email cím</label> n";
if (strpos($ErrorStr,'ERR03')!== false)
{$HTMLkod .= "<input type='email' name='Femail' id='Femail' placeholder='Email' value='$Femail' class='Error' required>n";} else
{$HTMLkod .= "<input type='email' name='Femail' id='Femail' placeholder='Email' value='$Femail' required>n";}
$HTMLkod .= "<span>* Szabványos Email-cím</span></p>n";
$HTMLkod .= "<p><label for='Ftelszam' class='label_1'>Telefonszám 1</label>n ";
if (strpos($ErrorStr,'ERR04')!== false)
{$HTMLkod .= "<input type='text' name='Ftelszam' id='Ftelszam' placeholder='Telefonszám 1' value='$Ftelszam' class='Error' required>n";} else
{$HTMLkod .= "<input type='text' name='Ftelszam' id='Ftelszam' placeholder='Telefonszám 1' value='$Ftelszam' required>n";}
$HTMLkod .= "<span>* Minimum 7 számjegy</span></p>n";
$HTMLkod .= "<p><label for='Ftelszam1' class='label_1'>Telefonszám 2</label>n ";
if (strpos($ErrorStr,'ERR05')!== false)
{$HTMLkod .= "<input type='text' name='Ftelszam1' id='Ftelszam1' placeholder='Telefonszám 2' value='$Ftelszam1' class='Error' >n";} else
{$HTMLkod .= "<input type='text' name='Ftelszam1' id='Ftelszam1' placeholder='Telefonszám 2' value='$Ftelszam1' >n";}
$HTMLkod .= "<span></span></p>n";
$HTMLkod .= "</fieldset>n";
$HTMLkod .= "<fieldset class='Cim'> <legend> Cím: </legend>n";
$HTMLkod .= "<p><label for='Forszag' class='label_1'>Ország</label>n";
$HTMLkod .= "<input type='text' name='Forszag' id='Forszag' placeholder='Ország' value='$Forszag' >n";
$HTMLkod .= "<span></span></p>n";
$HTMLkod .= "<p><label for='Fvaros' class='label_1'>Város</label>n";
$HTMLkod .= "<input type='text' name='Fvaros' id='Fvaros' placeholder='Város' value='$Fvaros' >n";
$HTMLkod .= "<span></span></p>n";
$HTMLkod .= "<p><label for='Firszam' class='label_1'>Irányító szám</label>n";
$HTMLkod .= "<input type='text' name='Firszam' id='Firszam' placeholder='Irányító szám' value='$Firszam' >n";
$HTMLkod .= "<span></span></p>n";
$HTMLkod .= "<p><label for='Fcim' class='label_1'>Cím</label>n";
$HTMLkod .= "<input type='text' name='Fcim' id='Fcim' placeholder='Cím' value='$Fcim' >n";
$HTMLkod .= "<span></span></p>n";
$HTMLkod .= "</fieldset>n";
if ($mm_felhasznalo=='') {
//Az új felhasználóknak a felhasználási feltételeket is el kell fogadnia
$HTMLkod .= "<fieldset class='FFeltetelek'> <legend> Felhasználási feltételek: </legend>n";
if (strpos($ErrorStr,'ERR15')!== false)
{$HTMLkod .= "<p><input type='checkbox' name='Feltetelek' id='Feltetelek' value='Feltetelek' class='Error' required >n";
$HTMLkod .= "<label for='Feltetelek' class='Error' >A felhasználási feltételeket elfogadom.</label>n";
} else
{$HTMLkod .= "<p><input type='checkbox' name='Feltetelek' id='Feltetelek' value='Feltetelek' required >n";
$HTMLkod .= "<label for='Feltetelek' class='label_1' style='width:auto;'>A felhasználási feltételeket elfogadom.</label>n"; }
$HTMLkod .= "<span></span></p>n";
$HTMLkod .= "</fieldset>n";
}
if ($mm_felhasznalo>'') {
// A régi felhasználó jelszavával azonosítja magát
$HTMLkod .= "<fieldset class='Adatbiztonsag'> <legend> Adatbiztonság: </legend>n";
$HTMLkod .= "<p> Adja meg az érvényes jelszavát!</p>n";
$HTMLkod .= "<p><label for='Fjelszo' class='label_1'>Jelszó</label>n";
if (strpos($ErrorStr,'ERR01')!== false)
{$HTMLkod .= "<input type='password' name='Fjelszo' id='Fjelszo' placeholder='Jelszó' value='' class='Error'>n";} else
{$HTMLkod .= "<input type='password' name='Fjelszo' id='Fjelszo' placeholder='Jelszó' value='' >n";}
$HTMLkod .= "<span>*</span></p>n";
$HTMLkod .= "</fieldset>n";
} else
{
$SelectStr = "SELECT * FROM captcha_kodok";
// Új felhasználó captcha kódot is meg kell adjon
// A captcha kód mutatója munkamenetváltozóba kerül
$result = mysqli_query($MySqliLink,$SelectStr) OR die("Hiba RG 04 ");
$captchaDb = mysqli_num_rows($result); mysqli_free_result($result);
$_SESSION['mm_captchaMut'] = $captchaMut = rand(1,$captchaDb);
$SelectStr = "SELECT * FROM captcha_kodok WHERE id=$captchaMut LIMIT 1";
$result = mysqli_query($MySqliLink,$SelectStr) OR die("Hiba RG 05 ");
$row = mysqli_fetch_array($result, MYSQLI_ASSOC); mysqli_free_result($result);
$Kerdes = $row['CKerdes'];
$HTMLkod .= "<p><label for='captcha' class='label_1'>$Kerdes</label>n";
if (strpos($ErrorStr,'ERR16')!== false)
{$HTMLkod .= "<input type='text' name='captcha' id='captcha' placeholder='Mennyi ?' value='' class='Error' required > n";} else
{$HTMLkod .= "<input type='text' name='captcha' id='captcha' placeholder='Mennyi ?' value='' required >n";}
$HTMLkod .= "<span>* A művelet eredménye (Szám)</span></p>n";
}
$HTMLkod .= "<input type='reset' name='reset' value='Alaphelyzet' >n";
$HTMLkod .= "<input type='submit' name='submit' value='Módosítás' >n";
$HTMLkod .= "</form></div></div>n";
echo $HTMLkod;
?>
A webáruház megtekinthető és letölthető itt: Ingyen webáruház - W3 Free Shop