2015-10-31 11 views
0

Я использую простой способ иметь окно подтверждения при удалении записи, проблема здесь. Я не мог найти, где разместить header код для перенаправления на другую страницу после удаления. Я поставил его после выполнения запроса и получить эту ошибкуПодтвердить удаление javascript, php

Не удается изменить информацию в заголовке - заголовки уже прислал (выход начался в ...

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

if(isset($_POST['submit'])){ 
$que=$db->prepare("DELETE FROM blogs WHERE blogs_id = :blogId"); 
$que->execute(array(':blogId'=>$blogId)); 
header("location:front.php"); 
} 

<form method="POST"> 
<input type="submit" name="submit" value="Delete" onclick="return confirm("Are you sure you want to delete this?")" /> 
</form> 
+1

Не используйте заголовок для перенаправления на другое использование страницы Javascript window.location '' если (Исеть ($ _ POST [ «отправить» ])) { $ que = $ db-> подготовить ("УДАЛИТЬ ИЗ Блогов WHERE blogs_id =: blogId"); $ que-> execute (array (': blogId' => $ blogId)); ?> '' –

+2

Рахул ошибается. 'header' является предпочтительным. Сначала убедитесь, что перед отправкой заголовка (включая любые пробелы) нет другого выхода. Во-вторых, выпустите 'exit;' сразу после заголовка, или остальная часть скрипта будет продолжать разбираться. – rjdown

ответ

1

заменить

header("front.php"); 

с

echo "<script> window.location='front.php';</script>"; 
0

Использование мета-тег обновления вместо заголовка перенаправить страницу

<meta http-equiv="refresh" content="0;url=http://example.com"> 
0

вам нужно использовать header("location:front.php"); вместо header("front.php"); // но перед заголовком не должно быть никакого эхо или печать в противном случае он не будет перенаправлен.

ваш вход для подтверждения неправильно изменить его к этому:

<input type="submit" name="submit" value="Delete" onclick='return confirm("Are you sure you want to delete this?")' /> 
+0

извините, что была опечатка –

+0

@ bɪɡɪnə вы получаете окно с подтверждением. Потому что в соответствии с вашим html вы не должны получить. –