Je dost pravděpodobné, že tato verze funguje.
authorFrantišek Kučera <franta-hg@frantovo.cz>
Wed, 06 May 2009 01:47:43 +0200
changeset 108f8ee581d919
parent 9 ad63c2301613
child 11 c1fd9aa6a6af
Je dost pravděpodobné, že tato verze funguje.
php/heslo/index.php
php/heslo/obrazky/plna_bezpecnost.png
php/heslo/obrazky/polovicni_bezpecnost.png
     1.1 --- a/php/heslo/index.php	Wed May 06 00:51:41 2009 +0200
     1.2 +++ b/php/heslo/index.php	Wed May 06 01:47:43 2009 +0200
     1.3 @@ -1,26 +1,54 @@
     1.4 -<?php
     1.5 -require('lib/funkce.inc.php');
     1.6 -zahlavi('Změna hesla');
     1.7 +<?php                                                     
     1.8 +require('lib/funkce.inc.php');                            
     1.9 +zahlavi('Změna hesla');                                   
    1.10  
    1.11  
    1.12  
    1.13  if ($_GET['akce'] == 'heslo') {
    1.14 -    $login = "uzivatel_neexistuje";
    1.15 -    $domena = "veverka.ch";
    1.16 -    $stareHeslo = "heslo chybí";
    1.17 -    $noveHeslo = "a nové nebude";
    1.18 +    /** Odeslaný formulář → změníme heslo */
    1.19 +    $email = split('@', $_POST['jmeno']);   
    1.20 +    $emailOK = eregi("^[_a-zA-Z0-9\.\-]+@[_a-zA-Z0-9\.\-]+\.[a-zA-Z]{2,4}$",$_POST['jmeno']);
    1.21 +    $login = $email[0];                                                                      
    1.22 +    $domena = $email[1];                                                                     
    1.23 +    $stareHeslo = $_POST['heslo_puvodni'];                                                   
    1.24 +    $noveHeslo1 = $_POST['heslo_nove_1'];                                                    
    1.25 +    $noveHeslo2 = $_POST['heslo_nove_2'];                                                    
    1.26  
    1.27      try {
    1.28 -	htmlOdstavec(sqlZjistiHodnotu("SELECT zmen_heslo(?, ?, ?, ?)", array($login, $domena, $stareHeslo, $noveHeslo)));
    1.29 +        if ($noveHeslo1 == $noveHeslo2) {
    1.30 +                if ($emailOK) {          
    1.31 +                        /** e-mail vyhovuje regulárnímu výrazu → pokusíme se o změnu hesla */
    1.32 +                        htmlOdstavec(sqlZjistiHodnotu("SELECT zmen_heslo(?, ?, ?, ?)", array($login, $domena, $stareHeslo, $noveHeslo1)));
    1.33 +                } else {
    1.34 +                        htmlOdstavec("Neplatné uživatelské jméno.");
    1.35 +                }
    1.36 +        } else {
    1.37 +                htmlOdstavec("Nové heslo je potřeba zadat dvakrát stejně pro kontrolu.");
    1.38 +        }
    1.39      } catch (Exception $e) {
    1.40 -	htmlOdstavec("Chyba: Nesprávné heslo, nebo uživatel " . htmlspecialchars($login) . "@" . htmlspecialchars($domena) . " neexistuje.");
    1.41 -        // htmlZnacka('p', 'Chyba: ' .  htmlspecialchars($e->getMessage())); // Chybová hláška z SQL
    1.42 -	htmlTlacitkovyOdkaz("?akce=znovu", "Zpět");
    1.43 +        htmlOdstavec("Chyba: Nesprávné heslo, nebo uživatel " . htmlspecialchars($login) . "@" . htmlspecialchars($domena) . " neexistuje.");
    1.44 +        //htmlZnacka('p', 'Chyba: ' .  htmlspecialchars($e->getMessage())); // Chybová hláška z SQL
    1.45      }
    1.46 -else {
    1.47 -    htmlOdstavec("Tento formulář slouží ke změně hesla.");
    1.48 +    htmlTlacitkovyOdkaz("?akce=znovu", "Zpět");
    1.49 +} else {
    1.50 +        /** Zobrazíme formulář */
    1.51 +        htmlOdstavec("Tento formulář slouží ke změně hesla.");
    1.52 +        html('<form method="post" action="?akce=heslo">');
    1.53 +        html('<fieldset>
    1.54 +                <label>Jméno: <input type="text" name="jmeno" maxlength="60"/></label><br/>
    1.55 +                <label>Původní heslo: <input type="password" id="heslo_puvodni" name="heslo_puvodni" maxlength="128"/></label><br/>
    1.56 +                <label>Nové heslo: <input type="password" id="heslo_nove_1" name="heslo_nove_1" maxlength="128"/></label><br/>
    1.57 +                <label>Znovu nové: <input type="password" id="heslo_nove_2" name="heslo_nove_2" maxlength="128"/></label><br/>');
    1.58 +        if (empty($_SERVER['HTTPS'])) {
    1.59 +                html('<img src="obrazky/zadna_bezpecnost.png" alt="CHYBÍ-SSL" title="Heslo se odesílá nešifrovaně. Přepněte na HTTPS."/>');
    1.60 +        } else {
    1.61 +                html('<img src="obrazky/plna_bezpecnost.png" alt="SSL" title="Zabezpečené spojení: HTTPS"/>');
    1.62 +        }
    1.63 +        html('<button name="prihlasovaciTlacitko" value="submit">Změnit heslo</button>');
    1.64 +        html('</fieldset></form>');
    1.65 +
    1.66  }
    1.67 -                
    1.68 +
    1.69  zapati();
    1.70  ?>
    1.71 -                
    1.72 \ No newline at end of file
    1.73 +
     2.1 Binary file php/heslo/obrazky/plna_bezpecnost.png has changed
     3.1 Binary file php/heslo/obrazky/polovicni_bezpecnost.png has changed