php发布多个提交按钮

时间:2016-08-21 15:37:54

标签: php html post form-submit

首先,这是我第一次编写PHP代码,所以请原谅我的新手。

我有一个登录表单,其中包含3个提交按钮(post方法),名为login,register和forgot。如果我选择登录按钮,则会调用PHP代码中的登录功能,但是,对于寄存器和忘记按钮,情况也是如此。它几乎就像唯一正在工作的提交按钮是登录按钮。我在这一点上最好的猜测是id / name不正确。为了简洁起见,我删除了CSS部分。任何正确方向的点都将受到最高的赞赏。

<?php
function login(){
//do stuff
echo "Login";
}

function register(){
// do stuff
echo "Register";
}

function forgot(){
//do stuff
echo "Forgot";

}

 if($_SERVER["REQUEST_METHOD"] == "POST") {
   if(isset($_POST['login'])) {
    login();
   }
    if(isset($_POST['register'])) {
    register();
   }
    if(isset($_POST['forgot'])) {
    forgot();
   }
}
?>

<html>
<head>
<meta charset="utf-8">
<title>Login Page</title>
</head>
<body>
<div id="login">
<h1><strong>Welcome!</strong> Please login.</h1>
<form action="" method="post">
<fieldset>
<p><input type="text" name="username" required value="Username" onBlur="if(this.value=='')this.value='Username'" onFocus="if(this.value=='Username')this.value=''"></p>
<p><input type="password" name="password"></p>
<p><input type="submit" name= "login" value="Login"></p>
<p><input type="submit" name= "register" value="Register"></p>
<p><input type="submit" name= "forgot" value="Forgot Password"></p>
</fieldset>
</form>
</div> <!-- end login -->
</body>
</html>

2 个答案:

答案 0 :(得分:2)

HTML表单不能包含多个类型的输入&#34;提交&#34; (这意味着其他人不会运作)

注册忘记是链接而不是按钮。 相反,你可以使用:

<a href="/register.php">Register</a>

另一种选择是使用javascript使这些按钮充当链接。

答案 1 :(得分:0)

将我的代码复制并粘贴到另一个文件中。它没有任何问题。多个提交按钮可以正常工作。