[英]Displaying a flash message and redirecting to another page after Token mismatch exception
[英]displaying a message after redirecting the user to another web page
我正在用PHP和MySql做HTML。 在用戶執行了一些數據庫操作之后,我的系統將用戶重定向到原始數據庫頁面,以便向他顯示更新后的表。 (我已經完成了這部分)。 同時,我希望在原始頁面(系統移動到的頁面)上向用戶顯示一條消息,以通知用戶操作成功。 如何顯示此消息?
這是我的php代碼,可移至另一頁。
Header( 'Location: Database.php');
Header( 'Location: Database.php?success=1' );
並在Database.php頁面中:
if ( isset($_GET['success']) && $_GET['success'] == 1 )
{
// treat the succes case ex:
echo "Success";
}
將其作為“閃存”消息存儲在session
中:
$_SESSION['message'] = 'success';
並在重定向后在Database.php
顯示它。 在顯示后還刪除其內容:
print $_SESSION['message'];
$_SESSION['message'] = null;
這樣做的好處是,用戶每次刷新頁面時都不會再次顯示該消息。
你可以這樣做:
$_SESSION['msg']="Updation successfully completed";
header("location:database.php");
在database.php上
echo $_SESSION['msg'];
unset($_SESSION['msg']);
一種解決方案是將消息放入SESSION中的php文件中。 因此,在原始頁面中,您將獲得該SESSION變量並進行顯示。 例如:
在您的php文件中:
session_start();
$_SESSION["message"]="MESSAGE OF SUCCESS"
在您的原始文件中:
session_start();
if(isset($_SESSION["message"]))
{
echo"SUCCESS OR THE MESSAGE SET IN THE VAR SESSION";
unset($_SESSION["message"]);
}
解決此問題的最佳方法是在過程頁面中成功完成操作后設置會話消息。 然后在重定向頁面中檢查是否設置了會話消息,如果已設置則簡單地回顯該消息。 以下代碼可能會對您有所幫助。
$_SESSION['MSG']="Your data is saved";
Header( 'Location: Database.php');
exit;
//now in the database.php page write at the top
<?php
if(isset($_SESSION['MSG'])){
echo $_SESSION['MSG'];
}
?>//its very simple,you can also format the message by using different html attributes
在重定向到新頁面之前,您可以設置一個cookie,其中包含要顯示的消息,在加載原始頁面時,您會看到是否設置了此特殊cookie,如果是,則可以顯示存儲在cookie中的成功消息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.