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
Форумы портала PHP.SU :: Версия для печати :: не совпадает логин
Форумы портала PHP.SU » » Вопросы новичков » не совпадает логин

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

1. toha2503 - 07 Ноября, 2015 - 03:27:34 - перейти к сообщению
Прошу помочь, уже несколько дней сижу над проблемой. Создал регистрацию на сайте, занёс в базу неких пользователей, после чего пытаюсь войти в свой профиль. И сделал некую проверку, что если введённый логин не совпадает с теми логинами что есть в базе то выводит соответствующие уведомления. Проблема заключается в том что уведомления выводит в любом случаи даже тогда когда казалось все правильно. Вот код....
PHP:
скопировать код в буфер обмена
  1.  
  2. $bd = mysql_connect('localhost','root');
  3. mysql_select_db('tutorlals', $bd);
  4.  
  5. $Row = mysql_query("SELECT * FROM `users` WHERE login = '$_POST[login]'") or die("ERROR");     
  6.         if ($Row['login'] != $_POST['login']) echo 'FALSE login';
  7.         else echo 'TRUE login';
  8.  
  9.  

CODE (html):
скопировать код в буфер обмена
  1.  
  2. <form action="index.php" method="post">
  3. <input type="text" name="login"/>
  4. <input type="submit" />
  5. </form>
  6.  
2. DeepVarvar - 07 Ноября, 2015 - 03:46:42 - перейти к сообщению
toha2503 пишет:
$bd
А вот и подмывательное БИДЭ, давно я его не видел.
Или это BazaDannyh? И как тогда это переводится на английский?

1) Ты забыл поставить LIMIT 1
2) Кто за тебя будет фетчить результат?
3) mysql_ устарело и будет удалена (если уже не удалена) в новых версиях пхп.
4) $_POST['login']может вообще не быть если форму не сабмитили.
5) Включай полный уровень вывода ошибок, без него жизни нет.
6) Читать: http://forum.php.su/topic.php?fo...33&topic=793
3. toha2503 - 07 Ноября, 2015 - 03:49:38 - перейти к сообщению
прошу расписать полностью код, поскольку только учусь и многого не понимаю
(Добавление)
DeepVarvar пишет:
toha2503 пишет:
$bd
А вот и подмывательное БИДЭ, давно я его не видел.
Или это BazaDannyh? И как тогда это переводится на английский?

1) Ты забыл поставить LIMIT 1
2) Кто за тебя будет фетчить результат?
3) mysql_ устарело и будет удалена (если уже не удалена) в новых версиях пхп.
4) $_POST['login']может вообще не быть если форму не сабмитили.
5) Включай полный уровень вывода ошибок, без него жизни нет.
6) Читать: http://forum.php.su/topic.php?forum=33&topic=793
4. DeepVarvar - 07 Ноября, 2015 - 03:57:45 - перейти к сообщению
Полностью? Ни в коем случае! Иначе ничему не научишься.

1) WHERE login = '$_POST[login]' LIMIT 1
2) mysql_fetch_assoc
3) Юзать http://php.net/manual/ru/book.mysqli.php или http://php.net/manual/ru/book.pdo.php
4) if ($_POST && array_key_exists('login', $_POST)) { ...
5) error_reporting
5. toha2503 - 07 Ноября, 2015 - 04:12:56 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.  
  2. $bd = mysql_connect('localhost','root') or die('Подсойдинения к базе не произошло');
  3. $CONNECT = mysql_select_db('tutorlals', $bd);
  4. $Row = mysqli_fetch_assoc(mysqli_query($CONNECT, "SELECT `login` FROM `users`WHERE login = '$_POST[login]' LIMIT 1")) or die(error_reporting(-1));
  5.          if ($_POST && array_key_exists('login', $_POST)) {echo 'FALSE login';}
  6.         else {echo 'TRUE login';}

вот что получилось только все равно не работет
6. DeepVarvar - 07 Ноября, 2015 - 04:22:54 - перейти к сообщению
Вот так тоже работать не будет:
PHP:
скопировать код в буфер обмена
  1. $bd = die('Подсойдинения к базе не произошло') or array_key_exists('login', $_POST);
  2. $Row = mysqli_query('tutorlals', $CONNECT);
  3. $bd = mysql_select_db(mysqli_fetch_assoc($CONNECT, "SELECT `login` FROM `users`WHERE login = '$_POST[login]' LIMIT 1")) or die($_POST);
  4.          if (error_reporting(-1) && mysql_connect('root','localhost')) {echo 'FALSE login';}
  5.         else {echo 'TRUE login';}

Это я к тому, что нужно понимать что ты собираешься закодить.
Возьми листочек бумажки и распиши по шагам что ты должен сделать и в каком порядке.
7. IdCox - 08 Ноября, 2015 - 12:30:45 - перейти к сообщению
Вместо
PHP:
скопировать код в буфер обмена
  1.  
  2. $bd = mysql_connect('localhost','root') or die('Подсойдинения к базе не произошло');
  3. $CONNECT = mysql_select_db('tutorlals', $bd);
  4.  

Пробуй
PHP:
скопировать код в буфер обмена
  1.  
  2. $db = mysqli_connect('localhost','root','','tutorlals');
  3.  
8. dcc0 - 08 Ноября, 2015 - 14:01:02 - перейти к сообщению
3) mysql_ устарело и будет удалена (если уже не удалена) в новых версиях пхп.

В PHP 5.6. еще есть.
Почему-то думаю, что удалена будет не скоро.

В проекте, который сейчас ковыряю обнаружил такое:


html

input name="some_name"

if (isset($some_name)) на php 5.2 - это работало...
Я перевел проект на 5.6 - работать естественно перестало.

К чему я это?
Так что не забывайте про версии интерпретатора...
9. DelphinPRO - 08 Ноября, 2015 - 17:12:02 - перейти к сообщению
dcc0 пишет:
3) mysql_ устарело и будет удалена (если уже не удалена) в новых версиях пхп.

В PHP 5.6. еще есть.
Почему-то думаю, что удалена будет не скоро.


Релиз PHP 7, в котором расширение mysql_* выпилено из ядра, назначен на 12 ноября. Осталось всего 4 дня. Так что очень скоро Улыбка
10. toha2503 - 08 Ноября, 2015 - 22:09:51 - перейти к сообщению
DelphinPRO пишет:


Релиз PHP 7, в котором расширение mysql_* выпилено из ядра, назначен на 12 ноября. Осталось всего 4 дня. Так что очень скоро Улыбка


то есть будет замисть mysql_connect будет просто connect ?

 

Powered by ExBB FM 1.0 RC1