2017-04-16 2 views
0

このコードは、ここでは行が正常にデータベースに挿入されると警告ダイアログボックスを表示しようとします。また、ダイアログボックスを表示した後、ページをリロードしたいheader("location: link-1.php?e=Changes has been saved.")をコメントアウトすると、警告ボックスが正常にポップアップしますが、コメントを外すとダイアログは表示されなくなります。ページをリロードするか、別のページにリダイレクトする直前に警告ボックスを表示するにはどうすればいいですか?

if(mysqli_affected_rows($connect) == 1){ 
    echo "<script type='text/javascript'>alert('Updated successfully.');</script>"; 
    header("location: link-1.php?e=Changes has been saved."); 
} 
else { 
    header("location: link-1.php?error=Something went wrong."); 
} 
+0

PHP警告を表示できません。ブラウザでは実行されません。ページをリロードする前にアラートを表示する必要がある場合は、そのページでJavascriptで実行する必要があります。ページがリロードされるまでphpは実行されません。 –

答えて

1

警告を表示し、ページをリロードするためにこれを試してみてください:

if(mysqli_affected_rows($connect) == 1) 
{ 
?> 
    <script> 
    alert('Updated successfully'); 
    location.reload(); // It will reload the page and reloading will get the latest inserted data from db 
    </script> 
<?php  
} 
0

あなたはあなたのヘッダーが既にされているあなたのhtml(ジャバスクリプト)を送信することによってので、リダイレクトするPHPヘッダーを呼び出すことはできません。送信されます。 javascriptを使用してリダイレクトする必要があります。 window.location.href={your_url}はリダイレクトされます。

しかし、これは適切なアプローチではないと思いますが、おそらくそれを逆にするべきです。最初にPHPでリダイレクトするロジックを実行し、そのスクリプトに警告ボックスを表示するかどうかをロジックに含めます。

関連する問題