Народ привет! Подскажите что это за ошибка и как её исправить?
Quote
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\save_user.php on line 60
// проверка на существование пользователя с таким же логином
Code
$result = mysql_query("SELECT id FROM users WHERE login='$login'",$db); $myrow = mysql_fetch_array($result); if (!empty($myrow['id'])) { exit ("Извините, введённый вами логин уже зарегистрирован. Введите другой логин."); }
Сообщение отредактировал PONTIAC_GTO - Вторник, 07 Августа 2012, 16:00
код что бы зайти на сайт какой? http://rus.1september.ru/urok<- уроки русского языка ----- - Почему же наш скрипт ничего не выводит? - Потому что вместо эхо мы написали инклуд! - Исправим - с кем не бывает. - Исправили, но все равно ничего не выводит - что за черт?
Оказывается мы запутались в четырех переменных, которые сами создали.
<?php // вся процедура работает на сесиях. Именно в ней хранятся данные пользователя, пока он находится на сайте. Очень важно запустить их в самом начале странички!!! session_start(); ?> <html> <head> <title>Главная страница</title> </head> <body> <h2>Главная страница</h2> <form action="testreg.php" method="post"> <!--**** testreg.php - это адрес обработчика. То есть, после нажатия на кнопку "Войти", данные из полей отправятся на страничку testreg.php методом "post" ***** --> <p> <label>Ваш логин:<br></label> <input name="login" type="text" size="15" maxlength="15"> </p> <!--**** В текстовое поле (name="login" type="text") пользователь вводит свой логин ***** --> <p> <label>Ваш пароль:<br></label> <input name="password" type="password" size="15" maxlength="15"> </p> <!--**** В поле для паролей (name="password" type="password") пользователь вводит свой пароль ***** --> <p> <input type="submit" name="submit" value="Войти"> <!--**** Кнопочка (type="submit") отправляет данные на страничку testreg.php ***** --> <br> <!--**** ссылка на регистрацию, ведь как-то же должны гости туда попадать ***** --> <a href="reg.php">Зарегистрироваться</a> </p></form> <br> <?php // Проверяем, пусты ли пересменные логина и id пользователя if (empty($_SESSION['login']) or empty($_SESSION['id'])) { // Если пусты, то мы не выводим ссылку echo "Вы вошли на сайт, как гость<br><a href='#'>Эта ссылка доступна только зарегистрированным пользователям</a>"; } else { // Если не пусты, то мы выводим ссылку echo "Вы вошли на сайт, как ".$_SESSION['login']."<br><a href=''>Эта ссылка доступна только зарегистрированным пользователям</a>"; } ?> </body> </html>
Сообщение отредактировал PONTIAC_GTO - Вторник, 07 Августа 2012, 17:33
testreg.php я имею ввиду это http://rus.1september.ru/urok<- уроки русского языка ----- - Почему же наш скрипт ничего не выводит? - Потому что вместо эхо мы написали инклуд! - Исправим - с кем не бывает. - Исправили, но все равно ничего не выводит - что за черт?
Оказывается мы запутались в четырех переменных, которые сами создали.
<?php // вся процедура работает на сессиях. Именно в ней хранятся данные пользователя, пока он находится на сайте. Очень важно запустить их в самом начале странички!!! session_start();
//заносим введенный пользователем логин в переменную $login, если он пустой, то уничтожаем переменную if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == '') { unset($login);} } if (isset($_POST['pass'])) { $pass=$_POST['pass']; if ($pass =='') { unset($pass);} } if (isset($_POST['mail'])) { $mail=$_POST['mail']; if ($mail =='') { unset($mail);} } if (isset($_POST['name'])) { $name=$_POST['name']; if ($name =='') { unset($name);} } if (isset($_POST['famile'])) { $famile=$_POST['famile']; if ($famile =='') { unset($famile);} } if (isset($_POST['country'])) { $country=$_POST['country']; if ($country =='') { unset($country);} } if (isset($_POST['city'])) { $city=$_POST['city']; if ($city =='') { unset($city);} } if (isset($_POST['age'])) { $age=$_POST['age']; if ($age =='') { unset($age);} }
//если пользователь не ввел логин или пароль, то выдаем ошибку и останавливаем скрипт if (empty($login) or empty($pass)) { exit ("Вы ввели не всю информацию, венитесь назад и заполните все поля!"); } //если логин и пароль введены,то обрабатываем их, чтобы теги и скрипты не работали, мало ли что люди могут ввести $login = stripslashes($login); $login = htmlspecialchars($login);
// подключаемся к базе include ("bd.php");// файл bd.php должен быть в той же папке, что и все остальные, если это не так, то просто измените путь
$result = mysql_query("SELECT * FROM users WHERE login='$login'",$db); //извлекаем из базы все данные о пользователе с введенным логином $myrow = mysql_fetch_array($result); if (empty($myrow['pass'])) { //если пользователя с введенным логином не существует exit ("Извините, введённый вами логин или пароль неверный."); } else { //если существует, то сверяем пароли if ($myrow['pass']==$pass) { //если пароли совпадают, то запускаем пользователю сессию! Можете его поздравить, он вошел! $_SESSION['login']=$myrow['login']; $_SESSION['id']=$myrow['id'];//эти данные очень часто используются, вот их и будет "носить с собой" вошедший пользователь echo "Вы успешно вошли на сайт! <a href='index.php'>Главная страница</a>"; }
else { //если пароли не сошлись exit ("Извините, введённый вами логин или пароль неверный."); } } ?>
код кривой, кто его делал? http://rus.1september.ru/urok<- уроки русского языка ----- - Почему же наш скрипт ничего не выводит? - Потому что вместо эхо мы написали инклуд! - Исправим - с кем не бывает. - Исправили, но все равно ничего не выводит - что за черт?
Оказывается мы запутались в четырех переменных, которые сами создали.
bd.php - проверял? там точно все написано? http://rus.1september.ru/urok<- уроки русского языка ----- - Почему же наш скрипт ничего не выводит? - Потому что вместо эхо мы написали инклуд! - Исправим - с кем не бывает. - Исправили, но все равно ничего не выводит - что за черт?
Оказывается мы запутались в четырех переменных, которые сами создали.
да, понимаешь в БД все данные создаются! Только после того как уже вошёл он выдаёт вот это т текст!
Добавлено (07.08.2012, 18:05) --------------------------------------------- да, понимаешь в БД все данные создаются! Только после того как уже вошёл он выдаёт вот это т текст!
exit ("Вы ввели не всю информацию, венитесь назад и заполните все поля!"); данное относится к регистрации, а не к входу =)
сейчас посмотрел в инете, как и думал говно. советую не мучится, могу дать примерный скрипт для входа, но ты сам должен будешь его дорабатывать, я только покажу идею =) http://rus.1september.ru/urok<- уроки русского языка ----- - Почему же наш скрипт ничего не выводит? - Потому что вместо эхо мы написали инклуд! - Исправим - с кем не бывает. - Исправили, но все равно ничего не выводит - что за черт?
Оказывается мы запутались в четырех переменных, которые сами создали.
нашел в инете это, рега написана в 08-09 году, дыры и вход с регистрацией вместе (мне нравится когда все отдельно) =) http://rus.1september.ru/urok<- уроки русского языка ----- - Почему же наш скрипт ничего не выводит? - Потому что вместо эхо мы написали инклуд! - Исправим - с кем не бывает. - Исправили, но все равно ничего не выводит - что за черт?
Оказывается мы запутались в четырех переменных, которые сами создали.
$query = "SELECT id, login, email, pass, rang, name, city ошибка =) http://rus.1september.ru/urok<- уроки русского языка ----- - Почему же наш скрипт ничего не выводит? - Потому что вместо эхо мы написали инклуд! - Исправим - с кем не бывает. - Исправили, но все равно ничего не выводит - что за черт?
Оказывается мы запутались в четырех переменных, которые сами создали.