1

ユーザー名とパスワードに基づいて特定の URL をユーザーに割り当てる方法を教えてもらえますか?

エリック

4

2 に答える 2

3

問題のユーザーに関連付けられたデータベースにその URL を入れてみませんか。ユーザーとパスワードのクエリが TRUE の場合、そのユーザーに関連付けられた URL にリダイレクトします。

以下に例を示します。データベースに「users」という名前のユーザーが 1 人いて、次のフィールドがあるとします。

  • id (自動インクリメント付きで主キーとして設定された ID)
  • ユーザー (ユーザー名)
  • パス(パスワード)
  • url (リダイレクトの URL)

login.php フォームは次のようになります

    <?php
    //Database connection
    $sql = mysql_connect("localhost","dbUsername","dbPassword");
    mysql_select_db("dbName", $sql);

    if ($_POST['submitLogin'){
     //Login query
     $q = mysql_query("SELECT * FROM users WHERE user LIKE '".$_POST['user']."' AND pass LIKE '".$_POST['pass']."'");
     $r = mysql_fetch_assoc($q);
     if (mysql_num_rows($q) >= 1){
       //If the user / password are found -> redirect
       header('Location:'.$r['url']);
     }else{
       //else return the login error
       echo "Login failed";
    }
    ?>


    <form action="" method="post">
     User : <input type="text" name="user" /><br>
     Password : <input type="password" name="pass"/><br>
     <input type="submit" name="submitLogin" value="Login"/>
    </form>

私はこれがトリックを行うべきだと思います:D

于 2011-07-24T04:53:16.977 に答える
-1

クエリを送信して結果を解析する方法は、データベースへのアクセスに mysqli、PDO、またはその他を使用しているかどうかによって異なります。mysqli を使用しているとしましょう。

データベース接続が $dbc で参照され、$user と $pass でユーザー名とパスワードを取得し、それらを検証し、クエリで使用するためにサニタイズしたと仮定すると、次のようなことができます。

$query = "SELECT url FROM table_name WHERE user = $user AND pass = $pass";
$result = @mysqli_query ($dbc, $query);

if ($row = mysqli_fetch_assoc($result)){
    header ('Location: ' . $row['url']);
    exit;
}
else{

    // Handle invalid username/password

}

非常に基本的なものであり、SHA1 またはクエリにパスワードを格納するために使用している暗号化を使用します。

于 2011-07-24T05:34:04.090 に答える