Что-то с проверкой пароля

Рейтинг: 0Ответов: 1Опубликовано: 29.06.2011

Получаю пароль из страницы с формами и шифрую в md5

$pass = md5($_POST['password']);

Потом получаю уже зашифрованный пароль из MySQL

$vpass = $row['password'];

Потом их сравниваю

if($row['password'] != $pass) {die ('ошибка пароля');}

Но почему-то, если условие верное, все равно выдает ошибку( Посмотрел, как это работает, получается, что из БД получаю это: e10adc3949ba59abbe56e057, а из $pass получаю это: e10adc3949ba59abbe56e057f20f883e.

Почему?

Дополнено.

<?php 
if ($_POST['password'] == ''){die ('error pass');}
if ($_POST['mail'] == ''){die ('error mail');}
if ($_POST['url'] == '') {die ('error url');}

$url = $_POST['url'];
$pass = $_POST['password'];
$mail = $_POST['mail'];
$dblocation = "localhost";
$dbname = "lol"; 
$dbuser = "lol"; 
$dbpasswd = "0000";

$link = mysql_connect($dblocation, $dbuser, $dbpasswd);   
//if ($_GET['id'] == '') die('error');

if ( !$link )
   die ("Невозможно подключение к MySQL");
mysql_select_db ( $dbname ) or die ("Невозможно открыть $dbname");

$res=mysql_query("SELECT * FROM `cards` WHERE url = '".$url."'");
while($row=mysql_fetch_array($res)){
    $vurl= $row['url'];
    $vmail = $row['mail'];
    $vpass = $row['password'];}

if ($vurl == '') {die ('Введён несуществующей адрес');} else {
    if($vmail != $mail) {die ('ошибка почты');}
    if($row['password'] != md5($pass)) {die ('ошибка пароля');}
    }

session_start();
$_SESSION['mail'] = $mail;
$_SESSION['pass'] = $pass;

mysql_close ( $link );
?>

Дополнено.

$insert = "INSERT INTO cards (name, password) VALUES('".$url."','".md5($password)."')";
mysql_query ($insert);

P.S. немножко сократил его

Ответы

Ответов пока нет.