У меня проблема с загрузочной веб-страницей, которую я пытаюсь исправить.
У меня есть страница с формой. Внутри формы есть 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 header не завершается после вызова, поэтому, если вы хотите убедиться, что ничего не выполняется после вызова header, вы должны поместить туда exit.
В большом операторе if вы проверяете значение cantidad, которое никогда не определяется, поэтому этот if никогда не сработает. Хотя я не думаю, что это часть проблемы.
В else из вышеупомянутого if / else вы также перебираете значение ids с помощью цикла foreach. Но опять же ids никогда не определяется.
Проблема, вероятно, вызвана каким-то бесконечным циклом или тайм-аутом в сценарии вызова header.
Все переменные определены, опубликованный код - это всего лишь фрагмент, но спасибо за советы. Я думаю, что вызовы выхода решат мою проблему, но я не знаю, почему работает аналогичная страница без вызовов выхода, а не это.