【问题标题】:php session for redirecting user to empty form page用于将用户重定向到空表单页面的 php 会话
【发布时间】:2018-03-17 14:45:54
【问题描述】:

我是 php 新手,遇到了 php 会话问题。 我有一个表单,当用户按下提交按钮时,我想显示一个警报,然后将其重定向到空表单页面。但我的代码不起作用:

session_start();

if (mysqli_query($connection, $sql)) {

if (isset($_SESSION['id'])) {
    echo "Records added successfully.";
    header("Location: index.php");
    exit();
} else {
    echo "ERROR: Could not able to execute $sql." . mysqli_error($connection));
    header("Location: index.php");

}

【问题讨论】:

  • alert() 不是 PHP 函数(除非您自己定义了它,在可访问的代码中)
  • 我可以用什么来代替它?
  • 这真的取决于你真正想要达到的目标。您可以通过 ajax 提出请求,然后使用 javascript 根据结果显示适当的消息。或者您可以重定向到 index.php 并包含一个标志参数,指示操作是否成功,然后在 index.php 上检查该标志并显示相关消息。选项太多,无法给出具体答案。进一步了解 PHP、HTML 和 Javascript 之间的区别。
  • 谢谢,但即使使用 echo 代码也不起作用
  • 那是因为你不了解header() 函数的实际作用。 You can't echo before header()

标签: php sql session


【解决方案1】:

Alert 是一个 javascript 函数。

如果您想显示 Javascript 警报,可以使用以下代码:

echo '<script>alert("Records added successfully.")</script>';

但在你的情况下,如果你将显示警报页面重定向将不起作用。

如果您想在 index.php 页面上显示成功消息,则将该消息存储到会话中,例如 $_SESSION['message']

index.php 页面上检查会话是否包含消息,然后显示消息并将其从会话中删除,这样它就不会再次出现。例如:

if(isset($_SESSION['message'])){
  echo $_SESSION['message'];
  unset($_SESSION['message']);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-08
    • 2021-01-12
    • 1970-01-01
    • 1970-01-01
    • 2015-09-26
    • 2016-08-20
    • 1970-01-01
    相关资源
    最近更新 更多