Ahoj lidi,
mám skript na změnu hesla a když zadám správné údaje tak se mi napíše chyba: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /3w/wz.cz/v/vostroni/member_area/zmena_hesla.php on line 70
Nechápu proč...
Zde je skript
<head>
<title>Vostroni: Změna hesla</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<link rel="stylesheet" type="text/css" href="style/flash.css" media="screen">
<link rel="stylesheet" type="text/css" href="style/print.css" media="print">
<script src="style/flash.js" language="JavaScript" type="text/javascript"></script>
</head>
<body>
<br>
<h1> Změna hesla </h1>
<?php
include 'db.php';
function formular()
{
?>
<form method="post" action="zmena_hesla.php">
<table border="0" cellspacing="0" cellpadding="4">
<tr>
<td>Vaše uživatelské jméno:</td>
<td><input name="user_name" type="text" class="kolonka"></td>
</tr>
<tr>
<td>Vaše staré heslo:</td>
<td><input name="old_password" type="text" class="kolonka"></td>
</tr>
<tr>
<td>Vaše nové heslo:</td>
<td><input name="new_password" type="text" class="kolonka"></td>
</tr>
<tr>
<td> </td>
<td>
<input type="hidden" name="recover" value="recover">
<input type="submit" class="tlacitko" name="Submit" value="Změnit heslo!">
</td>
</tr>
</table>
</form>
</body>
<?php
}
switch($_POST['recover']){
default:
formular();
break;
case "recover":
recover_pw($_POST['old_password']);
recover_pw($_POST['new_password']);
break;
}
function recover_pw($old_password){
if(!$old_password){
echo "<p>Chybí heslo!</p>";
formular();
exit();
}
$sql_check = mysql_query("SELECT * FROM users WHERE user_name='$user_name' AND password='$old_password'");
$sql_check_num = mysql_num_rows($sql_check);
if($sql_check_num == 0){
echo "<p>Uživatelské jméno nebo heslo není v databázi!</p>";
formular();
exit();
}
$db_password = md5($new_password);
$sql = mysql_query("UPDATE users SET password='$db_password' WHERE user_name='$user_name' AND password='$old_password'");
$subject = "Změna hesla!";
$message = "Dobrý den,
změnil jste si heslo: $old_password
na: $new_password
Pokud jste takto neučinil Vy tak vaše heslo změnil někdo kdo znal staré heslo.
S pozdravem
Webmaster
Toto je automaticky sestavený email. Prosím neodpovídejte na něj!";
mail($email_address, $subject, $message, "From: Webmaster<Pampuch22@seznam.cz>\nX-Mailer: PHP/" . phpversion());
echo "<p>Byl odeslán email s novým heslem!</p>";
formular();
}
?>