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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: проверка сессий

Сообщения:  [1-2] 

 
 автор: Trianon   (06.01.2010 в 18:43)   письмо автору
 
   для: frisst   (06.01.2010 в 18:33)
 

зачем вопрос в двух разделах?

ответ в http://softtime.ru/forum/read.php?id_forum=3&id_theme=70840

  Ответить  
 
 автор: frisst   (06.01.2010 в 18:33)   письмо автору
 
 

Добрый вечер... Я неоднократно спрашивал у вас насчёт этого скрипта...
Хотел попросить вас о помощи.
Как проверять на каждой странице авторизован ли юзер или нет(получается проверить сессии)

<?
  session_start
();
  
//если нажали кнопку
  
if ($_POST[sub])
  {
    require_once(
"config.php");
    
//проверяем данные на sql-inj
    
$login mysql_escape_string($_POST['login']);
    
$passw mysql_escape_string($_POST['passw']);

    
$result mysql_query("select * from users where login='$login'");
    
$data mysql_fetch_assoc($result);
    if (
mysql_num_rows($result)>0)
    {
      if (
$data['passw'] == $passw)
      {
        
//устанавливаем sessie
        
$_SESSION['login'] = $data['login'];
        
$_SESSION['passw'] = $data['passw'];
        
//сессии установлены, авторизация пройдена
        
echo "<head><meta http-equiv='refresh' content='1;url=login.php'></head>";
      }
      else echo 
"Не правильный пароль";
    }
  }

  
//если сессия заполнена
  
if ( (isset($_SESSION['login'])) && (isset($_SESSION['passw'])) )
  {
      require_once(
"config.php");
      
//находим в БД пользователя удовлетворяющего сессиям
      
$result mysql_query("select * from users where login='".$_SESSION['login']."' AND passw='".$_SESSION['passw']."'");
      
//если такой пользователь существует
      
if (mysql_num_rows($result) == 1)
      {
        
$data mysql_fetch_assoc($result);
      }
      
//если в БД нету такого пользователя то обнуляем кукисы и переходи к авторизации
      
else
      {
        echo 
"Пожалуйста, авторизуйтесь!";
        unset(
$_SESSION['login']);
        unset(
$_SESSION['passw']);
        echo 
"<head><meta http-equiv='refresh' content='1;url=login.php'></head>";
      }
  }
  else
      echo 
"<form method='post'>
              <table rules='all'>
                <tr><td colspan='2' align='center'><b>Авторизация</b></td></tr>
                <tr><td>Ваш логин</td><td><input type='text' name='login'></td></tr>
                <tr><td>Ваш пароль</td><td><input type='password' name='passw'></td></tr>
                <tr><td colspan='2' align='center'><input type='submit' name='sub' value='Отправить'></td></tr>
              </table>
            </form>"
;
?>  


Поястню, авторизация проходит на отдельной странице login.php
И если пользователь аторизован, то автоматически переводить его на index.php.
Если он не авторизован, то пересылать на login.php

что мне нужно дописать или удалить из этого кода, и что добавлять на каждой, требуемой авторизации, странице?
помогите пожалуйста... очень надо

  Ответить  

Сообщения:  [1-2] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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