0

一页上有两个登录表单和两个数据库表:admin( user, pass) 和 customer( fname, laname, email, user, pass)。一份给客户,一份给管理员。想在里面处理两种形式login.php

尝试将用户名和密码存储在各自的变量中时,如何确定Submit单击了哪个表单并从 login.php 中的两个表单访问user和字段?pass$_POST

像这样的东西?(进入 login.php):

if(//submit button in customer form was clicked){
$user=$_POST['customer_login']['user'];
$pass=$_POST['customer_login']['pass'];
}else{
//admin submit button was clicked
$user=$_POST['admin_login']['user'];
$pass=$_POST['admin_login']['pass'];
}

表格(HTML):

<form name="customer_login" method="post" action="login.php">
    <h3>Customer:</h3>
    Username: <input type="text" id="user" name="user"><br>
    Password: <input type="password" id="pass" name="pass"><br>
    <input type="submit" name="Submit" value="Sign in">
</form>  

<form name="admin_login" method="post" action="login.php">
    <h3>Admin:</h3>
    Username: <input type="text" id="user" name="user"><br>
    Password: <input type="password" id="pass" name="pass"><br>
    <input type="submit" name="Submit" value="Sign in">
</form> 
4

3 回答 3

1

为提交按钮提供唯一的名称和/或标识符,并检查哪个已设置。从记忆中,这应该可行,但否则您可以在每个表单中使用隐藏字段来指示您知道的预定义值,知道该值您可以处理适当的数据。

于 2013-02-04T14:44:44.883 回答
1

在您的一种形式中更改名称 attrbute,然后在 php 端检查您获得的 $_POST 值。例如:

<input type="submit" name="Submit2" value="Sign in">

if($_POST['Submit2']){
  //form 2 has been sent
}
于 2013-02-04T14:46:09.963 回答
0

仅为客户表单创建带有客户登录名的帖子名称。

if(isset($_POST['customer_login'])){
    $user=$_POST['customer_login']['user'];
    $pass=$_POST['customer_login']['pass'];
}else{
    //admin submit button was clicked
    $user=$_POST['admin_login']['user'];
    $pass=$_POST['admin_login']['pass'];
}
于 2013-02-04T14:45:21.140 回答