X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> PHP авторизация
Vic1993
Vic1993
Topic Starter сообщение 29.10.2009, 22:40; Ответить: Vic1993
Сообщение #1


У меня есть авторизация с помощью сессий.
Введя логин и пароль, данные передаются на другую страницу и там уже обрабатываются, если всё верно - перебрасывать на другую страницу, если нет - писать что логин или пароль неверный.
На странице, на которую перебрасывает в начале стоит:
<?php
  // открываем сессию
   session_start();
   if(!isset($name)){
    header("Location: login.php");
    exit;
    }
?>
А мне нужно чтобы ещё на одной странице была такая проверка.
Вставляю в начало тоже самое:
<?php
  // открываем сессию
   session_start();
   if(!isset($name)){
    header("Location: login.php");
    exit;
    }
?>
Но ничего не выходит.
Т. е. мне нужно, чтобы посетитель если залогинился, его перекинуло на первую страницу. И если он перейдёт на вторую страницу, нужно чтоб его туда "пустило", а если посетитель будет не залогинен, то его туда "не пустит".
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Galen
Galen
сообщение 29.10.2009, 22:47; Ответить: Galen
Сообщение #2


Во втором скрипте у вас уже не будет переменной $name, будет $_SESSION["name"].
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Vic1993
Vic1993
Topic Starter сообщение 30.10.2009, 9:28; Ответить: Vic1993
Сообщение #3


<?php
  // открываем сессию
   session_start();
   if(!isset($_SESSION["name"])){
    header("Location: login.php");
    exit;
    }
?>
Тоже не работает.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Vic1993
Vic1993
Topic Starter сообщение 30.10.2009, 9:32; Ответить: Vic1993
Сообщение #4


На странице на которой происходит проверка правильности логина/пароля есть в начале:
<?php
session_start();
if($submit){
if(($user_name=="name")&&($user_pass=="123")){
$name = $user_name;
session_register("name");
header("Location: 123.php");
exit;
}
}
?>
Мне нужно чтоб ещё на одной странице происходила такая проверка, т. е. если в сессии name user_name равно логину, user_pass равно паролю, то пускать, если нет - то перенаправлять на login.php
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
scray
scray
сообщение 30.10.2009, 23:54; Ответить: scray
Сообщение #5


Vic1993, зачем на разных страницах одна и таже проверка...
При первой проверке создай переменную $_SESSION['access'], которая будет равна "yes"
[php]$_SESSION['access']=yes;[/php]На других страница просто проверяй cуществует ли переменная, если нет, тогда переадресация на login.php
[php]if (!isset($_SESSION['access']))
{
header("Location: login.php");
}[/php]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Vic1993
Vic1993
Topic Starter сообщение 31.10.2009, 9:48; Ответить: Vic1993
Сообщение #6


scray, не помогло.
На страницу где должна осуществляться проверка вставил:
<?PHP
if (!isset($_SESSION['access']))
{
header("Location: login.php");
}
?>
А на страницу где происходит обработка данных (проверка на правильность логина и пароля):
<?php
session_start();
if($submit){
if(($user_name=="name")&&($user_pass=="pass")){
$name = $user_name;
session_register("name");
$_SESSION['access']=yes;
header("Location: index.php");
exit;
}
}
?>
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
scray
scray
сообщение 31.10.2009, 15:55; Ответить: scray
Сообщение #7


Vic1993, хм... у меня все работает..может быть я неправильно понял тебя...
тебе ведь нужно запретить просматривать страницу для неавторизированных пользователей?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
scray
scray
сообщение 31.10.2009, 15:57; Ответить: scray
Сообщение #8


[PHP]<?
if (!isset($_SESSION['access']))
{
header("Location: login.php");
}
?>[/PHP]
ты тут session_start() не написал
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Vic1993
Vic1993
Topic Starter сообщение 31.10.2009, 18:22; Ответить: Vic1993
Сообщение #9


scray, так тоже не работает.
<?
session_start();
if (!isset($_SESSION['name']))
{
header("Location: login.php");
}
?>
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Vic1993
Vic1993
Topic Starter сообщение 31.10.2009, 18:57; Ответить: Vic1993
Сообщение #10


Всё, спасибо, проблему решил.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) СОЗДАНИЕ : / САЙтЫ / ЛЕНДЫ / БОТЫ ТГ / ВАЙТЫ / КРЕО / СОФТЫ / ДИЗАЙН [PHP, JS, HTML/CSS] и другое
5 CULA 3242 19.12.2023, 18:55
автор: CULA
Открытая тема (нет новых ответов) Услуги по созданию и доработке скриптов PHP, MySQL, JavaScript, jQuery
Разработка сайтов и сервисов под-ключ
0 alexey 1129 24.11.2023, 14:46
автор: alexey
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыВеб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP)
56 qpPeW 44709 19.7.2023, 10:03
автор: qpPeW
Открытая тема (нет новых ответов) Есть спецы по php/laravel?
3 Mixatraider 1850 26.5.2023, 20:48
автор: Mixatraider
Открытая тема (нет новых ответов) Опытный PHP\Python разработчик в поиске интересных задач
6 daikzlex 3349 25.5.2023, 13:55
автор: daikzlex


 



RSS Текстовая версия Сейчас: 19.3.2024, 8:03
Дизайн