sasha15
Новичок
Дата регистрации:
16.02.2014 21:34:59
Сообщений: 1
<?php
include 'config/baza.php';
if(isset($_POST['log'])){
$login = $_POST['login1'];
$password = $_POST['password1'];
$resul = mysql_query("SELECT * FROM `users` WHERE `login`='$login'"
$postrow = mysql_fetch_array($resul);
$login_dva = $postrow['login'];
$id_dva = $postrow['id'];
$pass_baza = $postrow['password'];
if($password != $pass_baza){
echo 'Неверный пароль и/или логин';
}else{
session_start();
$_SESSION['login'] = $login_dva;
$_SESSION['id'] = $id_dva;
header ("Location: index.php"
}
}
?>
<form action="" method="post">
<input class="inputik" type="text" name="login1" id="login" placeholder="Логин" />
<input class="inputik" type="password" name="password1" id="login" placeholder="Пароль" />
<input class="submit_register" type="submit" name="log" value="Войти" />
</form>
LLIMATKO
Эксперт
Дата регистрации:
12.02.2013 15:31:03
Сообщений: 129
Ищите с помощью echo или print_r
tikkiwiki
Модератор
Дата регистрации:
15.11.2013 15:36:59
Сообщений: 194
Здравствуйте.
$postrow = mysql_fetch_array($resul);
Смущает меня $resul. Проверьте. Так же сессии стартовать надо в самом начале, а не в середине.
Avery
Освоившийся
Дата регистрации:
05.05.2013 15:48:09
Сообщений: 37
А собственно, что выводит php в ошибку?
Не используйте include! Пишите require_one. Ибо include не выводит ошибку если файл не найден и продолжает дальше выполнять скрипт. Возможно в этом и ошибка.
Avery
Освоившийся
Дата регистрации:
05.05.2013 15:48:09
Сообщений: 37
<?php
require_once 'config/baza.php'; //Скорей всего тут с include была ошибка, файл не был найден
session_start();
if(isset($_POST['log']))
{
$login = $_POST['login']; //Отныне не login1, ибо так писать тоже не верно(в html тоже поменял)
$password = $_POST['password'];
$results= mysql_query(mysql_real_escape_string("SELECT * FROM `users` WHERE `login`='$login'");
// mysql_real_escape_string - функция безопасности, экранирует спец символы, помогает избежать SQL инъекций
$postrow = mysql_fetch_array($results);
$loginDB = $postrow['login']; //Изменил из-за того, что переменные лучше не писать транслитом
$passDB = $postrow['password'];
if($password !== $passDB) //!== - отрицание оператоа ===, который сравнивает и типы переменны, а не только значения
{
echo 'Неверный пароль и/или логин';
}
else
{
/*
Несовсем понял зачем вы в сессию заносите и login, и id.
Лучше заносить логин и паполь, и при заходе на сайт сверять их еще раз
с данными из БД
*/
$_SESSION['login'] = $loginDB;
$_SESSION['password'] = $idDB;
header ("Location: index.php"
}
/*
Так же я не увидел само соиденение с базой.
Возможно вы его пропустили.
Так же во избежании путаницы, старайтейсь при работате с BD
использовать класс mysqli.
*/
}
?>
<form action="" method="post">
<input class="inputik" type="text" name="login" id="login" placeholder="Логин" />
<input class="inputik" type="password" name="password" id="login" placeholder="Пароль" />
<input class="submit_register" type="submit" name="log" value="Войти" />
</form>