Php 成功登录后将页面重新定向到后续页面时出错

Php 成功登录后将页面重新定向到后续页面时出错,php,html,pdo,Php,Html,Pdo,我有这张联系表。我希望在填写表单并单击submit按钮后,我的脚本检查用户是否登录。如果用户未登录,他将被重定向到登录页面进行登录,然后他会看到“感谢填写表单”。我不知道怎么做,我的脚本会在用户登录后将其重定向回一个空的联系人表单,然后用户将再次填写字段。我如何解决这个问题 contact.php <?php session_start(); $location= urlencode($_SERVER['REQUEST_URI']); if (isset($_SESSION['id'])

我有这张联系表。我希望在填写表单并单击submit按钮后,我的脚本检查用户是否登录。如果用户未登录,他将被重定向到登录页面进行登录,然后他会看到“感谢填写表单”。我不知道怎么做,我的脚本会在用户登录后将其重定向回一个空的联系人表单,然后用户将再次填写字段。我如何解决这个问题

contact.php

<?php
session_start();
$location= urlencode($_SERVER['REQUEST_URI']);
if (isset($_SESSION['id']) == false){
    echo "You have to be <a href='login.php?location=$location'>logged in</a>";
}else{
//Insert into database 
//thanks for filling the form
}
?>
//Contact form fields

//联系人表单字段
login.php

<?php
if (login details is true) {
             $redirect = NULL;
             $redirect = $_GET['location'];
             header("Location:". $redirect);
}
?>

登录后,将用户凭据转换为会话,如他的联系人id、联系人姓名,以便在整个项目中使用此会话进行此类检查。。。。。
在联系人表单中,如果用户登录到您的网站,您将获得会话详细信息。例如,如果用户以
$\u session['contact\u id']登录,您将他的联系人id转换为如下会话:
然后,您可以在顶部的Contact页面中使用此会话id进行检查,如下所示:

 <?
    $redirect = "login.php";
    if($_SESSION['CONTACT_ID']=='')
    {
     header("Location:". $redirect);
    }
?>


如果用户未登录,则他将无法使用联系人页面,并将被重定向到登录页面。首先,您必须保存用户在每个字段中输入的内容,您可以通过将$\u帖子传递到$\u会话来完成此操作

session_start();
$_SESSION['example'] = $_POST['dataFromForm'];
...
用户登录后,您可以在字段(html表单)中检索这些数据$\u会话:


你能解释一下吗?plus
session\u register()
从PHP5.3.0开始就被弃用,从PHP5.4.0开始被删除。另外,为什么要使用不推荐的MySQL API?@Fred ii-我的坏Fred。。实际上,我在一年前就使用了这个代码。。感谢您的标记将更新它。如果OP使用的是5.4,那么这个
会话\u register()
将无法工作,很抱歉。@Fred ii-感谢您的评论,我感谢您更新了我的代码。
session_start();
$_SESSION['example'] = $_POST['dataFromForm'];
...
<input type="text" name="something" value="<?php echo (isset($_SESSION['example'])):$_SESSION['example']?''; "/>