inlocuire nereusita variabile $_SESSION

Ai o întrebare legată de PHP? Incercăm să îi găsim soluţie. Sau poate doar vrei să publici un cod interesant.

Moderatori: Zamolxe, Moderatori

saschart
Average Member
Mesaje: 77
Membru din: Vin Iul 04, 2003 11:52 am
Contact:

inlocuire nereusita variabile $_SESSION

Mesajde saschart » Sâm Aug 14, 2004 6:15 pm

Salut,

Doresc sa inlocuiesc varabilele dintr-o sesiune:

session_start();

if ($delsetting=="yes") {
// am incercat si session_destroy(); session_start();
$_SESSION['username']=$username;
$_SESSION['*']=$*;
$_SESSION['mybgcolor']=$mybgcolor;
$_SESSION['flwidth']=$flwidth;
}


if ($_SESSION) {
$username=$_SESSION['username'];
$*=$_SESSION['*'];
$mybgcolor=$_SESSION['mybgcolor'];
$flwidth=$_SESSION['flwidth'];
}


Deci cand dau valoarea "yes" variabilei delsetting as vrea sa se schimbe valorile din $_SESSION cu cele noi.

De ce nu merge ?



Avatar utilizator
ExcalIbvr
Senior Member
Mesaje: 1105
Membru din: Dum Mai 02, 2004 10:56 pm
Localitate: Oradea
Contact:

Mesajde ExcalIbvr » Dum Aug 15, 2004 12:00 am




deltiq
PHPRomania Supporter
Mesaje: 12
Membru din: Mar Sep 21, 2004 2:57 am
Localitate: Iasi
Contact:

Re: inlocuire nereusita variabile $_SESSION

Mesajde deltiq » Mar Sep 21, 2004 4:09 pm


saschart
Average Member
Mesaje: 77
Membru din: Vin Iul 04, 2003 11:52 am
Contact:

Mesajde saschart » Mie Oct 06, 2004 1:27 pm

Merge intr-adevar ambele metode daca dau session_destroy(); dar problema e ca am nevoie de celelalte variabile din sesiune si session_destroy(); mi le distruge pe toate.

Nu primesc nici o eroare, variabila delsetting este yes si in plus mai vreau sa folosesc la schimbarea limbii inlocuirea variabilelor si la fel nu merge decat cu destroy

saschart
Average Member
Mesaje: 77
Membru din: Vin Iul 04, 2003 11:52 am
Contact:

Mesajde saschart » Vin Oct 08, 2004 10:41 am


Troto
PHPRomania Coder Professional
Mesaje: 249
Membru din: Mar Iun 29, 2004 2:11 am
Localitate: Brasov

Mesajde Troto » Vin Oct 08, 2004 11:53 am

$_SESSION['o_variabila'] = '';

saschart
Average Member
Mesaje: 77
Membru din: Vin Iul 04, 2003 11:52 am
Contact:

Mesajde saschart » Vin Oct 08, 2004 1:46 pm

Daca mergea $_SESSION['o_variabila'] = "''; mergea si inlocuirea. Dau codul de schimbare limbi:


session_start();
if ($lang) {
unset($_SESSION['lang']);// daca vrei $_SESSION['lang']="";
$_SESSION['lang']=$lang;
}
else {
if ($_SESSION['lang']) {
$lang=$_SESSION['lang'];
}
}
if (!$lang) {
$lang="en";//default
}

Dupa ce setez o limba (sa zicem $lang="en") ramane asa chiar daca schimb variabila $lang

Sa fie din php.ini (eu testez codurile pe phptriad in windows) ?

un_guru
Average Member
Mesaje: 153
Membru din: Dum Iul 25, 2004 5:20 am
Localitate: Miecurea Ciuc
Contact:

Mesajde un_guru » Vin Oct 08, 2004 10:57 pm

nu prea are sens codul tau ...

daca e definit $lang atunci il inregistrezi in session, daca nu il iei din session?! dar daca $lang nu e ... nici $_SESSION[lang] nu poate fi...

da-ne mai multe detalii te rog
ps.
variabilele din session pot fi suprascrise fara unset() prealabil.

saschart
Average Member
Mesaje: 77
Membru din: Vin Iul 04, 2003 11:52 am
Contact:

Mesajde saschart » Sâm Oct 09, 2004 11:15 am

Am rezolvat, iata si codul corect:

if ($_GET['lang']) {
$_SESSION['lang']=$_GET['lang'];
setcookie('lang', $_GET['lang'], time() + 60*60*24*30);
}
else {
if ($_COOKIE['lang']) {
$lang=$_COOKIE['lang'];
}
else {
$lang=$_SESSION['lang'];
}
}
if (!$lang) {
$lang="en";
}

Cu linkuri ?lang=en si ?lang=fr


Înapoi la “Cod PHP”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 13 vizitatori