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