Мне нужен скрипт входа в MySQL PHP, который направляет пользователя на определенный URL на основе имени пользователя и пароля - PullRequest
1 голос
/ 24 июля 2011

Может ли кто-нибудь показать мне или указать мне направление, которое показывает назначение определенного URL-адреса пользователю на основании его имени пользователя и пароля?

Эрик

Ответы [ 2 ]

3 голосов
/ 24 июля 2011

Почему бы вам не поместить этот URL в базу данных, связанную с этим пользователем?Если запрос для пользователя и пароля равен TRUE, тогда перенаправьте на этот URL-адрес, связанный с этим пользователем.

Вот пример, пусть говорит, что у вас есть 1 пользователь в базе данных с именем «users» с полями:

  • id (идентификатор с автоинкрементом и установлен в качестве первичного ключа)
  • пользователь (имя пользователя)
  • pass (пароль)
  • 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

0 голосов
/ 24 июля 2011

Способ отправки запроса и анализа результата будет зависеть от того, используете ли вы 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 или любое другое шифрование, которое вы используете для хранения паролей в запросе.

...