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

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

1. rolms - 24 Ноября, 2011 - 19:28:26 - перейти к сообщению
Такая проблема возникла:
когда в базе даных есть 1 запись то вывести возможно эту запись,
если добавляю 2 запись то вывести с помощю запроса могу втораю а 1 нет , и так дале.
уже целый день голову ломаю так как я не профисионал
сам скрипт запроса которыйя подкючаю к файлу из формой для входа:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. include_once "db.php";///подключаемся к базе даных
  4.  
  5. $db_doc_user = $db->query('SELECT *FROM user');
  6. while($db_user = $db_doc_user->fetch_array()) {
  7. ;
  8.  
  9. $user_login = $db_user['logine'];///готовый запрос на логин
  10. $user_pass = $db_user['pass']; ///готовый запрос на пароль
  11.  
  12. }
  13. ?>
2. Bio man - 24 Ноября, 2011 - 19:41:39 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. include_once "db.php";///подключаемся к базе даных
  2.  
  3. $db_doc_user = $db->query('SELECT `logine`, `pass` FROM `user`');
  4. while($db_user = $db_doc_user->fetch_assoc()) {
  5.  
  6. $user_login[] = $db_user['logine'];///готовый запрос на логин
  7. $user_pass[] = $db_user['pass']; ///готовый запрос на пароль
  8.  
  9. }
  10. var_dump($user_login, $user_pass);
3. rolms - 24 Ноября, 2011 - 19:58:09 - перейти к сообщению
тепер немогу вывести ни 1 ани 2 запись
что делать из

(Добавление)
если прописываю
PHP:
скопировать код в буфер обмена
  1.  
  2. $user_login[1] = $db_user['logine'];///готовый запрос на логин
  3. $user_pass[1] = $db_user['pass']; ///готовый запрос на пароль
  4.  
[/quote]

то успешно вызываетса 2 запрос
а 1 нет((
(Добавление)
вод собственно и сама форма для ввода логина и пароля,
я
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4. include_once "db.php";//подключаемся к дб
  5. include_once "user.php"; //запрос (етот файл вверху)
  6.  
  7.  
  8. echo  '<form action="login.php" method="post" >
  9. Введіть логін:   <br/><input type=text name="login"><br>
  10. Введіть пароль: <br/><input type=password name="pass"><br>
  11. <input type=submit value="GO!">
  12. </form>';
  13.  
  14.  
  15. $_SESSION['login'] = $_POST['login'];
  16. $_SESSION['pass'] = $_POST['pass'];
  17.  
  18. if ( ($user_login[2]  == $_SESSION['login'] ) && ($user_pass[2] == $_SESSION['pass'] ) )
  19. {
  20. echo " ммсмисим))";
  21.  
  22.  
  23.  
  24. }
  25. else echo "errorr!!!!!!!!!!!!!";
  26.  
  27.  
  28. ?>
  29.  
4. Bio man - 24 Ноября, 2011 - 20:22:49 - перейти к сообщению
выводи в цикле!
PHP:
скопировать код в буфер обмена
  1.     include_once "db.php";///подключаемся к базе даных
  2.      
  3.     $db_doc_user = $db->query('SELECT `logine`, `pass` FROM `user`');
  4.     while($db_user = $db_doc_user->fetch_assoc()) {
  5.      
  6.     echo $db_user['logine'].'<br>';///готовый запрос на логин
  7.     echo $db_user['pass'].'<br>'; ///готовый запрос на пароль
  8.      
  9.     }
  10.  

или так
(Добавление)
rolms, в чем задача? авторизация?
(Добавление)
PHP:
скопировать код в буфер обмена
  1.     include_once "db.php";///подключаемся к базе даных
  2.      
  3.     $db_doc_user = $db->query('SELECT `logine`, `pass` FROM `user`');
  4.     while($db_user = $db_doc_user->fetch_assoc()) {
  5.          $user[] = $db_user;
  6.     }
  7.     echo '<pre>';
  8.     var_dump($user);
  9.     echo '</pre>';

смотри структуру и думай что дальше делать
(Добавление)
rolms пишет:
PHP:
скопировать код в буфер обмена
  1. $_SESSION['login'] = $_POST['login'];
  2. $_SESSION['pass'] = $_POST['pass'];
бред!
5. rolms - 24 Ноября, 2011 - 20:40:30 - перейти к сообщению
да,так тоже всьоравно 2 запрос выводит а 1 нет ,может ето проблема в самой таблице базы даных...
(Добавление)
да ето авторизация.
(Добавление)
под 1 пользователем войти невозможно, под 2 возможно...
сам незнаю... учится мне ещо и учитса,
Как нибуть розбирусь Всем спасиба.
6. Bio man - 24 Ноября, 2011 - 20:51:53 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. include_once "db.php";//подключаемся к дб
  3. include_once "user.php"; //запрос (етот файл вверху)
  4.  
  5. if($_SERVER['REQUEST_METHOD'] == 'POST') {
  6.         $login = trim(strip_tags($_POST['login']));// минимальное, что нужно сделать с входящими данными
  7.         $pass = trim(strip_tags($_POST['pass']));// минимальное, что нужно сделать с входящими данными
  8.  
  9.         $sql = "SELECT `id` FROM `user` WHERE `logine` = '{$login}' AND `pass` = '{$pass}'":
  10.         $result = $db->query($sql);
  11.         $id = $result->fetch_row();
  12.         $_SESSION['logged_in'] = ($result->num_rows == 1) ? true : false;
  13.        
  14.         if($_SESSION['logged_in']) {
  15.                 $_SESSION['id'] = $id[0];
  16.                 header('Location: index.php');
  17.                 exit;
  18.         }
  19.         header('Location: '.$_SERVER['PHP_SELF']);
  20.         exit;
  21. }
  22.  
  23. echo '<form action="login.php" method="post" >
  24.         Введіть логін:   <br/><input type=text name="login"><br>
  25.         Введіть пароль: <br/><input type=password name="pass"><br>
  26.         <input type=submit value="GO!">
  27.         </form>';
  28. ?>

самая простая авторизация.

 

Powered by ExBB FM 1.0 RC1