У меня на сервере что то случилось или так и должно быть?

lutskboy
На сайте с 22.11.2013
Offline
173
218

Привет

есть самописный скрипт. по адресу admin.php?mod=users выводит всех пользователей

по адресу admin.php?mod=users&user_id=1 конкретного юзера

сегодня захожу в панель admin.php?mod=users  а там вижу только себя. админа. а должен быть список юзеров

я начал копать так и не понял почему. по отключал все файлы include require

var_dump($USER_ID,isset($_REQUEST['user_id']));

выводит 

int(1) bool(true)

как так если я не передаю  $_REQUEST  user_id

print_r($_REQUEST); оказывается показывает то что в $_COOKIE


с каких это пор в php  $_REQUEST =  $_COOKIE ?

или так и должно быть?

W1
На сайте с 22.01.2021
Offline
289
#1
lutskboy :

с каких это пор в php  $_REQUEST =  $_COOKIE ?

или так и должно быть?

В переменной  $_REQUEST - то, что есть в  $_ GET, $_ POST и $_ COOKIE.
https://www.php.net/manual/ru/reserved.variables.request.php

PHP: $_REQUEST - Manual
  • www.php.net
Это 'суперглобальная' или автоматическая глобальная переменная. Это просто означает, что она доступна во всех контекстах скрипта. Нет необходимости выполнять global $variable; для доступа к ней внутри метода или функции. Переменные в массиве $_REQUEST передаются в скрипт посредством...
Мой форум - https://webinfo.guru –Там я всегда на связи
lutskboy
На сайте с 22.11.2013
Offline
173
#2
webinfo #:

В переменной  $_REQUEST - то, что есть в  $_ GET, $_ POST и $_ COOKIE.
https://www.php.net/manual/ru/reserved.variables.request.php

почему тогда етот же скрипт на локалхост выдает при 

print_r($_REQUEST);

var_dump($USER_ID,isset($_REQUEST['user_id']));die();

Array ( [mod] => users ) int(0) bool(false)?

lutskboy
На сайте с 22.11.2013
Offline
173
#3

кароче все ясно. там режим работы php apache. а там php fpm

может кто знает как отключить это.   $_REQUEST это   $_ GET, $_ POST

а куки пусть остаются куки

W1
На сайте с 22.01.2021
Offline
289
#4
lutskboy #:

может кто знает как отключить это.   $_REQUEST это   $_ GET, $_ POST

а куки пусть остаются куки

Нужно просто использовать в скрипте  $_ GET, а не  $_REQUEST.

lutskboy
На сайте с 22.11.2013
Offline
173
#5
webinfo #:

Нужно просто использовать в скрипте  $_ GET, а не  $_REQUEST.

у меня и пост методом ети данные передаются. поэтому использую $ _REQUEST

W1
На сайте с 22.01.2021
Offline
289
#6
lutskboy #:

у меня и пост методом ети данные передаются. поэтому использую $ _REQUEST

Ну и используйте  $_ GET и $_ POST в скрипте, он же самописный.

lutskboy
На сайте с 22.11.2013
Offline
173
#7
webinfo #:

Ну и используйте  $_ GET и $_ POST в скрипте, он же самописный.

оно то так. просто я свехру прописал

$USER_ID = isset($_REQUEST['user_id']) ? intval($_REQUEST['user_id']) : 0;

и использую $USER_ID  везде. а так придется везде в коде где пост добавлять  $_ POST['user_id']

W1
На сайте с 22.01.2021
Offline
289
#8
if (isset($_GET['user_id']))
    $USER_ID = (int) $_GET['user_id'];
elseif (isset($_POST['user_id']))
    $USER_ID = (int) $_POST['user_id'];
else $USER_ID = 0;
Но в куках ведь тоже не просто так этот user_id - наверняка при авторизации или ещё где-то используется. Поэтому исключение  $_ COOKIE чревато последствиями. Надо конкретно смотреть, что и для чего делать.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий