php - 使用 header() 重新加载页面后使用 echo() 写入文本

标签 php if-statement header echo

我有一个名为 account_settings.php 的页面,它包括更改密码、更改个人资料图片、更改用户详细信息(姓名、简历等)。我的问题是如何在使用 header() 重定向页面后使用 echo() 编写消息。

像这样:

if (true) 
{
    Do_Some_MySQL();
    header("Location: account_settings.php");
    echo "Success!";
}
else
{
    echo "Error!";
}

感谢大家的回复。 ;-)

最佳答案

在发送 Location header 后,您实际上不能做任何事情 - 这是不可能的。

相反,您可以使用 $_SESSION 数组值来执行您的任务。喜欢:

if (true) 
{
  Do_Some_MySQL();
  $_SESSION['message'] = 'Error!';
  header("Location: account_settings.php");
}

else
{
  echo "Error!";
}

然后在您的 account_setting.php 上:

<?php echo $_SESSION['message'] ?>

如果 account_settings.php 与您当前所在的页面不同,那就太好了。否则,您可以使用以下代码:

if (true) 
{
  Do_Some_MySQL();
  $error = 'Success!';
  header("Location: account_settings.php");
}

else
{
  $error = "Error!";
}

在同一页上:

<?php if($error) echo $error; ?>

另外不要忘记在两个页面上都包含 session_start()(如果您还没有的话)。

关于php - 使用 header() 重新加载页面后使用 echo() 写入文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29456785/

相关文章:

php - 获取最多一行的准备好的 MySQL 语句结果的最佳方法

javascript - 使用 PHP 和 ajax 制作 alert()

Java - If 语句不起作用(比较字符串)

C++ 编译时宏来检测 Windows 操作系统

c++ - 头文件和附加库

php - 将 foreach 的值从 Controller 传递到 View

php - Cakephp 2.x 停放域 https 不工作

java - 返回数组中包含等于槽索引的值的槽数量的计数

MySQL IF 语句、IF SET、ELSE 什么都不做?

c++ - 我可以在函数头中包含 cppcheck 抑制吗?