nonename
Новичок
Не получается сравнить пароль из сесии с паролем из бд
Не получается сравнить пароль из сесии с паролем из бд.
Вот код:
<?php
$message = " ";
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if ($_POST["go"] == "GO")
{
$login2 = $_POST["login2"];
$pass2 = $_POST["pass2"];
$link = mysql_connect("localhost", "root");
if (! $link)
die ("Íå ìîãó ïîäêëþ÷èòüñÿ ê ÁÄ!");
$database = "phpmm";
mysql_select_db($database) or die ("Íå ìîãó ïîäêëþ÷èòüñÿ ê $database!");
$result = mysql_query("SELECT id, pass FROM users WHERE login='$login2'");
if (! $result)
die ("Îøèáêà");
while ( $a_row = mysql_fetch_object($result) )
{
if ($a_row->id == '1' and $a_row->pass == $pass2)
{
session_start();
session_register("session");
$session[pass2] = $pass2;
$session[login2] = $login2;
header( "Location: admin.php?".SID);
exit;
}
elseif ($a_row->pass == $pass2)
{
header( "Location: user/user.php");
exit;
}
}
}
}
?>
<html>
<head>
<title></title>
</head>
<body>
<?php
if ($message != "")
{
print "<b>$message</b>";
}
?>
<form action = "" method = "post">
<pre>
Ëîãèí: <input type = 'text' name = 'login2'>
Ïàðîëü: <input type = 'password' name = 'pass2'><input type="submit" name="go" value="GO">
</pre>
</form>
</body>
</html>
Эта сесия работает:
<?php
session_start();
if (!isset($session[pass2]) || !isset($session[login2]) )
{
header( "Location: index.php");
exit;
}
?>
А вот эта почему-то нет:
<?php
session_start();
$link = mysql_connect("localhost", "root");
if (! $link)
die ("Íå ìîãó ïîäêëþ÷èòüñÿ ê ÁÄ!");
$database = "phpmm";
mysql_select_db($database) or die ("Íå ìîãó ïîäêëþ÷èòüñÿ ê $database!");
$result = mysql_query("SELECT id, pass FROM users WHERE login='$session[login2]'");
if (! $result)
die ("Îøèáêà");
while ( $a_row = mysql_fetch_object($result) )
{
if ($a_row->id != '1' and $a_row->pass != $session[pass2])
{
header( "Location: index.php");
exit;
}
}
?>
Объясните пожалуйста, что я делаю не правильно.
Не получается сравнить пароль из сесии с паролем из бд.
Вот код:
<?php
$message = " ";
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if ($_POST["go"] == "GO")
{
$login2 = $_POST["login2"];
$pass2 = $_POST["pass2"];
$link = mysql_connect("localhost", "root");
if (! $link)
die ("Íå ìîãó ïîäêëþ÷èòüñÿ ê ÁÄ!");
$database = "phpmm";
mysql_select_db($database) or die ("Íå ìîãó ïîäêëþ÷èòüñÿ ê $database!");
$result = mysql_query("SELECT id, pass FROM users WHERE login='$login2'");
if (! $result)
die ("Îøèáêà");
while ( $a_row = mysql_fetch_object($result) )
{
if ($a_row->id == '1' and $a_row->pass == $pass2)
{
session_start();
session_register("session");
$session[pass2] = $pass2;
$session[login2] = $login2;
header( "Location: admin.php?".SID);
exit;
}
elseif ($a_row->pass == $pass2)
{
header( "Location: user/user.php");
exit;
}
}
}
}
?>
<html>
<head>
<title></title>
</head>
<body>
<?php
if ($message != "")
{
print "<b>$message</b>";
}
?>
<form action = "" method = "post">
<pre>
Ëîãèí: <input type = 'text' name = 'login2'>
Ïàðîëü: <input type = 'password' name = 'pass2'><input type="submit" name="go" value="GO">
</pre>
</form>
</body>
</html>
Эта сесия работает:
<?php
session_start();
if (!isset($session[pass2]) || !isset($session[login2]) )
{
header( "Location: index.php");
exit;
}
?>
А вот эта почему-то нет:
<?php
session_start();
$link = mysql_connect("localhost", "root");
if (! $link)
die ("Íå ìîãó ïîäêëþ÷èòüñÿ ê ÁÄ!");
$database = "phpmm";
mysql_select_db($database) or die ("Íå ìîãó ïîäêëþ÷èòüñÿ ê $database!");
$result = mysql_query("SELECT id, pass FROM users WHERE login='$session[login2]'");
if (! $result)
die ("Îøèáêà");
while ( $a_row = mysql_fetch_object($result) )
{
if ($a_row->id != '1' and $a_row->pass != $session[pass2])
{
header( "Location: index.php");
exit;
}
}
?>
Объясните пожалуйста, что я делаю не правильно.