Вход пользователя с использованием PHP - PullRequest
0 голосов
/ 06 мая 2011

Я не смог отследить, что не так с этим кодом.Я пытаюсь войти в систему пользователя, взяв его имя пользователя и пароль.Вот что я пытаюсь сделать.

index.php:

Этот файл проверяет, установлен ли файл cookie с именем пользователя, и отображает файл соответствующим образом.Этот файл отправляет имя пользователя и пароль в файл с именем validate.php.

validate.php:

<?php
session_start();
include("connector.php");
$var=connect();
if($var==10)
{
    $valid=false;
    $row= mysql_query('select * from users where username="'.$_POST["username"].'"');
        if($row['password']==$_POST["password"])
        $valid=true;
     if($valid)
     {
         $_SESSION["username"]=$_POST["username"];
         $_SESSION["userid"]=$row['userid'];
        echo "<script>document.location.href='./session_creator.php'</script>";
     }
     else
     {
        echo "invalid";
     }
}
?>

connector.php ==>

<?php
$connection=0;
function connect()
{
    $dbc = mysql_connect('localhost:3306','root','root');
    if (!$dbc)
    {
        die ('Not connected:'. mysql_error());
        return -10;
    }
    else
    {
        $connection = mysql_select_db("citizennet",$dbc);
        if(!$connection)
        {
            die("Not connected: ". mysql_error());
            return -20;
        }
    }
    return 10;
}

?>

session_creator.php:

<?php
    session_start();
    setcookie("username",$_SESSION['username'],time()+3600);
    setcookie("userid",$_SESSION['userid'],time()+3600);
    echo "<script>document.location.href='./index.php'</script>";
?>

перенаправленный файл index.php сообщает, что cookie не установлен.Я новичок, пожалуйста, исправьте меня, если процесс, которым я следую, неверен.

Я добавляю index.php, который проверяет, вошел ли пользователь в систему:

<?php
if(!isset($_COOKIE["username"]))
echo '<a id="login_button">login</a> <div id="login_box_pane"><form action=validate.php method="post">Username: <input type="text"/> Password:<input type="password"/><input type="submit"/></form></div>';
else
echo "<a>".$_COOKIE["username"]."</a>";
?>

Ответы [ 2 ]

1 голос
/ 06 мая 2011

Когда вы устанавливаете свой cookie на своей странице, он должен выглядеть следующим образом:

<?php //login page
session_start()
$username = $_POST['username'];
$password = $_POST['password'];

/*
Check authentication with database values
*/
//if login successful set whatever session vars you want and create cookie
$_SESSION['username'] = $username;
setcookie($username, $password, time()+3600);

?>

Перед этим вам нужно будет проверить учетные данные пользователей и войти в систему или запретить их.После входа вы устанавливаете переменные сеанса.Затем для создания куки вы используете код выше.

1 голос
/ 06 мая 2011
$user = mysql_real_escape_string($_POST['user']);
$pass = mysql_real_escape_string($_POST['pass']);

$sql = "SELECT * FROM users WHERE username='$user' AND password='$pass'";
$result = mysql_query($sql);

Это позаботится о ваших уязвимостях sql-инъекций, а также даст вам правильную учетную запись, только если имя пользователя и пароль верны

Теперь вы можете использовать ваши условия для установки файлов cookie и сеансов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...