我已使用此代码:
<?php
// [...]
ELSE IF(isset($_GET['msg'])){
echo "<div id='noticePanel' class='panel panel-success'><div class='panel-heading'>
<h2 class='panel-title'>Good job!</h2></div>
<div class='panel-body'><h4>".addslashes(strip_tags(trim(@$_GET[msg])))."</h4></div></div>";
}
//[...]
?>
如果某些操作顺利,可以从其他页面调用:
if ($result){
header("Location:index.php?msg=DB updated succesfully");
exit;
}
你可以想象但是,它不干净。工作,但不是最好的。
是否可以告诉我是否应将其移至 POST 请求,或者此代码是否“广泛”用于在页面之间交换状态消息?
并且,在POST的情况下,有人可以写下一些代码或将我重定向到一个解释良好的页面吗?我当然已经搜索了,我从mozilla找到了THIS,用jquery找到了THIS,并且在google上搜索了“发送帖子php标题”。 但我无法理解如何做到这一点。
非常感谢你们!
答案 0 :(得分:1)
因为您希望保持代码纯净
我建议你不要在GET / POST中发送消息
只需发送状态
即可index.php?status=success
然后检查结果文件中的状态
if(isset($_GET['status']) AND $_GET['status'] == success){
echo "bla bla";
}elseif(isset($_GET['status']) AND $_GET['status'] == fail){
echo "bla bla";
}else{
//do something
}
修改强>
如果您有许多消息,则可以创建数组
$message = [
'success' => 'success message here',
'fail' => 'failmessage here',
'notFound' => 'not found message'
];
$status = ( isset($_GET['status']) AND
isset($message[$_GET['status']]) )?$_GET['status']:'notFound';
echo $message[$status];
答案 1 :(得分:0)
我想我会接受这个:PHP. How to pass variable and auto redirect to another PHP file
<?php
session_start();
$id = $user_profile['id'];
$_SESSION['id'] = $id;
header('Location: checkIfExsists.php');
?>
在checkIfExsists.php页面上,检索变量:
<?php
session_start();
$id = $_SESSION['id'];
?>
session_start()
// [...]
ELSE IF(isset($_GET['msg'])){
echo "<div id='noticePanel' class='panel panel-success'><div class='panel-heading'>
<h2 class='panel-title'>Good job!</h2></div>
<div class='panel-body'><h4>".addslashes(strip_tags(trim(@$_SESSION['msg'])))."</h4></div></div>";
}
和..
session_start();
if ($result){
$_SESSION['msg'] = "DB updated!";
header("Location:index.php?msg");
exit;
}