Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Нужна помощь!

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
REXX
Отправлено: 13 Июля, 2015 - 03:13:18
Post Id


Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Июль 2015  


Помог: 0 раз(а)




Вот такая проблема с авторизацией на моём сайте:
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in Z:\home\phptest.rexx\www\authorization.php on line 8



Код сайта:
<?php
$connetc = mysql_connect('localhost', 'root') or die(mysql_error());
mysql_select_db('siterexx');
if(isset($_POST['enter'])){
$e_login = $_POST['e_login'];
$e_password = md5($_POST['e_password']);
$query = mysql_query("SELECT * FROM users WHERE login='$e_login");
$user_data = mysql_fetch_array($query);
if($user_data['password']==$e_password){
echo "Вы вошли в систему!";
}
else{
echo "Пароль неверен!";
}


}
?>

Заранее спасибо!
 
 Top
DeepVarvar Супермодератор
Отправлено: 13 Июля, 2015 - 08:07:23
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




В самое начало, первой строкой, во всех главных скриптах которые инклюдят остальное, вписать:
PHP:
скопировать код в буфер обмена
  1. ini_set('display_errors', 'On');
  2. ini_set('html_errors', 'On');
 
 Top
Tyoma5891
Отправлено: 13 Июля, 2015 - 10:00:42
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 621
Дата рег-ции: Авг. 2013  


Помог: 5 раз(а)




REXX пишет:
Вот такая проблема с авторизацией на моём сайте:
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in Z:\home\phptest.rexx\www\authorization.php on line 8

у Вас ошибка в запросе к таблице users в бд, а причин может быть очень много, начните с того что написал DeepVarvar, потом это
 
 Top
DelphinPRO
Отправлено: 13 Июля, 2015 - 14:29:40
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




REXX, думаете вы первый, кто столкнулся с данной ошибкой? Конечно нет! Воспользуйтесь чужим опытом:

https://www[dot]google[dot]ru/search?cli[dot][dot][dot]F-8&oe=UTF-8


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
likesoft
Отправлено: 13 Июля, 2015 - 15:48:08
Post Id



Новичок


Покинул форум
Сообщений всего: 23
Дата рег-ции: Апр. 2014  
Откуда: Херсон


Помог: 0 раз(а)




Вот так надо
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. mysql_connect('localhost', 'root', '') or die(mysql_error());
  4. mysql_select_db('siterexx');
  5. if(isset($_POST['enter'])){
  6. $e_login = mysql_real_escape_string($_POST['e_login']);
  7. $e_password = md5($_POST['e_password']);
  8. $query = mysql_query("SELECT * FROM users WHERE login='$e_login");
  9. $user_data = mysql_fetch_array($query);
  10. if($user_data['password']==$e_password){
  11. echo "Вы вошли в систему!";
  12. }
  13. else{
  14. echo "Пароль неверен!";
  15. }
  16.  
  17.  
  18. }
  19. ?>
  20.  

(Отредактировано автором: 13 Июля, 2015 - 15:50:28)

 
 Top
DelphinPRO
Отправлено: 13 Июля, 2015 - 15:50:03
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




likesoftот указанной ошибки ваш код не избавляет.


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
likesoft
Отправлено: 13 Июля, 2015 - 15:54:27
Post Id



Новичок


Покинул форум
Сообщений всего: 23
Дата рег-ции: Апр. 2014  
Откуда: Херсон


Помог: 0 раз(а)




DelphinPRO пишет:
likesoftот указанной ошибки ваш код не избавляет.


Вы уже проверили?
 
 Top
DelphinPRO
Отправлено: 13 Июля, 2015 - 15:57:00
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




Вы мне не верите? Улыбка
(Добавление)
а, ну после исправления уже лучше Улыбка
но вероятность возникновения ошибки сохраняется


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
likesoft
Отправлено: 13 Июля, 2015 - 16:02:34
Post Id



Новичок


Покинул форум
Сообщений всего: 23
Дата рег-ции: Апр. 2014  
Откуда: Херсон


Помог: 0 раз(а)




DelphinPRO пишет:
Вы мне не верите? Улыбка
(Добавление)
а, ну после исправления уже лучше Улыбка
но вероятность возникновения ошибки сохраняется


Вероятность возникновения ошибки будет всегда Подмигивание
 
 Top
DelphinPRO
Отправлено: 13 Июля, 2015 - 17:11:47
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




