0

医師がログインすると、ログイン資格情報に従って医師のテーブルにリダイレクトされ、医療専門家がログインすると、資格情報に従って健康テーブルにリダイレクトされるログインページを作成しています。SQLステートメントを使用してこれを行うにはどうすればよいですか? これまでのところ、医師のログインで機能するものは次のとおりです。

<?php
    session_start();

    $username = $_POST['username'];
    $password = $_POST['password'];

    if ($username&&$password) {

        $connect = mysql_connect("localhost","root","") or die ("Could not connect");
        mysql_select_db("telestroke_database") or die ("Could not find database");

        $query = mysql_query("SELECT * FROM doctor_credential_table WHERE Doctor_Username ='$username'      AND Doctor_Password ='$password'") or die(mysql_error($connect));
        $numrows = mysql_num_rows($query);

        if ($numrows!=0) {
            while ($row = mysql_fetch_assoc($query)) {
                $dbusername = $row['Doctor_Username'];
                $dbpassword = $row['Doctor_Password'];
                $dbdoctorid= $row['Doctor_ID'];
            }

            $_SESSION['Doctor_Username']=$username;
            $_SESSION['Doctor_ID']=$dbdoctorid;
            header( 'Location: doctor_patients.php' );
        } else {
            echo "Incorrect Username and/or Password.<br/>
                    <br/><a href='Homepage.html'>Click here to return to Homepage</a>";
        }
    }
?> 
4

2 に答える 2

0

医師と医療専門家の両方が同じフォームからログインしている場合、それぞれに個別のテーブルはありません。両方のタイプを含む中央のユーザー テーブルがあります。

3 つのテーブルを持つことができます。まず、すべてのユーザーに。別のユーザー グループの 2 番目。2つをリンクするための3番目:

Users
id    username    password
1     John        -
2     Emma        -
3     Dave        -

Groups
id    name
1     Doctors
2     Health Professionals

UserGroups
userId    groupId
1         1
2         1
3         2

次に、UserGroups テーブルから選択して、ユーザーのタイプを決定します。

select groupId from UserGroups where userId = $userId;

switch ($groupId)
    case 1:
        /* Do what is required for the Doctors group */
    case 2:
        /* Health professions group... */
    etc

3 番目のテーブルは必要ないことに注意してください。代わりに、この情報を単にユーザー テーブルに入れることができます。

于 2013-03-18T13:31:32.150 に答える
0

データベースに、取得したユーザーが医師または医療専門家であることを示す何らかのフラグがあると仮定すると、次のようになります。

switch($row['professiontype']){
    case 'doc':
        header( 'Location: doctor_patients.php' );
        break;
    case 'hp':
        header( 'Location: healt_professional.php' );
        break;
}
于 2013-03-18T13:25:44.517 に答える