powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP - видимость данных изо всех скриптов сайта
25 сообщений из 31, страница 1 из 2
PHP - видимость данных изо всех скриптов сайта
    #38191882
deGeneral
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вобщем, проблема в том, что я не знаю, как сделать так, чтобы в index.php устанавливалось значение некоторых нужных переменных, которые можно использовать потом, в других скриптах.

Например. index.php у меня представляет собой форму авторизации, т.е. без авторизации сайт ничего не должен показывать. Если юзер правильно авторизовался, то он попадает на home.php. Но мне надо, чтобы никто не мог попасть в скрипт home.php, просто набрав адрес в адресной строке браузера. Как это сделать, подскажите пожалуйста?
...
Рейтинг: 0 / 0
PHP - видимость данных изо всех скриптов сайта
    #38191974
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Используйте сессии
...
Рейтинг: 0 / 0
PHP - видимость данных изо всех скриптов сайта
    #38192017
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
простейший вариант
Код: php
1.
 if (!defined(MY_SECRET_CONSTANT)) die('Сдохни мезкий спамер!')


в начале каждого файла.
...
Рейтинг: 0 / 0
PHP - видимость данных изо всех скриптов сайта
    #38192020
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScareCrowпростейший вариантСработает только если home.php будет инклюдится из другого файла, где константа определена. Но при явном переходе на этот файл, как того хочет ТС, любой авторизованный в index.php юзер пойдет лесом.
...
Рейтинг: 0 / 0
PHP - видимость данных изо всех скриптов сайта
    #38192021
deGeneral
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, уже даже и попробовал, и тут выявился ряд проблем.

1) В случае удачной авторизации:

Код: php
1.
2.
 session_start(); 
$_SESSION['uid']=$_POST['login']



Это отрабатывает нормально, но когда идет обращение к $_SESSION из другого скрипта, получаю Undefined variable: _SESSION.
Доковырялся, что проблема в том, что register_globals в php.ini по умолчанию стоит off, ну рубанул off, так теперь при запуске php.exe вылетает "Directive register_globals no longer available in PHP"

Что стряслось-то и че делать?
...
Рейтинг: 0 / 0
PHP - видимость данных изо всех скриптов сайта
    #38192023
deGeneral
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ScareCrowпростейший вариант
Код: php
1.
 if (!defined(MY_SECRET_CONSTANT)) die('Сдохни мезкий спамер!')


в начале каждого файла.

Пробовал и так: в случае удачного логина define('IN_SYSTEM',1), но его из другого скрипта не видно :(
...
Рейтинг: 0 / 0
PHP - видимость данных изо всех скриптов сайта
    #38192026
deGeneral
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
deGeneralДоковырялся, что проблема в том, что register_globals в php.ini по умолчанию стоит off, ну рубанул off

рубанул, конечно же, on
...
Рейтинг: 0 / 0
PHP - видимость данных изо всех скриптов сайта
    #38192030
deGeneral
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
$HTTP_SESSION_VARS что ли поюзать?
...
Рейтинг: 0 / 0
PHP - видимость данных изо всех скриптов сайта
    #38192040
deGeneral
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
deGeneral$HTTP_SESSION_VARS что ли поюзать?

Undefined variable: HTTP_SESSION_VARS

Класс!
...
Рейтинг: 0 / 0
PHP - видимость данных изо всех скриптов сайта
    #38192048
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
deGeneralкогда идет обращение к $_SESSION из другого скрипта, получаю Undefined variable: _SESSION.А в другом то скрипте session_start() не забыли написать?
...
Рейтинг: 0 / 0
PHP - видимость данных изо всех скриптов сайта
    #38192053
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
deGeneraldeGeneralДоковырялся, что проблема в том, что register_globals в php.ini по умолчанию стоит off, ну рубанул off

рубанул, конечно же, onГлупости, так как:
а) к проблеме не имеет отношения
б) выпилено в последних версиях



deGeneraldeGeneral$HTTP_SESSION_VARS что ли поюзать?

Undefined variable: HTTP_SESSION_VARS

Класс!Ибо, оно давно и безнадежно устарело.
...
Рейтинг: 0 / 0
PHP - видимость данных изо всех скриптов сайта
    #38192076
deGeneral
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkledeGeneralкогда идет обращение к $_SESSION из другого скрипта, получаю Undefined variable: _SESSION.А в другом то скрипте session_start() не забыли написать?

Нет, не забыл, написано.
...
Рейтинг: 0 / 0
PHP - видимость данных изо всех скриптов сайта
    #38192080
