Licence AGPLv3, Vyhození zbytečných hlaviček z HTML, aktuální verze schématu, .htaccess (kvůli escapování)
2 require('lib/funkce.inc.php');
3 zahlavi('Změna hesla');
7 if ($_GET['akce'] == 'heslo') {
8 /** Odeslaný formulář → změníme heslo */
9 $email = split('@', $_POST['jmeno']);
10 $emailOK = eregi("^[_a-zA-Z0-9\.\-]+@[_a-zA-Z0-9\.\-]+\.[a-zA-Z]{2,4}$",$_POST['jmeno']);
13 $stareHeslo = $_POST['heslo_puvodni'];
14 $noveHeslo1 = $_POST['heslo_nove_1'];
15 $noveHeslo2 = $_POST['heslo_nove_2'];
18 if ($noveHeslo1 == $noveHeslo2) {
20 /** e-mail vyhovuje regulárnímu výrazu → pokusíme se o změnu hesla */
22 htmlOdstavec(sqlZjistiHodnotu("SELECT zmen_heslo(?, ?, ?, ?)", array($login, $domena, $stareHeslo, $noveHeslo1)));
24 htmlOdstavec("Neplatné uživatelské jméno.");
27 htmlOdstavec("Nové heslo je potřeba zadat dvakrát stejně pro kontrolu.");
29 } catch (Exception $e) {
30 htmlOdstavec("Chyba: Nesprávné heslo, nebo uživatel " . htmlspecialchars($login) . "@" . htmlspecialchars($domena) . " neexistuje.");
31 //htmlZnacka('p', 'Chyba: ' . htmlspecialchars($e->getMessage())); // Chybová hláška z SQL
33 htmlTlacitkovyOdkaz("?akce=znovu", "Zpět");
35 /** Zobrazíme formulář */
36 htmlOdstavec("Tento formulář slouží ke změně hesla.");
37 html('<form method="post" action="?akce=heslo">');
39 <label>Jméno: <input type="text" name="jmeno" maxlength="60"/></label><br/>
40 <label>Původní heslo: <input type="password" id="heslo_puvodni" name="heslo_puvodni" maxlength="128"/></label><br/>
41 <label>Nové heslo: <input type="password" id="heslo_nove_1" name="heslo_nove_1" maxlength="128"/></label><br/>
42 <label>Znovu nové: <input type="password" id="heslo_nove_2" name="heslo_nove_2" maxlength="128"/></label><br/>');
43 if (empty($_SERVER['HTTPS'])) {
44 html('<img src="obrazky/zadna_bezpecnost.png" alt="CHYBÍ-SSL" title="Heslo se odesílá nešifrovaně. Přepněte na HTTPS."/>');
46 html('<img src="obrazky/plna_bezpecnost.png" alt="SSL" title="Zabezpečené spojení: HTTPS"/>');
48 html('<button name="prihlasovaciTlacitko" value="submit">Změnit heslo</button>');
49 html('</fieldset></form>');