PHP:
скопировать код в буфер обмена
  1. $query = mysql_query("SELECT * FROM users WHERE login='$e_login");
  2. if ($query === false) {
  3.  // обрабатываем ошибку выполнения запроса.
  4. } else {
  5. $user_data = mysql_fetch_array($query);


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
Незнайка_на_Луне
Отправлено: 13 Июля, 2015 - 18:04:20
Post Id


Новичок


Покинул форум
Сообщений всего: 13
Дата рег-ции: Июль 2015  


Помог: 0 раз(а)




REXX пишет:
Вот такая проблема с авторизацией на моём сайте:
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in Z:\home\phptest.rexx\www\authorization.php on line 8



Код сайта:
<?php
$connetc = mysql_connect('localhost', 'root') or die(mysql_error());
mysql_select_db('siterexx');
if(isset($_POST['enter'])){
$e_login = $_POST['e_login'];
$e_password = md5($_POST['e_password']);
$query = mysql_query("SELECT * FROM users WHERE login='$e_login");
$user_data = mysql_fetch_array($query);
if($user_data['password']==$e_password){
echo "Вы вошли в систему!";
}
else{
echo "Пароль неверен!";
}


}
?>

Заранее спасибо!


Можно собачку поставить (@mysql_fetch_array($query);) - чтобы ошибка не выводилась, но это как все ошибки отключить. Сейчас работаю не с mysql, и там я могу проверить массив на пустоту (!empty) прежде чем его вытаскивать. Работу с mysql чет подзабыл. В Вашем случае, можно поставить собачку, а затем перед if($user_data['password']==$e_password) поставить условие if($user_data). Только, блин еще один аналогичный else придется для этого условия ставить. Или флаг какой-то вводить, чтобы один else был. В общем, я новичок, мог что-то и напутать, попробуйте...

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $connetc = mysql_connect('localhost', 'root') or die(mysql_error());
  4. mysql_select_db('siterexx');
  5. if(isset($_POST['enter'])){
  6. $e_login = $_POST['e_login'];
  7. $e_password = md5($_POST['e_password']);
  8. $query = mysql_query("SELECT * FROM users WHERE login='$e_login");
  9. $user_data = @mysql_fetch_array($query);
  10. if ($user_data){
  11. if($user_data['password']==$e_password){
  12. echo "Вы вошли в систему!";    
  13. }
  14. else{
  15. echo "Пароль неверен!";
  16. }
  17. }
  18. else{
  19. echo "Пароль неверен!";
  20. }
  21.  
  22.  
  23. }
  24. ?>
  25.  

(Отредактировано автором: 13 Июля, 2015 - 18:06:52)

 
 Top
esterio
Отправлено: 13 Июля, 2015 - 18:50:24
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




Незнайка_на_Луне
Очен плохая подсказка
 
 Top
Незнайка_на_Луне
Отправлено: 13 Июля, 2015 - 19:08:21
Post Id


Новичок


Покинул форум
Сообщений всего: 13
Дата рег-ции: Июль 2015  


Помог: 0 раз(а)




esterio пишет:
Незнайка_на_Луне
Очен плохая подсказка


Возможно, но немного контекста бы не помешало: я так понимаю, нужно проверить $query (дал ли запрос результаты). Иначе mysql_fetch_array выдаст ошибку. Что можно сделать, кроме того, что я предложил? try - catch?
 
 Top
DelphinPRO
Отправлено: 13 Июля, 2015 - 19:12:44
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




Незнайка_на_Луне пишет:
я так понимаю, нужно проверить $query (дал ли запрос результаты)
Незнайка_на_Луне пишет:
Что можно сделать, кроме того, что я предложил?

ну например взять и проверить Улыбка
я же там выше показал как.


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
Незнайка_на_Луне
Отправлено: 13 Июля, 2015 - 19:15:58
Post Id


Новичок


Покинул форум
Сообщений всего: 13
Дата рег-ции: Июль 2015  


Помог: 0 раз(а)




DelphinPRO пишет:
Незнайка_на_Луне пишет:
я так понимаю, нужно проверить $query (дал ли запрос результаты)
Незнайка_на_Луне пишет:
Что можно сделать, кроме того, что я предложил?

ну например взять и проверить Улыбка
я же там выше показал как.


Да, это я уже осознал)) Хех, тупанул, действительно. Извиняюсь.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB