|
Тема |
PHP регистрация с база данни |
|
Автор | lvan (Нерегистриран) | |
Публикувано | 06.02.07 14:37 |
|
|
Здравейте, експериментирам с един скрипт за логване, но когато се стигне до валидирането на юзер нейма и паролата дава: "Грешна парола"
иначе в базата акаунта е създаден коректно, но явно при сравняването става грека. Ето кода:
<?
//проверява дали потребителя няма сетната бисквитка
if(isset($_COOKIE['ID_my_site']))
//ако има ви логва автоматично и ви пренасочва към последно запазената страница
{
$username = $_COOKIE['ID_my_site'];
$pass = $_COOKIE['Key_my_site'];
$check = mysql_query("SELECT * FROM users WHERE username = '$username'")or die(mysql_error());
while($info = mysql_fetch_array( $check ))
{
if ($pass != $info['password'])
{
}
else
{
header("Location: include/members.php");
}
}
}
//ако формата е изпълнена
if (isset($_POST['submit'])) {
// проверява дали полетата са попълнени
if(!$_POST['username'] | !$_POST['pass']) {
die('Не сте попълнили нужните полета.');
}
// проверява дали има такъв потребител с такава парола
if (!get_magic_quotes_gpc()) {
$_POST['email'] = addslashes($_POST['email']);
}
$check = mysql_query("SELECT * FROM users WHERE username = '".$_POST['username']."'")or die(mysql_error());
//дава гершка ако няма
$check2 = mysql_num_rows($check);
if ($check2 == 0) {
die('Няма такъв потребител. <a href=include/add.php>Натиснете тук, за да се регистрирате</a>');
}
while($info = mysql_fetch_array( $check ))
{
$_POST['pass'] = stripslashes($_POST['pass']);
$info['password'] = stripslashes($info['password']);
$_POST['pass'] = md5($_POST['pass']);
//gives error if the password is wrong
if ($_POST['pass'] != $info['password']) {
die('Грешна парола, опитайте пак!.');
}
else
{
// ако всичко е наред сетваме бисквитка
$_POST['username'] = stripslashes($_POST['username']);
$hour = time() + 3600;
setcookie(ID_my_site, $_POST['username'], $hour);
setcookie(Key_my_site, $_POST['pass'], $hour);
//след това пренасочва към потребителската секция
header("Location: include/members.php");
}
}
}
else
{
// ако не е вече влязъл потребителя
?>
<form action="<?php echo $_SERVER['PHP_SELF']?>" method="post">
<table border="0">
<tr><td>Име:</td><td>
<input type="text" name="username" maxlength="40">
</td></tr>
<tr><td>Парола:</td><td>
<input type="password" name="pass" maxlength="50">
</td></tr>
<tr><td colspan="2" align="right">
<input type="submit" name="submit" value="Login">
</td></tr>
</table>
</form>
<?php
}
?>
Приемам всякакви съвети, благодаря предварително.
|
| |
|
|
|