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
и так там везде где написано post нужно писать это слово большими буквами
в index_glav.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
и так там везде где написано 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 в запросе:
выбрано только поле id, а ты потом сравниваешь введёные тобой логин и пароль с лежащими в базе, понятное дело никак их не сравнить если ты выбрал из базы только поле id
и ещё на счёт post, не знаю может от версии 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 в запросе:
выбрано только поле 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());
Теперь ошибки точно не будет и не должно быть.
А разве пхп выдаёт ошибки уже на русском языке? :)
И каким образом оно у тебя ругается на первую строчку, когда сам код я вижу, что не на первой находится, тут ты что-то темнишь! Только показав код поможем разобраться.