簡単な解決策は、セッションを使用します。これにより、同じユーザーが別のページを読み込んだときに取得できるデータを格納できます。以下の例では、任意のページに続いて、このアプローチ
delete.php
<?php
//session must be started before anything is echoed to the browser
if(session_status()===PHP_SESSION_NONE) session_start();
...
mysqli_query($conn, $sql) or die ("Delete Error");
$_SESSION['message'] = "Record #$_GET[del_id] was successfully deleted";
Header("Location: select.php");
を使用して、あなたが表示するメッセージがあるかどうかを確認することができます。その場合は、メッセージストアを取得してメッセージストアをクリアします(ユーザーが新しいページを開くたびに同じメッセージが表示されないようにします)。
select.php
<?php
//session must be started before anything is echoed to the browser
if(session_status()===PHP_SESSION_NONE) session_start();
...
//capture the message if it exists, or set $msg to null
if(!empty($_SESSION['message'])){
$msg = $_SESSION['message'];
unset($_SESSION['message']); //delete the message
}else{$msg = null;}
今、あなたはどこにでもそれがnullでない場合は、HTMLにしたい$msg
を表示することができます。あなたのコメントを受けて
:セッションがすべて出力前に開始しなければならない理由を尋ねた:
を出力がブラウザに行く前に、HTTPレスポンスヘッダに影響を与え、任意の設定が来なければならないHTTPプロトコルでは、ヘッダが来るので、内容の前にセッションはデフォルトでヘッダーに依存します(Cookie
ヘッダーが正確です)。
From the manual:は、クッキーベースのセッションを使用するには、のsession_start()は、ブラウザに何かをoutputing 前に呼び出す必要があります。
ヘッダーを削除し、echoとallを 'if {}/else {}'に追加します。確かにあなたは私たちの助けなしにそれをした可能性があります –
削除されたレコードまたは単に単純なメッセージ "レコード削除"に基づいて成功メッセージ? –