0

1つのページに2つのログインフォームと2つのデータベーステーブル(admin(user、 )とpasscustomer(fname、、、、 ))を用意します。1つは顧客用、もう1つは管理者用です。内部で両方のフォームを処理したいlanameemailuserpasslogin.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

フォームの 1 つで name 属性を変更してから、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 に答える