Probleme cu variabilele 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

Sergiu
Average Member
Mesaje: 93
Membru din: Mie Dec 29, 2004 4:49 pm

Probleme cu variabilele SESSION

Mesajde Sergiu » Mie Dec 29, 2004 5:36 pm

Cine poate sa ma ajute ?
Am un cod de forma
// Pagina1.php
[php]
session_start();
$_SESSION['animal'] = 'cat';
$_SESSION['time'] = time();
echo '<br /><a href="Pagina2.php">page 2</a>';
// Pagina2.php
session_start();
echo $_SESSION['animal'].'<br>'; // cat
echo date('Y m d H:i:s', $_SESSION['time']);
echo '<br /><a href="Pagina1.php">page 1</a>';
[/php]
Si la rezultat imi afiseaza doar variabila echo date('Y m d H:i:s', $_SESSION['time']); iar echo $_SESSION['animal']. este goala ce ar fi oare ?



kokosanu
Average Member
Mesaje: 59
Membru din: Dum Mai 16, 2004 1:17 pm
Localitate: Cluj-Napoca
Contact:

Mesajde kokosanu » Mie Dec 29, 2004 5:50 pm


Sergiu
Average Member
Mesaje: 93
Membru din: Mie Dec 29, 2004 4:49 pm

Mesajde Sergiu » Joi Dec 30, 2004 9:30 am

Din pacate nu merge nici varianta aceasta dar totusi multumensc.

w31rd0
Average Member
Mesaje: 166
Membru din: Lun Mar 15, 2004 10:04 am
Localitate: Timisoara
Contact:

Mesajde w31rd0 » Joi Dec 30, 2004 10:11 am

La mine merge :)
Incearca un print_r ($_SESSION); sa vezi ca ai in sesiune + conteaza setarile pe care le ai la server.
Ce php rulezi, cum ai setat sesiunile in php.ini?

Sergiu
Average Member
Mesaje: 93
Membru din: Mie Dec 29, 2004 4:49 pm

Mesajde Sergiu » Joi Dec 30, 2004 10:29 am

La mine este instalat php 5 pe server Apache2.0.52 in fisierul php.ini am setat doar session.save_handler = "C:\Program Files\PHP\session" si session.save_path = "C:\Program Files\PHP\session" eu tot cred ca undeva in setari mai trebuie ceva dar ce si unde ?

Sergiu
Average Member
Mesaje: 93
Membru din: Mie Dec 29, 2004 4:49 pm

Mesajde Sergiu » Joi Dec 30, 2004 10:39 am

Si totusi la mine nu merge insa cel mai interesant este ca o variabila formata cu functia time() totusi o afiseaza

w31rd0
Average Member
Mesaje: 166
Membru din: Lun Mar 15, 2004 10:04 am
Localitate: Timisoara
Contact:

Mesajde w31rd0 » Joi Dec 30, 2004 10:43 am

Ce iti arata print_r($_SESSION) ?

Sergiu
Average Member
Mesaje: 93
Membru din: Mie Dec 29, 2004 4:49 pm

Mesajde Sergiu » Joi Dec 30, 2004 10:49 am

Nimci functia print_r($_SESSION) nu afiseaza nimic

w31rd0
Average Member
Mesaje: 166
Membru din: Lun Mar 15, 2004 10:04 am
Localitate: Timisoara
Contact:

Mesajde w31rd0 » Joi Dec 30, 2004 10:50 am

testeaza atunci isset($_SESSION)

Sergiu
Average Member
Mesaje: 93
Membru din: Mie Dec 29, 2004 4:49 pm

Mesajde Sergiu » Joi Dec 30, 2004 10:58 am

Functia isset($_SESSION) imi returneaza FALSE deci rezulta ca nam nici o informatie in ea

w31rd0
Average Member
Mesaje: 166
Membru din: Lun Mar 15, 2004 10:04 am
Localitate: Timisoara
Contact:

Mesajde w31rd0 » Joi Dec 30, 2004 11:23 am

Eu nu mai stau azi pe aici :), daca isset($_SESSION), e false cu toate ca ai facut session_start() anterior, atunci ai o problema cu sesiunile la tine pe server, cauta dupa ceva tutorial how to enable sessions daca nu te descurci.

Bye,

Sarb fericite :)

Sergiu
Average Member
Mesaje: 93
Membru din: Mie Dec 29, 2004 4:49 pm

Mesajde Sergiu » Joi Dec 30, 2004 11:47 am

Am gasit solutia problemei : in loc de echo '<br /><a href="Pagina2.php">page 2</a>'; am folosit require_once("pagina2.php"); si totul merge ok.

Sergiu
Average Member
Mesaje: 93
Membru din: Mie Dec 29, 2004 4:49 pm

Mesajde Sergiu » Joi Dec 30, 2004 12:21 pm

Si totusi folosind functia require_once("pagina2.php"); nu rezolva problema

Sergiu
Average Member
Mesaje: 93
Membru din: Mie Dec 29, 2004 4:49 pm

Mesajde Sergiu » Joi Dec 30, 2004 12:27 pm

Multumesc mult w31rd0 pentru ajutor cred ca voi gasi eroare.
Distractie la max de sarbatori :D

bld
Senior Member
Mesaje: 284
Membru din: Mie Sep 01, 2004 10:30 pm
Localitate: Alaska

Mesajde bld » Mar Ian 04, 2005 8:45 pm

Am si eu o problema cu un script de autentificare a utilizatorului unde...bingo apar si seiuni...deci...treaba e in felul urmator...preiau datele din formular...le prelucrez...in procesul de logare absolut nici o eroare...din scriptul login.php sunt redirectionat dupa logare completa in contulmeu.php dar problema este cand intru pe sondaj.php unde se verfica sesiunea sa vada daca sunt logat...ei bine...eu sunt logat dar scriptul imi afiseaza eroare ca si cum nu as fi logat si ma redirectioneaza in login.php ...daca aveti vreo idee v-as fi recunoscator...

scriptul de autentificare:

[php]
<?php
session_start();
if (@empty($HTTP_POST_VARS['username']) or @empty($HTTP_POST_VARS['password']))
{echo 'Pentru o autentificare corecta este necesara introducerea tuturor datelor'; }
else
{
$username = $HTTP_POST_VARS['username'];
$password = $HTTP_POST_VARS['password'];
include ('../objects/conectaredb.php');
$query="SELECT * FROM login WHERE username=\"".$_POST['username']."\" AND password=\"".$_POST['password']."\";";
$result = mysql_query($query) or print_r(mysql_error());
if (mysql_num_rows($result) > 0)
{ $_SESSION['logat'] == "Da";
echo 'Datele oferite sunt corecte. <br> In 5 sec te vom redirectiona pe contul dumneavoastra. <META HTTP-EQUIV=Refresh CONTENT="5; URL=../contulmeu.php">';
}
else
{
echo 'Datele oferite nu sunt corecte. <br> In 5 sec te vom redirectiona inapoi. <META HTTP-EQUIV=Refresh CONTENT="5; URL=../index.php">';
}
}
?>
[/php]

Scriptul de verificare a sesiunii

[php]
<?php
session_start();
if($_SESSION['logat'] != "Da") {
echo 'Nu ai voie sa accesezi aceasta pagina. <br> Trebuie sa fi autentificat
<META HTTP-EQUIV=Refresh CONTENT="5; URL=index.php">';
}
else
{
echo 'ok';
}
?>
[/php]

Vreo idee? multumesc!


Înapoi la “Cod PHP”

Cine este conectat

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