注意:问题并不像标题所暗示的那么简单。然而,由于我无法想到更好的东西,我输入了我认为最接近我的问题。
我有一个html页面(让我们称之为firstpage
)有两种形式(因为表单处理是通过php,它基本上是一个php页面)。该页面的php代码为here。一种形式是注册用户登录,一种形式用于注册新用户。在多个在线教程之后,我遵循了使用method="post" action="<?php echo $_SERVER['PHP_SELF']?>"
将表单提交到页面本身的过程。但是,因为我为这两个表单执行此操作,我现在有以下问题:
1.一旦我加载firstpage
,就会在注册期间检查新用户的各种约束的php file,理想情况下,只有当用户填写表单并点击注册时才会执行。因此,在加载firstpage
2.我不知道如何重定向到主页,这是新注册成功完成时应该出现的页面,也是注册用户登录时的主页。任何帮助都将非常有用。用于检查注册用户的php脚本是here
答案 0 :(得分:1)
条件 1
&amp; 2
,请按照
从
替换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.
利用 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();