这是我的问题:我在同一页面上有两个表单。第一种形式工作正常。但是每当我单击第二个表单上的提交按钮时,我都会收到两个通知。第一个表示“未定义索引:电子邮件”,指的是“$email = $_POST["email"];” 在我的编码中。第二个说“未定义索引:密码”,指的是“$password = $_POST["password"];” 在我的编码中。我不希望我的第二种形式受到我为第一种形式创建的所有“if 语句”的影响。我将很快为第二种形式创建更多的“if 语句”。例如,当我点击第二个表单上的提交按钮时,它正在回显“您需要输入电子邮件和密码”,这是我只想应用于第一个表单的错误。
所以我的问题是:我怎样才能让表格只受到一组特定的“if 语句”的影响?就像在 css 编码中一样,你应用 id,但是我会对表单或“if 语句”做什么,所以“if 语句”只影响特定的表单?
这是编码:
<form action="login.php" method="post">
<ul id="login">
//login information
<li id="loginn">
<input type="submit" value="Log in">
</li>
</ul>
</form>
<form action="" method="post">
<ul id="register">
//register info list items
<li>
<input type="submit" value="Sign up">
</li>
</ul>
</form>
<?php
if (empty($_POST) === false) {
$email = $_POST["email"];
$password = $_POST["password"];
if (empty($email) === true || empty($password) === true) {
$errors[] = "You need to enter an email and password.";
} else if (user_exists($email) === false) {
$errors[] = "The email you entered is not in our records. Have you registered?";
} else if (user_active($email) === false) {
$errors[] = "Go to your email, open the email we sent you,and activate your account.";
} else {$login = login($email, $password);
if ($login === false) {
$errors[] = "That email/password combination is incorrect.";
} else {
$_SESSION['users_id'] = $login;
header('Location: homepage.php');
exit();
}
}
}
if (empty($errors) === false) {
?>
<?php
echo output_errors($errors);
}
?>