双重提交按钮在php使用开关的情况下


Double Submit button on php using switch case

我在表单中有两个提交按钮,我使用Switch case方法来实现代码。一个用于登录页面,即它重定向到另一个页面其他为新用户页面,这个应该重定向到另一个注册页面。

但是我的代码不工作,下面是代码。

<?php
switch($_POST['submit'])
{
case 'SignIn':
    header('Location : http://localhost/eproject/UserPage.php');
    break;
case 'NewUser':
echo "NEw user page resgistri";
    break;
default:
echo "Dont know what you are doing ! ";
break;
}

?>

<table>
<form name="form8" method="post" >
<tr><td>Cutomer Username</td><td><input type="text" name="uname"></td></tr>
<tr><td>Customer Password</td><td><input type="password" name="pwd"</td></tr>
<tr><td><input type="submit" value="SignIn" name="submit"></td><td><input type="submit"         value="NewUSer" name="submit"></td></tr>
</form>
</table>

最好使用隐藏的输入字段,如:

<input type="hidden" name="thefieldname" value="thevalue" />

,那么你可以像这样使用switch语句:

switch($_POST['thefieldname']){
    case '':
       .....
       break;
}

要容易地发现像这样的错误(NewUSer而不是NewUSer),如果代码不工作,首先使用GET方法并检查它是否工作。如果不是,检查地址栏中的所有GET变量。这将有助于简化调试。

header("location: ....

应该始终使用

die();

value="NewUSer"在HTML

NewUser在PHP

  • 注意大写的S