[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Регистрация
burned
Доброго времени суток, Делал регистрацию вот скрипты
bd.php
<?php
$db = mysql_connect('localhost','root','*******');
mysql_select_db('reg',$db);
?>


reg.php

<html>
<head>
<title>
Регистрация</title>
</head>
<body>
<form
method="post" action="save_user.php">
<label>
Логин</label>
<input
type="text" name="login"><br>
<label>
Пароль</label>
<input
type="password" name="password"><br>
<input
type="submit" value="Отправить">
</form>
</body></html>

save_user.php
<?php
if(isset($_post['login'])){
$login = $_post['login'];
if($login == ''){
unset($login);
}
}

if(isset($_post['password'])){
$password = $_post['password'];
if($password == ''){
unset($password);
}
}

if(empty($login) || empty($password)){
exit ('Вы ввели не всю информацию, вернитесь и заполните все поля.');
}
$login = stripslashes($login);
$login = htmlspecialchars($login);
$login = trim($login);
$password = stripslashes($password);
$password = htmlspecialchars($password);
$password = trim($password);
include('bd.php');
$result = mysql_query("SELECT id FROM users WHERE login='$login'",$db);
$myrow = mysql_fetch_array($result);
if(!empty($myrow['id'])){
exit('Введённый вами логи уже существует');
}
$result2 = mysql_query("INSERT INTO users(login,password) VALUES('$login','$password')");
if($result2 == TRUE){
echo "<a href='index.php'>Вот ты и регнулся</a>";
}
else{echo '<script type="text/javascript">alert("Ошибка! Вы не зарегесрированны");</script>';}
?>

index.php

<?php
session_start();
?>
<html>
<head>
<title>
Главная страница</title>
</head>
<body>
<form
method="post" action="index_glav.php">
<label>
Логин</label>
<input
type="login" name="login"><br>
<label>
Пароль</label>
<input
type="password" name="password"><br>
<input
type="submit" value="Отправить">
</form>
</body>
</html>


<?php
if(empty($_SESSION['login']) or empty($_SESSION['id`'])){
echo "Вы вошли на сайт, как гость<br><a href='#'>Эта ссылка доступна только зарегистрированным пользователям</a>";
}
else{
echo "Вы вошли на сайт, как ".$_SESSION['login']."<br><a href='http://tvpavlovsk.sk6.ru/'>Эта ссылка доступна только зарегистрированным пользователям</a>";
}


?>

index_glav.php
<?php
session_start();
if(isset($_post['login'])){
$login = $_post['login'];
if($login == ""){
unset($login);
}
}


if(isset($_post['password'])){
$password = $_post['password'];
if($password == ''){
unset($password);
}
}


if(empty($login) or empty($password)){
exit('Вы ввели не всю информацию, вернитесь и заполните все поля.');
}

$login = stripslashes($login);
$login = htmlspecialchars($login);

$password = stripslashes($password);
$password = htmlspecialchars($password);

$login = trim($login);
$password = trim($password);

include("bd.php");
$result = mysql_query("SELECT id FROM users WHERE login='$login'",$db);
$myrow = mysql_fetch_array($result);
if(empty($myrow['password'])){
exit ("Sorry введённый вами логин или пароль не верный");
}
else{
if($myrow['password'] == $password){
$_SESSION['login'] = $myrow['login'];
$_SESSION['id'] = $myrow['id'];
}
else{exit("извените введённый вами логин или пароль неверный");}
}

?>


Вот это пишет exit ("Sorry введённый вами логин или пароль не верный"); это можно увидеть чуть выше. В чём проблема ? ) Регнуться получилось, зайти не получается, хотя все поля ввёл, что не так сделал ?



Спустя 25 минут, 58 секунд (25.10.2011 - 20:11) Serdg написал(а):
у тебя ошибка есть в save_user.php


$login = $_post['login']; // $_POST['login']; большими буквами POST нужно писать


и так там везде где написано post нужно писать это слово большими буквами

в index_glav.php та же ошибка

Спустя 9 минут, 19 секунд (25.10.2011 - 20:20) burned написал(а):
Цитата (Serdg @ 25.10.2011 - 17:11)
у тебя ошибка есть в save_user.php


$login = $_post['login']; // $_POST['login']; большими буквами POST нужно писать


и так там везде где написано post нужно писать это слово большими буквами

Тогда каким образом ты объяснишь то, что я прошёл регистрацию? Ведь там тоже post.

Да не это не в этом дело.

Спустя 9 минут, 15 секунд (25.10.2011 - 20:29) Игорь_Vasinsky написал(а):
В начале скриптов. ЧТоб здесь не спорить ;)
error_reporting(E_ALL);

Спустя 8 минут, 15 секунд (25.10.2011 - 20:38) burned написал(а):
Цитата (Игорь_Vasinsky @ 25.10.2011 - 17:29)
В начале скриптов. ЧТоб здесь не спорить ;)
error_reporting(E_ALL);

Это добавил как ты и сказал, но всё же у меня ошибку не выдаёт, у меня вообще ошибок вроде нету там, просто он меня с index.php на index_glav.php не пускает, хоть даже логин и пароль верный. ((

Спустя 2 часа, 32 минуты, 31 секунда (25.10.2011 - 23:10) imbalance_hero написал(а):
mysql_query("запрос") or die(mysql_error());

замени свой запрос и сделай так. И все исправления, которые сделаешь - выложи скрипт тут.

Спустя 16 минут, 42 секунды (25.10.2011 - 23:27) Serdg написал(а):
и ещё у тебя в index_glav.php в запросе:

$result = mysql_query("SELECT id FROM users WHERE login='$login'",$db);


выбрано только поле id, а ты потом сравниваешь введёные тобой логин и пароль с лежащими в базе, понятное дело никак их не сравнить если ты выбрал из базы только поле id


и ещё на счёт post, не знаю может от версии php зависит но у меня когда пишешь маленькими буквами он это не воспринимает

Спустя 1 день, 8 минут, 50 секунд (26.10.2011 - 23:36) burned написал(а):
mysql_query("запрос") or die(mysql_error());

замени свой запрос и сделай так. И все исправления, которые сделаешь - выложи скрипт тут.

Вот такую ошибку выдаёт


У вас ошибка в запросе, проверьте руководство, correspondsУ вас ошибка в синтаксисе SQL; проверить документацию по используемой версии MySQL на предмет корректного синтаксиса около 'skupro' в строке 1



Цитата (Serdg @ 25.10.2011 - 20:27)
и ещё у тебя в index_glav.php в запросе:

$result = mysql_query("SELECT id FROM users WHERE login='$login'",$db);


выбрано только поле id, а ты потом сравниваешь введёные тобой логин и пароль с лежащими в базе, понятное дело никак их не сравнить если ты выбрал из базы только поле id


и ещё на счёт post, не знаю может от версии php зависит но у меня когда пишешь маленькими буквами он это не воспринимает

А как и где с логином и паролем связаться, пример покажи пожалуйста.

Спустя 2 часа, 35 минут, 49 секунд (27.10.2011 - 02:11) imbalance_hero написал(а):
burned
Тебе уже ответ пришел. Синтаксическая ошибка в запросе.
Правильно делать так:
mysql_query("
SELECT `id`
FROM `users`
WHERE `login` = '"
.mysql_real_escape_string($_POST['login'])."'
"
) or die(mysql_error());


Теперь ошибки точно не будет и не должно быть.
А разве пхп выдаёт ошибки уже на русском языке? :)
И каким образом оно у тебя ругается на первую строчку, когда сам код я вижу, что не на первой находится, тут ты что-то темнишь! Только показав код поможем разобраться.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.