Zdravim pokusam sa prekusnut cez problem v scripte -zmena_hesla.php
script:
Kód:
<?php
$titul_strany = 'Zmena hesla';
include ('./zahlavie.inc');
if (isset($_POST['odoslat'])) {
require_once ('./mysql_spojit.php');
function odstranit_problemy ($data) {
global $DBC;
if (ini_get('magic_quotes_gpc')) {
$data = stripslashes($data);
}
return mysql_real_escape_string ($data, $DBC);
}
$sprava = NULL;
if (empty($_POST['login'])) {
$lo = FALSE;
$sprava .= 'Nezadali ste login';
} else { $lo = odstranit_problemy($_POST['login']);}
if (empty($_POST['heslo'])) {
$he = FALSE;
$sprava .= 'Nezadali ste povodne heslo';
} else { $he = odstranit_problemy($_POST['heslo']);}
if (empty($_POST['heslo1'])) {
$h1 = FALSE;
$sprava .= 'Nezadali ste nove heslo ';
} else {
if ($_POST['heslo1'] == $_POST['heslo2']) {
$h1 = odstranit_problemy($_POST['heslo1']);
} else { $sprava .= 'Hesla vam nesuhlasia';}
}
if ($lo && $he && $h1) {
$dotaz = "SELECT id FROM uzivatelia WHERE (login='$lo' AND heslo = PASSWORD('$he'))";
$vysledok = @mysql_query ($dotaz);
$pocet = mysql_num_rows ($vysledok);
if ($pocet == 1) {
$riadok = mysql_fetch_array($vysledok, MYSQL_NUM);
$dotaz = "UPDATE uzivatelia SET heslo=PASSWORD('$h1') WHERE id=$riadok[0]";
$vysledok = mysql_query ($dotaz);
if (mysql_affected_rows() == 1) {
echo 'Zmena hesla uspesna';
include ('./pata.inc');
exit();
} else {$sprava .= 'Zmena sa nepodarila'. mysql_error(); }
} else {$sprava .= 'Vase meno a heslo nezodpoveda ulozenym zaznamom'. $pocet. mysql_error();}
mysql_close();
} else { $sprava .= 'skuste prosim znovu'; }
}
if (isset($sprava)) {
echo "$sprava" ;
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<fieldset><legend>Zadejte příslušné údaje do následujícího formuláře:</legend>
<p><b>Uživatelské jméno:</b> <input type="text" name="login" size="20" maxlength="40" value="<?php if (isset($_POST['uziv_jmeno'])) echo stripslashes($_POST['uziv_jmeno']); ?>" /></p>
<p><b>Staré heslo:</b> <input type="password" name="heslo" size="20" maxlength="20" /></p>
<p><b>Nové heslo:</b> <input type="password" name="heslo1" size="20" maxlength="20" /></p>
<p><b>Potvrďte nové heslo:</b> <input type="password" name="heslo2" size="20" maxlength="20" /></p>
</fieldset>
<div align="center"><input type="submit" name="odoslat" value="Změnit heslo" /></div>
</form>
<?php
include ('./pata.inc');
?>
chyba je urcite niekde okolo riadku 34 ale neviem kde prestne pokial vynecham v tomto riadku
AND heslo = PASSWORD('$he') script funguje bez problemov (ale nekontroluje ci sa zhoduje zadany login a heslo) Problem je v tom ze premenna $pocet sa vzdy rovna 0 ci zadam spravne hodnoty alebo nespravne uz si neviem rady dufam ze mi pomozete dakujem