Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Безуспешная авторизация
 
 автор: ramundo   (28.02.2014 в 14:15)   письмо автору
 
 

делаю по примеру: http://ajaxs.ru/lesson/php/38-sozdanie_registracii_polzovatelej_na_sajte.html



<?php
include_once("bd_connect.php");
date_default_timezone_set('Europe/Moscow');


if (isset(
$_POST['login'])){
     
$login $_POST['login']; 
     if (
$login == '') {
         unset(
$login);
         exit (
"Введите пожалуйста логин!");
     } 
 }
if (isset(
$_POST['password'])){
     
$password $_POST['password']; 
     if (
$password == '') {
         unset(
$password);
         exit (
"Введите пароль");
     }
 }
$login stripslashes($login);
$login htmlspecialchars($login);
$password stripslashes($password);
$password htmlspecialchars($password);
  
$login trim($login);
$password trim($password);
//$password = md5($password);//шифруем пароль
$user mysql_query("SELECT id FROM userinfo WHERE login='$login' AND pass='$password'");
$id_user mysql_fetch_array($user);
if (empty(
$id_user['id'])){
     exit (
"Извините, введённый вами логин или пароль неверный.");
 }
else {

 
$_SESSION['aut'] = "YES";
     
$_SESSION['password'] = $password
     
$_SESSION['login'] = $login
     
$_SESSION['id'] = $id_user
 }
 
 
//session_write_close();
 
echo "<meta http-equiv='Refresh' content='0; URL=index.php'>";
?>


Незакомментированный рефреш переносит на главную страницу, и авторизация теряется. В чем проблема?

  Ответить  
 
 автор: psychomc   (28.02.2014 в 23:43)   письмо автору
 
   для: ramundo   (28.02.2014 в 14:15)
 

1) должен быть session_start(), если он есть (в bd_connect.php) то вынесите, т.к это не логично, там должен быть коннект к бд и больше ничего
2) выше session_start() впишите error_reporting(E_ALL), чтобы видеть стартует сессия или нет и всякие другие интересные моменты
3) $_SESSION['aut'] - в этом нет никакого смысла, т.к наличие $_SESSION['id'] уже говорит о том, что пользователь авторизован
4) пароль действительно в сессии нафиг не нужен
5) stripslashes выкинуть, htmlspecialchars тоже не к месту, переадресацию нужно делать через header location
5) еще нужно обязательно изучить: SQL-инъекции, PDO

  Ответить  
 
 автор: ramundo   (01.03.2014 в 13:22)   письмо автору
 
   для: psychomc   (28.02.2014 в 23:43)
 

спасибо, будем пробовать За направления к инъекциям и PDO отдельно) $_SESSION['aut'] - да, лишнее, не помню, зачем добавил, - что-то хотел проверить.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования