Заголовок PHP в форме POST iframe

У меня проблема с загрузочной веб-страницей, которую я пытаюсь исправить.

У меня есть страница с формой. Внутри формы есть iframe.

Iframe содержит сетку и несколько кнопок. Нажмите на кнопку, чтобы увидеть модальное окно с двумя другими кнопками, которые добавляют строки в сетку iframe.

Я делаю это с помощью формы, но когда я добавляю новые строки, страница вылетает. Статус запроса ожидает, и весь сервер зависает.

Думаю, проблема может быть в заголовках. Они называют "albaranes.nuevo.detalle2.php", который является самим iframe.

Должен ли я вызывать выход после заголовка? Я так и думал, но у меня есть другая зеркальная страница для счетов (это для управления накладными), которая отлично работает без выходных вызовов.

Раньше я использовал ajax для вызовов базы данных, и я новичок в формах и начальной загрузке. В журнал сервера добавляется новая запись, но после ее сброса:

(104)Connection reset by peer: AH01075: Error dispatching request to :, referer: https://*****/*****/albaranes.nuevo.detalle2.php

Некоторый код albaranes.nuevo.detalle2.php (iframe):

session_start();
if (isset($_SESSION['idUsuario'])){
  include 'includes/conexion_pruebas.php';
  include 'includes/funciones.php';




  //***********************************************************************************************************************************************
  // DIALOG ACCEPT BUTTON
  if ((isset($_POST['accion'])) && ($_POST['accion'] == 'nuevo')) {
    if ($_POST['cantidad'] == 0){
      header ("Location: albaranes.nuevo.detalle2.php?id = ".$idAlbaran.'&s='.$s.'&error=5'); 
    }else{
      //Con los ids de las lineas, las copiamos y las agregamos al nuevo albaran.
      foreach ($_POST['ids'] as $id) {
        //Working stuff
        //...
      }
      header ("Location: albaranes.nuevo.detalle2.php?id = ".$idAlbaran."&s = ".$s);
    }
  }

?>
<!DOCTYPE html>
<html lang = "es">
  <head>
    ...
  </head>
  <body>

  <div class = "table-responsive col-md-12">
    <table>
      ...
    </table>
    <button type = "button" class = "btn btn-primary" data-toggle = "modal" data-target = "#barras">Barras</button>
    <button type = "button" class = "btn btn-primary" data-toggle = "modal" data-target = "#nuevo">Nueva</button>
  </div>

  <!-- Dialog -->
  <div id = "nuevo" class = "modal fade" tabindex = "-1" role = "dialog">
    <div class = "modal-dialog" style = "width: 80%">
      <div class = "modal-content">
        <form method = "post" action = "albaranes.nuevo.detalle2.php">
          <div class = "modal-body">
            <input type = "hidden" name = "accion" value = "nuevo" />
          </div>
          <div class = "clearfix"></div>
          <div class = "modal-footer">
            <input type = "submit" class = "btn btn-primary" value = "Guardar y Seguir" name = "seguir" />
            <input type = "submit" class = "btn btn-primary" value = "Añadir y Cerrar" name = "cerrar" />
            <button type = "button" class = "btn btn-danger" data-dismiss = "modal">Cancelar</button>
          </div>
        </form>
      </div>
    </div>
  </div>

  <?php  if (isset($_GET['s']) && ($_GET['s'] == '1')) { ?>
      <script type = "text/javascript">
        $(window).on('load',function(){
            $('#nuevo').modal('show');
        });
      </script>
  <?php  } ?>
  </body>
</html>
<?php
} else {
  header ("Location: login.php?error=1");
}
?>
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
0
176
1

Ответы 1

Функция PHP header не завершается после вызова, поэтому, если вы хотите убедиться, что ничего не выполняется после вызова header, вы должны поместить туда exit.

В большом операторе if вы проверяете значение cantidad, которое никогда не определяется, поэтому этот if никогда не сработает. Хотя я не думаю, что это часть проблемы.

В else из вышеупомянутого if / else вы также перебираете значение ids с помощью цикла foreach. Но опять же ids никогда не определяется.

Проблема, вероятно, вызвана каким-то бесконечным циклом или тайм-аутом в сценарии вызова header.

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

Shugui 05.06.2018 14:14

Другие вопросы по теме