deGeneral
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkleГлупости, так как:
а) к проблеме не имеет отношения
б) выпилено в последних версиях

Да, я это уже понял, т.к. у меня версия 5.4.7.

Что тогда делать? Как мне быть?
...
Рейтинг: 0 / 0
PHP - видимость данных изо всех скриптов сайта
    #38192116
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На всякий случай, посмотрите в phpinfo(), включена ли поддержка сессий.
...
Рейтинг: 0 / 0
PHP - видимость данных изо всех скриптов сайта
    #38192141
deGeneral
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkleНа всякий случай, посмотрите в phpinfo(), включена ли поддержка сессий.
...
Рейтинг: 0 / 0
PHP - видимость данных изо всех скриптов сайта
    #38192158
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkleИспользуйте сессии
Да, это - единственный правильный способ, который не только в пхп применяется.
...
Рейтинг: 0 / 0
PHP - видимость данных изо всех скриптов сайта
    #38192186
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: php
1.
var_dump(session_start()); 


?
...
Рейтинг: 0 / 0
PHP - видимость данных изо всех скриптов сайта
    #38192357
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hett
Код: php
1.
var_dump(session_start()); 



?+1
Как в index.php, так и в home.php.

+ Включить вывод сообщений об ошибках - на случай если будет преждевременный вывод какой-то дряни вроде BOM.
...
Рейтинг: 0 / 0
PHP - видимость данных изо всех скриптов сайта
    #38192788
deGeneral
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так а чем это поможет, если ни $_SESSION, ни $HTTP_SESSION_VARS не определены вообще?!
...
Рейтинг: 0 / 0
PHP - видимость данных изо всех скриптов сайта
    #38192815
?
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
?
Гость
deGeneral,

если после session_start() $_SESSION не определена - значит у вас опечатка в "$_SESSION".
...
Рейтинг: 0 / 0
PHP - видимость данных изо всех скриптов сайта
    #38192841
deGeneral
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Странно. Переписал, теперь на $_SESSION не ругается, но все равно не работает - законного юзера футболит. Привожу фрагменты кода.

В login.php (его вызывает index.php по нажатию на кнопу "Войти"):

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
if ($conn) {
    session_start();
    $_SESSION['uid']=$_POST['login'];
    $_SESSION['in_sys']=1;
    header('Location:home.php');
}
else {
    $_SESSION['in_sys']=0;
    header('Location:access_denied.php');
}



В home.php:

Код: php
1.
2.
3.
4.
5.
if (!$_SESSION['in_sys']) {
    header("Location:access_denied.php");
}

echo "Welcome home!";



Что здесь не так?
...
Рейтинг: 0 / 0
PHP - видимость данных изо всех скриптов сайта
    #38192866
Фотография Ренат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В home.php:

Код: php
1.
2.
3.
4.
5.
6.
session_start();
if (!isset($_SESSION['in_sys']) || !$_SESSION['in_sys']) {
    header("Location:access_denied.php");
}

echo "Welcome home!";
...
Рейтинг: 0 / 0
PHP - видимость данных изо всех скриптов сайта
    #38192868
phpz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
deGeneralСтранно. Переписал, теперь на $_SESSION не ругается, но все равно не работает - законного юзера футболит. Привожу фрагменты кода.

В login.php (его вызывает index.php по нажатию на кнопу "Войти"):

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
if ($conn) {
    session_start();
    $_SESSION['uid']=$_POST['login'];
    $_SESSION['in_sys']=1;
    header('Location:home.php');
}
else {
    $_SESSION['in_sys']=0;
    header('Location:access_denied.php');
}



В home.php:

Код: php
1.
2.
3.
4.
5.
if (!$_SESSION['in_sys']) {
    header("Location:access_denied.php");
}

echo "Welcome home!";



Что здесь не так?
А так:
Код: php
1.
2.
3.
4.
5.
session_start();
if (!isset($_SESSION['in_sys'])) {
    header("Location:access_denied.php");
}
...
...
Рейтинг: 0 / 0
PHP - видимость данных изо всех скриптов сайта
    #38192897
deGeneral
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, заработало, спасибо!!!
...
Рейтинг: 0 / 0
PHP - видимость данных изо всех скриптов сайта
    #38192904
Фотография Ренат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
deGeneralvkleпропущено...
А в другом то скрипте session_start() не забыли написать?

Нет, не забыл, написано.

deGeneralДа, заработало, спасибо!!!

?
...
Рейтинг: 0 / 0
25 сообщений из 31, страница 1 из 2
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP - видимость данных изо всех скриптов сайта
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]