PHP password change

d0oMch0

Registered
PHP:
<?php
session_start();
include 'functions.php';
db_connect();
$user = $_REQUEST['username'];
$check_user = mysql_query("SELECT * FROM login WHERE username = '$user' ");
while ($info = mysql_fetch_array($check_user))
{
    if($user != $info['username'])
    {
    header('Refresh: 1; url=new_password_form.php');
    echo "wrong username";
    }
    else
    {
    $new_password = generatePassword();
    mysql_query("UPDATE login set password='$new_password' WHERE username='$user'");
    echo $new_password;

    }
}
?>
Значи правя simple смяна на парола ако е забравена от потребител което при въвеждане на юзър да му генерира нова парола да я упдейтва в mysql и да му я изписва...
Проблема е следния ,че ако въведа потребителско име което съществува в дб, ми сменя паролата в дб и ми показва каква е, но ако въведа такъв който го няма в дб не ми излиза ерора и не ма редиректва... може би бъркам някаде но немога да се сетя сега...
 
незнам защо ти е този лооп whlie ти проверяваш един потребител

<?php

session_start();

include 'functions.php';

db_connect();

$user = $_REQUEST['username'];

$check_user = mysql_query("SELECT COUNT(*) as num FROM login WHERE username = '$user' ");
$info = mysql_fetch_object($check_user);

if(!$info->num > 0){
echo "wrong username";
header('Refresh: 3; url=new_password_form.php');
die;
}
else
{
$new_password = generatePassword();
mysql_query("UPDATE login set password='$new_password' WHERE username='$user'");
echo $new_password;
}



?>
 

Back
Горе