PHP сессии и GET параметры

12
[Удален]
2075

Проблема в следующем.

если открывается сессия session_start(); то не передаются параметры GET

(например index.php?action=exit, переменная action просто не создается)

как решить проблему?

LEOnidUKG
На сайте с 25.11.2006
Offline
1773
#1

В смысле?


$action=$_GET['action'];
echo $action;

Не выводит exit?

Да и причём тут сессия?

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
[Удален]
#2

нет, не выводит.

вот такой код


session_start();
require_once ('common.php');
if (auth($_POST[username],$_POST[password]))
{
if (!$_SESSION['user'])
$_SESSION['user']=$_POST[username];
if (!$_SESSION['pass'])
$_SESSION['pass']=$md555;

if ($_SESSION['user']==rztcom)
{
echo 'залогинелись успешно <a href="http://*********/index.php?action=exit">Выход</a>';
show_head_panel ();
}
else
{
show_form_login();
}

var_dump ($__GET['action'); if ($_GET['action']==exit)
{
echo "aaaaaaaaaa";
unset($_SESSION['user']);
}
}

а вот если session_start(); вставить после условия


require_once ('common.php');
if (auth($_POST[username],$_POST[password]))
{
session_start();
if (!$_SESSION['user'])
$_SESSION['user']=$_POST[username];
if (!$_SESSION['pass'])
$_SESSION['pass']=$md555;
}

вот так, входит нормально, переменные GET создает, только вот при переходе на любую другую страницу снова выводится форма ввода логина и пароля ( show_form_login() )

auth($_POST[username],$_POST[password]) - ф-я проверки логина и пароля, если все ок, возращает true

RF
На сайте с 26.04.2009
Offline
107
#3

Удалено...

wdsg
На сайте с 09.02.2009
Offline
31
#4

Для начала, обратие внимание на строку 20:

var_dump ($__GET['action');
Проектирование и разработка сложных IT-систем. Вожусь с проблемными задачами.
C2
На сайте с 14.07.2009
Offline
83
#5
ReFeRy_pf:
У вас условие проверки $_GET стоит внутри условия проверки $_POST
Как Вы собрались одновременно передавать и Гет и Пост параметры странице?

а в чем противоречие?

на самом деле легко это делается

что то типа такой формы

<form action='index.php?get1=value1&get2=value2' method=POST>

<input type=text name=post1>

<submit type=submit value="ok">

RF
На сайте с 26.04.2009
Offline
107
#6

Прошу прощения, вечер рабочего дня. Лучше пойти поспать, а не форумы читать :(

[Удален]
#7
wdsg:
Для начала, обратие внимание на строку 20:
var_dump ($__GET['action');

я думаю она роли тут не играет, ведь


if ($_GET['action']==exit)
{
echo "aaaaaaaaaa";
unset($_SESSION['user']);
}

тут все правильно, а все равно сессия не удаляется )

ewg777
На сайте с 04.06.2007
Offline
225
#8
Armax:
я думаю она роли тут не играет, ведь


if ($_GET['action']==exit)
{
echo "aaaaaaaaaa";
unset($_SESSION['user']);
}

тут все правильно, а все равно сессия не удаляется )

$_GET, а не $__GET!

[Удален]
#9
ewg777:
$_GET, а не $__GET!

Я понял. в условии стоит правильно, в вардумпе изменил, все равно не выводится.

[Удален]
#10

var_dump ($_GET['action'); // одно подчеркивание


if ($_GET['action']=='exit') //'exit' в кавычках надо это же строка, а не функция
{
echo "aaaaaaaaaa";
unset($_SESSION['user']);
}
}

врожк так должно быть

12

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