konto usunięte

Temat: Jak pozyskać ustawioną przez session_register zmienną?

Witam

Rejestruję sesję w jednym pliku i przechodzę do następnego:


session_register('userName', $myusername);
session_start();
if(!session_is_registered('userName'))
{
header("Location: panel_login.php");
}
header("Location: panel_main.php");


I teraz mam problem, bo w panel_main mam taki kod, i on się jeszcze wykonuje


session_start();
if(!session_is_registered('userName'))
{
header("Location: panel_login.php");
}
else
{
...


Natomiast w tym miejscu mam problem. Jak pozyskać $myusername?

W dokumentacji spotkałem się z uwagą:

"Przy użyciu $_SESSION (lub $HTTP_SESSION_VARS), nie należy używać session_register(), session_is_registered() i session_unregister()."

Ale mimo to spróbowałem z $_SESSION['userName'].
Kiedy wywołuje zapytanie nie zwraca mi żadnych wyników. Sprawdzałem zapytanie w PHPMyAdmin, więc myślę, że problem jest z pozyskaniem $myusername...

Przyznam szczerze, siedzę nad tym i nie mogę tego wygooglać. Tzn wszędzie gdzie patrzę wykorzystują coś w stylu $_SESSION['userName'].
Czy ktoś mógły mnie naprowadzić na rozwiązanie tego problemu?

Dziękuję i pozdrawiam
MariuszMariusz Klimek edytował(a) ten post dnia 12.03.10 o godzinie 10:30
Bartosz Raczek

Bartosz Raczek .NET Software
Developer

Temat: Jak pozyskać ustawioną przez session_register zmienną?

Nie wiem czy to ma coś do rzeczy, ale z tego co pamiętam to miało wpływ gdy było wyłączone regiser_globals.
Po drugie najpierw chyba trzeba wywołać session_start a dopiero później zapisywać coś w sesji.

A nie lepiej zrobić tak:


session_start();
$_SESSION['userName'] = $myusername;


Wtedy możesz sprawdzić sobie czy jest ta zmienna ustawiona

if( isset( $_SESSION['userName'] ) ) { }
Bartosz R. edytował(a) ten post dnia 12.03.10 o godzinie 10:38
Michał Jastrzębski

Michał Jastrzębski Django-fu, phpjutsu,
sql-do

Temat: Jak pozyskać ustawioną przez session_register zmienną?

"session_register() rejestruje w bieżącej sesji globalną zmienną o danej nazwie."

Może spróbuj $_GLOBALS['userName']? Albo tak, jak to poprzednik napisał.
Michał Jarosz

Michał Jarosz Frontend Developer &
Team Leader

Temat: Jak pozyskać ustawioną przez session_register zmienną?

Warning

This function has been DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 6.0.0. Relying on this feature is highly discouraged.


To raz. A po drugie, najpierw startuje sesja, a potem można cokolwiek w niej zapisać, czyli tak jak Bartosz pokazuje wyżej.
Jarek Tkaczyk

Jarek Tkaczyk www.GoHolidays.pl -
siła napędowa

Temat: Jak pozyskać ustawioną przez session_register zmienną?

Mariusz Klimek:


session_register(...) startuje sesję cichaczem, to tak gwoli ścisłości.

Natomiast jak chcesz zarejestrować $myusername jako globalną zmienną używając w/w funkcji, to tak:
session_register('myusername')


a nie tak jak chciałeś:
session_register($myusername)


Przy czym nie ma tu przypisania wartości, o co zdaje się chodziło w twoim kodzie.

Niemniej jednak najlepiej rozstać się z session_register i użyć tego, co pisał Bartek.

Następna dyskusja:

Session register




Wyślij zaproszenie do