За последние 24 часа нас посетили 20228 программистов и 1608 роботов. Сейчас ищут 1967 программистов ...

Ошибка (mysqli_query)

Тема в разделе "Сделайте за меня", создана пользователем Vitte, 2 фев 2017.

  1. Vitte

    Vitte Активный пользователь

    С нами с:
    30 янв 2017
    Сообщения:
    113
    Симпатии:
    5
    Вот, смотри. Это обработчик
    PHP:
    1. <?php
    2. require 'bd.php';
    3. require '../bd.php';
    4. ?>
    5.  
    6. <?php if ( isset($_SESSION['logged_user']) ) :
    7.  
    8.  
    9. $title = $_POST['title'];
    10. $password = $_POST['password'];
    11. $tag = $_POST['tag'];
    12. $players = $_POST['players'];
    13. $cards = $_POST['cards'];
    14.  
    15.  
    16.  
    17. $result = mysqli_query($connection,"INSERT INTO tourn (title, password, tag, players, cards) VALUES ('$title', '$password', '$tag','$players', '$cards')");
    18. //Если запрос пройдет успешно то в переменную result вернется true
    19. if($result == 'true')
    20. {echo "Ваши данные успешно добавлены<br>
    21.       <a href='http://clash.com/tournirs/admin/index.php'>Перейти на главную</a>";}
    22. else{echo "Ваши данные не добавлены";}?>
    23.  
    24.  
    25.  
    26. <?php else : ?>
    27. <a href="http://clash.com/tournirs/admin/login.php">Авторизация</a><br>
    28. <a href="http://clash.com/tournirs/admin/signup.php">Регистрация</a>
    29. <?php endif ; ?>
    На скрине я обновляю страницу и вносятся пустые данные в таблицу
    --- Добавлено ---
    Сортировка по ID от самых больших, до малых
     

    Вложения:

    • ош1.png
      ош1.png
      Размер файла:
      4,4 КБ
      Просмотров:
      1
    • ош2.png
      ош2.png
      Размер файла:
      1,9 КБ
      Просмотров:
      0
  2. san4ez

    san4ez Активный пользователь

    С нами с:
    13 авг 2016
    Сообщения:
    331
    Симпатии:
    47
    ну я и говорю, у тебя нет проверки на пустую кнопку (submit или button в форме). Делай условие если isset($_POST['submit'] то производить запись. (чуть исправил, хотя !empty скорей всего будет правильнее...)
    P.S. Почитай про sql-иньекцию, хотя бы для начала https://php.ru/manual/mysqli.real-escape-string.html
    --- Добавлено ---
    собственно, ответ был дан выше, читай про ORDER BY
     
    #27 san4ez, 3 фев 2017
    Последнее редактирование: 3 фев 2017
  3. Vitte

    Vitte Активный пользователь

    С нами с:
    30 янв 2017
    Сообщения:
    113
    Симпатии:
    5
    Так?

    PHP:
    1. <?php
    2.  
    3.  
    4. require 'bd.php';
    5. require '../bd.php';
    6.  
    7.  
    8. ?>
    9.  
    10. <?php if ( isset($_SESSION['logged_user']) ) :
    11.   if ( !empty($_POST['go_add']) {
    12.      
    13.  
    14.  
    15. $title = $_POST['title'];
    16. $password = $_POST['password'];
    17. $tag = $_POST['tag'];
    18. $players = $_POST['players'];
    19. $cards = $_POST['cards'];
    20.  
    21.  
    22.  
    23. $result = mysqli_query($connection,"INSERT INTO tourn (title, password, tag, players, cards) VALUES ('$title', '$password', '$tag','$players', '$cards')");
    24. //Если запрос пройдет успешно то в переменную result вернется true
    25. if($result == 'true')
    26. {echo "Ваши данные успешно добавлены<br>
    27.       <a href='http://clash.com/tournirs/admin/index.php'>Перейти на главную</a>";}
    28.  
    29.  
    30. else{echo "Ваши данные не добавлены";}
    31.  
    32. }else{
    33. echo "не добавлено!";
    34. }
    35.  
    36. <?php else : ?>
    37. <a href="http://clash.com/tournirs/admin/login.php">Авторизация</a><br>
    38. <a href="http://clash.com/tournirs/admin/signup.php">Регистрация</a>
    39. <?php endif ; ?>
     
  4. san4ez

    san4ez Активный пользователь

    С нами с:
    13 авг 2016
    Сообщения:
    331
    Симпатии:
    47
    ну да как то так, проверяй, я сам только учусь же, могу и че нибудь не заметить
     
  5. Vitte

    Vitte Активный пользователь

    С нами с:
    30 янв 2017
    Сообщения:
    113
    Симпатии:
    5
    А куда тут сортировку то пихнуть :)? в этом коде
     
  6. san4ez

    san4ez Активный пользователь

    С нами с:
    13 авг 2016
    Сообщения:
    331
    Симпатии:
    47
    а что ты хочешь тут отсортировать? ты же ничего не выводишь из бд, у тебя только запись
     
  7. Vitte

    Vitte Активный пользователь

    С нами с:
    30 янв 2017
    Сообщения:
    113
    Симпатии:
    5
    Тогда тут

    PHP:
    1. <?php
    2.  
    3. $tourn = mysqli_query($connection, "SELECT * FROM `tourn`");
    4.  
    5. ?>
    6. <?php
    7.  
    8.   while ( $art = mysqli_fetch_assoc($tourn)) {
    9.       ?>
    10.       <div class="twrapminl">
    11.     <div class="tbackbl"></div>
    12.         <div class="tname"><?php echo $art['title'];?></div>
    13.         <div class="tpass"><?php echo $art['password'];?></div>
    14.         <div class="tteg"><?php echo $art['tag'];?></div>
    15.     <img class="ttroic" src="/images/img/troic.png" alt="Мест:">
    16.         <div class="tmx"><?php echo $art['players'];?></div>
    17.     <img class="tcard" src="/images/img/card.png" alt="Карт:">
    18.      <div class="tcx"><?php echo $art['cards'];?></div>
    19. </div>
    20.       <?php
    21.   }
    22. ?>
     
  8. san4ez

    san4ez Активный пользователь

    С нами с:
    13 авг 2016
    Сообщения:
    331
    Симпатии:
    47
    кстати, исправь все таки !empty на isset...
    --- Добавлено ---
    SELECT * FROM `tourn` ORDER BY `id` DESC
     
  9. Vitte

    Vitte Активный пользователь

    С нами с:
    30 янв 2017
    Сообщения:
    113
    Симпатии:
    5
    Смотри, нужно чтобы было так
    Вот такой код:

    PHP:
    1. <?php
    2. $result_tourn = mysqli_query($connection,"SELECT * FROM tourn order by id");
    3. $tourn = mysqli_query($connection, "SELECT * FROM `tourn`");
    4.  
    5. ?>
    6. <?php
    7.  
    8.   while ( $art = mysqli_fetch_assoc($tourn)) {
    9.       ?>
    10.       <div class="twrapminl">
    11.     <div class="tbackbl"></div>
    12.         <div class="tname"><?php echo $art['title'];?></div>
    13.         <div class="tpass"><?php echo $art['password'];?></div>
    14.         <div class="tteg"><?php echo $art['tag'];?></div>
    15.     <img class="ttroic" src="/images/img/troic.png" alt="Мест:">
    16.         <div class="tmx"><?php echo $art['players'];?></div>
    17.     <img class="tcard" src="/images/img/card.png" alt="Карт:">
    18.      <div class="tcx"><?php echo $art['cards'];?></div>
    19. </div>
    20.       <?php
    21.   }
    22. ?>
    И по скринам, чтоб этот
    ошш.png
    Был в начале
    шшш2.png
     
  10. san4ez

    san4ez Активный пользователь

    С нами с:
    13 авг 2016
    Сообщения:
    331
    Симпатии:
    47
    зачем ты 2 раза делаешь выборку?
    делай так
    PHP:
    1. $tourn = mysqli_query($connection, "SELECT * FROM `tourn` ORDER BY `id` DESC");
    и удали строку с $result_tourn
     
  11. Vitte

    Vitte Активный пользователь

    С нами с:
    30 янв 2017
    Сообщения:
    113
    Симпатии:
    5
    Спасибо!
     
  12. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    DESC сортирует в обратном порядке, на всякий случай.
     
  13. Vitte

    Vitte Активный пользователь

    С нами с:
    30 янв 2017
    Сообщения:
    113
    Симпатии:
    5
    Это как раз и надо было сделать, теперь осталось удаление сделать в админке
    :eek::eek::eek:
     
  14. san4ez

    san4ez Активный пользователь

    С нами с:
    13 авг 2016
    Сообщения:
    331
    Симпатии:
    47
    пробуй, что будет непонятно-спрашивай
     
  15. espltd

    espltd Новичок

    С нами с:
    11 авг 2015
    Сообщения:
    47
    Симпатии:
    2
    Да, читаю и офигиваю...