Avatar billede learner Praktikant
08. juni 2006 - 12:38 Der er 20 kommentarer og
1 løsning

måde at tjekke om session er sat eller ej

Er det ikke korrekt at skrive:

if (!$_SESSION["count"]){
}

eller bør man skrive:
if (!isset($_SESSION["count"])){
Avatar billede iss Novice
08. juni 2006 - 12:43 #1
if (empty(session_id())) der er ingen session.
Avatar billede coderdk Praktikant
08. juni 2006 - 12:44 #2
Den bedste af de to du har skrevet er:

if (!isset($_SESSION["count"])){

Alternativt

if (!empty($_SESSION["count"])){
Avatar billede learner Praktikant
08. juni 2006 - 12:44 #3
okay, jeg vil tjekke om jeg har sat:
$_SESSION["count"]=true;
Avatar billede iss Novice
08. juni 2006 - 12:45 #4
session_is_registered("count") er uden tvivl den bedste hvis du kun vil teste på count...
Avatar billede coderdk Praktikant
08. juni 2006 - 13:02 #5
Jeg ville bruge:

if ( isset( $_SESSION["count"] ) && $_SESSION['count'] === true ) {
Avatar billede morhan Novice
08. juni 2006 - 13:04 #6
ifølge php manualen bør man ikke benytte session_is_registered sammen med $_SESSION
Avatar billede learner Praktikant
08. juni 2006 - 13:07 #7
jeg vil jo gerne if (!$_SESSION["count"]){

er det så:

if ( !isset( $_SESSION["count"] ) && $_SESSION['count'] !=== true ) {
Avatar billede coderdk Praktikant
08. juni 2006 - 13:13 #8
Prøv med:

if ( !isset( $_SESSION["count"] ) || $_SESSION['count'] != true ) {
Avatar billede iss Novice
08. juni 2006 - 13:14 #9
Hvorfor bruge ! med true og false?
Avatar billede learner Praktikant
08. juni 2006 - 13:21 #10
så det er ikke i orden at skrive: if (!$_SESSION["count"]){
Avatar billede coderdk Praktikant
08. juni 2006 - 13:24 #11
Fordi hvis $_SESSION['count'] af en eller anden grund var "332" ville det være det samme som "true" - Ved at bruge true/false angiver du at det skal være specifikt ;) Men ja, i praksis ville jeg selv bruge:

if ( !isset( $_SESSION["count"] ) || !$_SESSION['count'] ) {
Avatar billede iss Novice
08. juni 2006 - 13:24 #12
Det var mere sammen med true og false jeg ikke ville bruge !, som efter ! betder det modsatte, så er det nemmere at ændre sit true eller false, end at bruge !...
Avatar billede learner Praktikant
08. juni 2006 - 13:31 #13
det driller bare for vildt :o)
Jeg fatter det ikke... Jeg ankommer fra en ny puter på ny ip til mit site. min kode er:
if (!$_SESSION["count"]){echo "ko"; $_SESSION["count"]=true;}

og selvom det er allerførste gang jeg ankommer, så siger den ikke "ko"
Jeg må gøre noget forkert et sted
Avatar billede iss Novice
08. juni 2006 - 13:41 #14
Fordi din session stadig er i live, lav en session_destroy, eller slet dine cookies...
Avatar billede coderdk Praktikant
08. juni 2006 - 13:45 #15
Hvis du har notices slået til, så vil:

if (!$_SESSION["count"]){

Giver en fejl (notice) der ligner "Undefined index 'count'".
Det vil virke, men det er pænest at bruge isset/empty for at være sikker på at den er sat...
Avatar billede learner Praktikant
08. juni 2006 - 13:49 #16
> Fordi din session stadig er i live, lav en session_destroy, eller slet dine cookies...

hmm den kan jo ikke være i live når det er første besøg fra den maskine. Kan den?
Avatar billede learner Praktikant
08. juni 2006 - 13:49 #17
Og hvad har mine cookies med det at gøre?
Avatar billede iss Novice
08. juni 2006 - 13:51 #18
Som efter dit session id gemmes i en cookie, kan den ikke findes, så er der ingen session...
Avatar billede tfswebguy Nybegynder
08. juni 2006 - 14:03 #19
if(empty($_SESSION['count'])){
echo('Ingen session gemt');
}else{
echo('Session ER gemt');
}
Avatar billede learner Praktikant
09. juni 2006 - 01:29 #20
tfswebguy :
jow jamen det ser skisme ud til at det virker nu :o)

brugte:
if(empty($_SESSION['count'])){
echo('Ingen session gemt');
}else{
echo('Session ER gemt');
}

underligt hvad problemet egentligt var...

Men Tak allesammen :o)
Avatar billede learner Praktikant
27. oktober 2006 - 19:09 #21
lukker nu. smid svar tak
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester