Форумы портала PHP.SU » » Вопросы новичков » уничтоэить сессию

Страниц (1): [1]
 

1. Kalver - 20 Июля, 2011 - 14:33:28 - перейти к сообщению
я новичок в пхп. возник вопрос. как сделать скрытую зону? у меня после регистрации и авторизации дается сессия
PHP:
скопировать код в буфер обмена
  1.      $_SESSION['login']=$login;
  2.      $_SESSION['pass']=$pass;
$login $pass это переменные от пост запроса из форм. ну вот, в закрытой зоне в начале делаю старт сессии, и проверку на сессию (нубопроверка, из головы взял). при выходе удаляю сессию тоже нубоспособом. вот весь фаил закрытой зоны
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. if ($_SESSION['login']=true)//типа на сессию проверяю
  3. {
  4. switch($_GET[mod]){
  5. default:
  6. include ("system/head.php");
  7. echo 'вы авторизованы';
  8. echo '<a href="?mod=exit">Выход</a></br>';
  9. include ("system/foot.php");
  10. break;
  11. case 'exit';
  12. setcookie('login', '');//в скрипте нарыл гдет
  13. setcookie('pass', '');
  14. header ('Location: index.php?');exit;
  15. break;
  16. }
  17. }
  18. else
  19. {
  20.         echo 'Вы не авторизованы';
  21.         }
  22. ?>
  23.  

ну вот когда на выход нажимаю кидает на главную. перехожу в ручную на menu.php и пишет вы авторизованны. а надо чтоб не авторизованы.
2. Мелкий - 20 Июля, 2011 - 14:39:41 - перейти к сообщению
Kalver пишет:
if ($_SESSION['login']=true)//типа на сессию проверяю

Проверяю - это == или ===.
3. morosit - 20 Июля, 2011 - 14:41:34 - перейти к сообщению
собственно вот http://www.php.su/functions/?session_destroy
4. PATCH - 20 Июля, 2011 - 23:17:36 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.         if(isset($_SESSION['user_id']) && isset($_GET['exit_user'])) // нажата ли кнопка exit_user и существует ли сессия с user_id
  2.         {      
  3.                 unset($_SESSION['user_id'],$_SESSION['user_login'], $_SESSION['user_pass']);
  4.                 echo(" <script type='text/javascript'>alert('вы успешно вышли') </script>"."<html><head><meta http-equiv='refresh' content='0; URL=index.php'></head></html>");  
  5.         }


Мелкий пишет:
Kalver пишет:
if ($_SESSION['login']=true)//типа на сессию проверяю

Проверяю - это == или ===.


Проверяю ЭТО isset();

PHP:
скопировать код в буфер обмена
  1. if (isset($_SESSION['login']))

эт я к чему) а малоли логин = false

тада false == true? Голливудская улыбкаDD

а вообще лучше брать ID пользователей.
5. Мелкий - 21 Июля, 2011 - 07:33:32 - перейти к сообщению
PATCH пишет:
Проверяю ЭТО isset();

Проверяю - это действия направленные на сравнение данных на соответствие необходимым, это может быть проверка на существование вообще, на пустоту, на определённый формат, на определённый тип и т.д. Но присваивание к таковым не относится.
У топикстартера бессмысленное условие, т.к. оно всегда выполняется.
6. PATCH - 21 Июля, 2011 - 19:04:09 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. if ($_SESSION['login']=true)//типа на сессию проверяю

ну так судя по этому ему надо проверка не на сравнение а на существовании сесии т.е isset();

самому интересно если через условие
PHP:
скопировать код в буфер обмена
  1. if ($_SESSION['login']==true)

а если $_SESSION['login'] = false? т.е у юзера логин: false и он занесен в сессию)) тогда походу условие не выполнится хотя и сессия естЬ) так что лучше через isset помойму)
7. alxfro - 21 Июля, 2011 - 20:29:34 - перейти к сообщению
Улыбнул ваш обмен "как нужно проверять" Закатив глазки

Чтож, добавим керосина.

Проверяю, это preg_match Хорошо
8. PATCH - 21 Июля, 2011 - 20:35:13 - перейти к сообщению
alxfro пишет:
Улыбнул ваш обмен "как нужно проверять"

Чтож, добавим керосина.

Проверяю, это preg_match

я мб и ошибаюсь но предложи по лучше, а не тупо пости посты, и в не мои ЦИТАТЫ вставляй мой НИК!!

 

Powered by ExBB FM 1.0 RC1