PHP.SU

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


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

> Описание: Авторизация пользователя
Denis427
Отправлено: 14 Мая, 2019 - 22:37:15
Post Id


Новичок


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


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




PHP:
скопировать код в буфер обмена
  1. $newuser = new mysqli ("SELECT COUNT(*) FROM `users` WHERE login = '".$_POST["login"]."'");
  2.         if ($newuser == 1)
  3.                 echo "Есть уже такой пользователь" ;
  4.         else
  5.                 echo "Такого пользователя нет";



Где тут ошибка? Все что не введу в форму входа всегда один ответ "Есть уже такой пользователь", даже если на самом деле его нет.
 
 Top
LIME
Отправлено: 14 Мая, 2019 - 23:03:12
Post Id



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


Покинул форум
Сообщений всего: 10220
Дата рег-ции: Нояб. 2010  


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




ржу
тут ошибка везде))
где ты видел подомное использование mysqli
понимаешь нельзя сочинять код как тебе захочется)))
смотри примеры
https://www.php.net/manual/ru/my...li.construct.php
https://www.php.net/manual/ru/mysqli.query.php


-----
DDD
 
 Top
Denis427
Отправлено: 16 Мая, 2019 - 19:12:34
Post Id


Новичок


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


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




PHP:
скопировать код в буфер обмена
  1.  
  2. $link = mysqli_connect('localhost', 'user', 'password', 'world');
  3. $result = mysqli_query($link, "SELECT COUNT(*) FROM `world` WHERE user_login = '".$_POST["login"]."'");
  4.         if ($result == 1)
  5.                 echo "Есть уже такой пользователь" ;
  6.         else
  7.                 echo "Такого пользователя нет";
  8.         mysqli_close($link);
  9.  


Все тоже самое. Есть пользователь, нет его одно сообщение "Есть уже такой пользователь"
 
 Top
LIME
Отправлено: 16 Мая, 2019 - 19:26:05
Post Id



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


Покинул форум
Сообщений всего: 10220
Дата рег-ции: Нояб. 2010  


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




Denis427 не умеешь сам искать по мануалу
так у тебя дальше не пойдет
учись
https://www.php.net/manual/ru/my....fetch-array.php
https://www.php.net/manual/ru/my....fetch-assoc.php
(Добавление)

(Добавление)
PHP:
скопировать код в буфер обмена
  1.         if ($result->num_rows === 1)
  2.                 echo "Есть уже такой пользователь" ;
  3.         else
  4.                 echo "Такого пользователя нет";


-----
DDD
 
 Top
Denis427
Отправлено: 16 Мая, 2019 - 19:34:08
Post Id


Новичок


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


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




LIME Спасибо, помогло
 
 Top
Мелкий Супермодератор
Отправлено: 16 Мая, 2019 - 19:44:19
Post Id



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


Покинул форум
Сообщений всего: 11821
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




Только определитесь, вы count считаете на базе или num_rows проверяете в PHP.
Потому что count без явной группировки будет возвращать всегда 1 строку независимо от данных, что мигом лишает смысла всю проверку.

ну и привет sql инъекциям.


-----
PostgreSQL DBA
 
 Top
Denis427
Отправлено: 16 Мая, 2019 - 19:49:58
Post Id


Новичок


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


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




Мелкий
PHP:
скопировать код в буфер обмена
  1.  
  2. $result = mysqli_query($link, "SELECT * FROM `users` WHERE user_login = '".$login."'");
  3.  


SELECT COUNT убрал
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB