php/heslo/index.php
author František Kučera <franta-hg@frantovo.cz>
Wed May 06 01:47:43 2009 +0200 (2009-05-06)
changeset 10 8f8ee581d919
parent 9 ad63c2301613
child 11 c1fd9aa6a6af
permissions -rwxr-xr-x
Je dost pravděpodobné, že tato verze funguje.
     1 <?php                                                     
     2 require('lib/funkce.inc.php');                            
     3 zahlavi('Změna hesla');                                   
     4 
     5 
     6 
     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']);
    11     $login = $email[0];                                                                      
    12     $domena = $email[1];                                                                     
    13     $stareHeslo = $_POST['heslo_puvodni'];                                                   
    14     $noveHeslo1 = $_POST['heslo_nove_1'];                                                    
    15     $noveHeslo2 = $_POST['heslo_nove_2'];                                                    
    16 
    17     try {
    18         if ($noveHeslo1 == $noveHeslo2) {
    19                 if ($emailOK) {          
    20                         /** e-mail vyhovuje regulárnímu výrazu → pokusíme se o změnu hesla */
    21                         htmlOdstavec(sqlZjistiHodnotu("SELECT zmen_heslo(?, ?, ?, ?)", array($login, $domena, $stareHeslo, $noveHeslo1)));
    22                 } else {
    23                         htmlOdstavec("Neplatné uživatelské jméno.");
    24                 }
    25         } else {
    26                 htmlOdstavec("Nové heslo je potřeba zadat dvakrát stejně pro kontrolu.");
    27         }
    28     } catch (Exception $e) {
    29         htmlOdstavec("Chyba: Nesprávné heslo, nebo uživatel " . htmlspecialchars($login) . "@" . htmlspecialchars($domena) . " neexistuje.");
    30         //htmlZnacka('p', 'Chyba: ' .  htmlspecialchars($e->getMessage())); // Chybová hláška z SQL
    31     }
    32     htmlTlacitkovyOdkaz("?akce=znovu", "Zpět");
    33 } else {
    34         /** Zobrazíme formulář */
    35         htmlOdstavec("Tento formulář slouží ke změně hesla.");
    36         html('<form method="post" action="?akce=heslo">');
    37         html('<fieldset>
    38                 <label>Jméno: <input type="text" name="jmeno" maxlength="60"/></label><br/>
    39                 <label>Původní heslo: <input type="password" id="heslo_puvodni" name="heslo_puvodni" maxlength="128"/></label><br/>
    40                 <label>Nové heslo: <input type="password" id="heslo_nove_1" name="heslo_nove_1" maxlength="128"/></label><br/>
    41                 <label>Znovu nové: <input type="password" id="heslo_nove_2" name="heslo_nove_2" maxlength="128"/></label><br/>');
    42         if (empty($_SERVER['HTTPS'])) {
    43                 html('<img src="obrazky/zadna_bezpecnost.png" alt="CHYBÍ-SSL" title="Heslo se odesílá nešifrovaně. Přepněte na HTTPS."/>');
    44         } else {
    45                 html('<img src="obrazky/plna_bezpecnost.png" alt="SSL" title="Zabezpečené spojení: HTTPS"/>');
    46         }
    47         html('<button name="prihlasovaciTlacitko" value="submit">Změnit heslo</button>');
    48         html('</fieldset></form>');
    49 
    50 }
    51 
    52 zapati();
    53 ?>
    54