PHP重定向到带有URL变量的页面

Seb*_*ian 1 php get include

我有一个页面,q.php它是由其id定义的用户提交的帖子(例如,q.php?id=1将使用该$id变量从数据库中提取所有其余信息的某个帖子).

我试图在同一页面上编写评论提交,并说明用户可能不会在该字段中输入任何内容.如果发生这种情况,我希望页面(例如q.php?id=1)再次加载错误消息.

我可以使用一个空变量来执行错误消息,然后通过表单激活的php文件给出一个值.但是,我遇到了导航回特定帖子的问题.我试图使用include('q.php?id=$id)$ id设置为数字,但我知道这不是它的目的,它不接受变量

我应该用什么呢?

编辑

answer.php(表单激活的文件):

require 'q.php';
$_GET['id'] = $id;
$_SESSION['error'] = "Please fill in all of the fields.";
Run Code Online (Sandbox Code Playgroud)

q.php:

if ($_SESSION['error'] !== 0) {
    echo "<p style='color: #AA1111;'>".$_SESSION['error']."</a>";
    unset($_SESSION['error']); // this isn't happening...
}
Run Code Online (Sandbox Code Playgroud)

Ry-*_*Ry- 5

如果您确实必须包含内联页面,则可以随时修改$_GET:

$_GET['id'] = $id;
require 'q.php';
Run Code Online (Sandbox Code Playgroud)

但是错误消息听起来像是可以使用会话变量或重定向来完成.重定向可能看起来像:

header('Location: q.php?id=' . $id . '&error=The+error');
exit();
Run Code Online (Sandbox Code Playgroud)

然后,检查$_GET['error']q.php.使用一个会话变量,这将是大致相同的,除了没有添加error作为查询字符串参数,使用$_SESSION['error']unset立即它.