iframe POST窗体上的PHP标头

时间:2018-06-04 12:21:38

标签: php html 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");
}
?>

1 个答案:

答案 0 :(得分:1)

PHP header函数在调用后不会退出,所以如果你想确保在header调用之后没有执行任何内容,你应该在exit处放置cantidad

在大if语句中,检查从未定义的值ids,因此这将永远不会触发。虽然我不认为这是问题的一部分。

在上面提到的if / else的else中,你还使用foreach循环遍历ids值。但是header永远不会被定义。

问题可能是由tidyverse调用脚本中的无限循环或超时引起的。