【问题标题】:Header location to remain the same标题位置保持不变
【发布时间】:2013-11-04 13:53:39
【问题描述】:

我目前正在创建一个播客网站,我有一个表格供我的用户输入对他们正在收听的当前剧集的评论。

我的所有内容都存储在 mysql 中,我的剧集页面上的数据显示如下

http://www.mysite.com/episode.php?id=1

剧集有单独的内容。

在这个帖子adding to database no repeat on refresh

我提到了刷新时重新提交的表单,这就是我添加的原因

header('Location: index.php');

但是。我希望它能够访问同一个页面,并回显感谢信息。

我试过了

header('Location: episode.php?id=<?php echo $data['cast_id']; ?>');
echo "thank you";

但这又带来了错误Parse error: syntax error, unexpected T_STRING

请有人告诉我最好的方法吗?谢谢。

【问题讨论】:

  • header('位置:episode.php?id='.$data['cast_id']);请试试这个

标签: php mysql


【解决方案1】:
header('Location: episode.php?id=<?php echo $data['cast_id']; ?>');

你在已经启动的 php 标签中使用了 php 标签。

你可以简单地这样做..

session_start(); // make sure session is up and running
// just before redirecting 

$_SESSION['thankyou_msg'] = 1;
    header('Location: episode.php?id='.$data['cast_id']);

now on index.php.


session_start(); 

if(isset($_SESSION['thankyou_msg'])){
   echo "your thankyou message here";
   unset($_SESSION['thankyou_msg']);
}

【讨论】:

  • 谢谢,但我的回声不显示
  • 使用会话显示感谢通知。我已经更新了我的答案,以便您有一个想法
  • 非常感谢。
【解决方案2】:

header()函数是php函数,那为什么要在里面启动php呢? 还要添加exit() 并将消息存储在SESSION 变量中。

$_SESSION['msg'] = "thank you";
header("Location: episode.php?id=$data['cast_id']");
exit();

【讨论】:

  • 谢谢,但我在编辑原始帖子时显示的回显消息未显示。任何想法为什么?
  • @kevstarlive php 逐行执行代码,标头将您重定向到 episode.php,因此执行停止,标头之后的所有代码均不显示。更好的方法是在标头重定向之前将消息存储在 SESSION 中。并在标题后添加exit()
猜你喜欢
  • 1970-01-01
  • 2022-12-05
  • 1970-01-01
  • 1970-01-01
  • 2018-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多