За последние 24 часа нас посетили 22399 программистов и 1150 роботов. Сейчас ищут 676 программистов ...

Перезагрузка страницы после отправки формы или нажатию sumbit

Тема в разделе "PHP и базы данных", создана пользователем WaleraPP, 25 сен 2017.

Метки:
  1. WaleraPP

    WaleraPP Новичок

    С нами с:
    25 сен 2017
    Сообщения:
    11
    Симпатии:
    0
    Есть index.php который выводит таблицу и на нем расположена кнопка "sumbit" которая отправляет форму в delete.php и удаляет строки отмеченные с помощью "checkbox".Проблема в том что после отправки страница не обновляется , если нажать обновить в браузере "обновить" удаленные строки исчезают но при этому выделенные "checkbox" остаются. Помогает только перезагрузка страницы (и "checkbox" сбрасываются и строки исчезают). Как правильно сделать перезагрузку ?
    Код (Text):
    1. <head>
    2. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    3. <title>Документ без названия</title>
    4. <script type="text/javascript" src="http://yandex.st/jquery/2.1.0/jquery.min.js"></script>
    5. <script type="text/javascript" language="javascript">
    6.     function call() {
    7.       var msg   = $('#forms').serialize();
    8.         $.ajax({
    9.           type: 'POST',
    10.           url: 'delete.php', // Если обработчик лежит не рядом с формой, то здесь следует указать полный путь до него. Например http://example.com
    11.           data: msg,
    12.           success: function(data) {
    13.             $('#results').html(data);
    14.           },
    15.           error:  function(xhr, str){
    16.                 alert('Возникла ошибка: ' + xhr.responseCode);
    17.             }
    18.            
    19.         });
    20.     }
    21.     function add() {
    22.   location.reload();
    23. }
    24. </script>
    25. <?php
    26. // Подключение login.php
    27. require_once 'login.php';
    28. // Соединение с базой данных
    29. $db_server = mysqli_connect($db_hostname, $db_username, $db_password);
    30. if (!$db_server) die("Невозможно подключиться к MySQL: " . mysqli_error());
    31. mysqli_query($db_server,"SET NAMES utf8");
    32. //Выбор базы данных
    33. mysqli_select_db($db_server, $db_database)
    34. or die ("Невозможно выбрать базу данных: " . mysqli_error());
    35. // Сам запрос SQL
    36. $query = "SELECT id,ip_addr,namepc,pass, passadm FROM vlc ORDER BY ip_addr ";
    37. // Выводим таблицу на экран
    38. $result = mysqli_query($db_server, $query);
    39. echo '<table border="1">';
    40. echo '<thead>';
    41.   echo '<tr>';
    42. echo '<th>ID</th>';
    43.   echo '<th>IP</th>';
    44.   echo '<th>Имя ПК</th>';
    45.   echo '<th>Пароль</th>';
    46.   echo '<th>Пароль администратора</th>';
    47.   echo '</tr>';
    48.   echo '</thead>';
    49.   echo '<tbody>';
    50. ?><form method="POST" id="forms" action="javascript:void(null);" onsubmit="call()"><?php
    51. echo '<input  type="submit" action="index.php" name="submitForm" value="Удалить отмеченные" />';
    52. while($data = mysqli_fetch_array($result))
    53. {
    54.     echo '<tr>';
    55.     echo '<td>' . $data['id'] . '</td>';
    56.     echo '<td>' . long2ip ($data['ip_addr']) . '</td>';
    57.     echo '<td>' . $data['namepc'] . '</td>';
    58.     echo '<td>' . $data['pass'] . '</td>';
    59.     echo '<td>' . $data['passadm'] . '</td>';
    60.     echo "<td width='10px'><input type='checkbox' name='check[]' value=". $data['id'] ."></td>";
    61.     echo '</tr>';
    62. }
    63. ?></form><?php
    64. ?>
    Код (Text):
    1. <?php
    2. require_once 'login.php';
    3. $db_server = mysqli_connect($db_hostname, $db_username, $db_password);
    4. if (!$db_server) { echo "Текст ошибки error: " . mysqli_connect_error() . PHP_EOL; exit; }
    5. mysqli_select_db($db_server, $db_database);
    6. foreach ($_POST['check'] as $item)
    7. {
    8. $query = "DELETE FROM vlc WHERE id = $item";
    9. $result = mysqli_query($db_server, $query);
    10. }
    11. ?>
     
  2. Max Brown

    Max Brown Новичок

    С нами с:
    22 сен 2017
    Сообщения:
    7
    Симпатии:
    0
    А где у Вас в html-коде id="results"?
     
  3. karmay

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

    С нами с:
    9 ноя 2017
    Сообщения:
    180
    Симпатии:
    18
    Адрес:
    Н.Новгород
    Если я правильно понял вопрос, то есть такая функция header(), например,
    header('Location: ../index.php');
    Указывается она в конце php скрипта, т.е. скрипт отработал и пойдет перенаправление пользователя на главную страницу.
     
  4. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    Заголовки работают не так.

    Во-первых, если не используется буферизация вывода, их нужно прописывать строго в начале работы скрипта до первого отданного байта.. Если же используется буферизация, то их можно прописывать где угодно. От этого ничего не изменится.

    Во-вторых, они не выполняются на сервере. Это часть ответа сервера. Указание клиенту, не более того. Даже нет, не указание, а просьба. Клиент, с определенной вероятностью, может внемлить содержимому заголовка (если это браузер, соблюдающий стандарты), а может и не внемлить (если это бот, который на эти ваши стандарты болт клал). Не более того.
     
    TeslaFeo нравится это.