注册后重定向到主页

时间:2013-12-08 07:36:14

标签: php html forms

注意:问题并不像标题所暗示的那么简单。然而,由于我无法想到更好的东西,我输入了我认为最接近我的问题。

我有一个html页面(让我们称之为firstpage)有两种形式(因为表单处理是通过php,它基本上是一个php页面)。该页面的php代码为here。一种形式是注册用户登录,一种形式用于注册新用户。在多个在线教程之后,我遵循了使用method="post" action="<?php echo $_SERVER['PHP_SELF']?>"将表单提交到页面本身的过程。但是,因为我为这两个表单执行此操作,我现在有以下问题:

1.一旦我加载firstpage,就会在注册期间检查新用户的各种约束的php file,理想情况下,只有当用户填写表单并点击注册时才会执行。因此,在加载firstpage

时总会显示一堆php乱码字符串

2.我不知道如何重定向到主页,这是新注册成功完成时应该出现的页面,也是注册用户登录时的主页。任何帮助都将非常有用。用于检查注册用户的php脚本是here

2 个答案:

答案 0 :(得分:1)

条件 1 &amp; 2 ,请按照

进行操作

1

替换 if 声明
if (($_SERVER['REQUEST_METHOD'] == 'POST') && (!empty($_POST['action']))):

if (($_SERVER['REQUEST_METHOD'] == 'POST') && isset($_POST['action']) && (!empty($_POST['action']))):

//Assuming $_POST['action'] is the name of your submit button.

2

利用 header 重定向到特定网页

像这样的东西

if(isset( $_SESSION['userid'] ))
{
    $message = 'Users is already logged in';
    header("location:profile.php");
    exit;
}

答案 1 :(得分:1)

至于1.通常的解决方法是使用布尔变量来跟踪每个字段的有效性(例如,isEmailValid),默认情况下设置为true 直到表格已提交。

$isEmailValid = true;

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $isEmailValid = false;

    function verifyEmail($email);
}

关于你的第二个问题,在完成所有检查并将新用户的记录存储到数据库后,你可以只做

header('Location: index.php');
exit();