我有一个问题。我想回复我的信息("主题创建","主题创建失败"取决于我的主题是否创建)。问题是,即使将$_SESSION["message"]
设置为if
条件,也会在每个页面上显示消息。我真的不知道问题出在哪里。我大概失去了2个小时......
包括所有包含和要求......
这是在我的进行页面上:
if(isset($_POST["submit"])) {
$menu_name = mysql_prep($_POST["menu_name"]);
$position = (int) $_POST["position"];
$visible = (int) $_POST["visible"];
$query = "INSERT INTO subjects(";
$query .= " menu_name, position, visible ";
$query .= ") VALUES ('{$menu_name}', '{$position}', '{$visible}')";
$result = mysqli_query($connection,$query);
if($result) {
//success //
$_SESSION["message"] = "Subject created";
redirect_to("manage_content.php");
} else {
$_SESSION["message"] = "Subject creation failed";
redirect_to("create_new_content.php");
}
} else {
redirect_to("create_new_content.php");
}
我的留言功能是:
session_start();
function message() {
if (isset($_SESSION["message"])){
$output = $_SESSION["message"];
return $output;
}
}
毕竟我在manage_content.php
和create_new_content.php
<?php echo message(); ?>
答案 0 :(得分:0)
尝试清除$ _SESSION消息并检查是否为空
function message() {
if (isset($_SESSION["message"]) && !empty($_SESSION["message"])){
$output = $_SESSION["message"];
$_SESSION["message"] = '';
return $output;
}
}
答案 1 :(得分:0)
如果您只显示一次消息,则需要在return
之前清除$ _SESSION [“消息”]
session_start();
function message() {
if (isset($_SESSION["message"])){
$output = $_SESSION["message"];
// clear the session message
$_SESSION["message"] = null;
// remove message index from $_SESSION
unset($_SESSION["message"]);
return $output;
}
}
答案 2 :(得分:0)
您应该在不再需要时清除会话。
E.g。
unset($_SESSION['message']);