29. juni 2003 - 16:00
Der er
11 kommentarer og 1 løsning
Problemer med session & cookie
Hej Denne kode er til at logge ud: <?php session_start(); session_destroy(); setcookie("nick", "", time()-31536000); setcookie("password", "", time()-31536000); ?> Mit problemer er så hvis jeg har sat cookies og vil logge ud så ved første klik sletter den ens cookies og anden gang bliver man logget ud (session_destroy) Men hvis jeg ikke har valgt med cookies ved login så logger den en ud ved første klik! Nogle der kan fixe dette problem??
Annonceindlæg fra Geoinfo
Slettet bruger
29. juni 2003 - 16:19
#1
Er ovenstående kode ALT hvad der bliver parset ved et logout??? Noget siger mig nemlig at password og nick laver et nyt login efter de er blevet "nulstillet"! setcookie("nick", "", time()-31536000); på virker nemlig ikke $_COOKIES før næste gang browseren loader en ny side!
der står jo -> - <-31536000 Ja det er alt af min kode...
Slettet bruger
29. juni 2003 - 16:32
#3
Ingen includes??? Intet andet??? Prøv med: <?php setcookie("nick", "", time()-31536000); setcookie("password", "", time()-31536000); session_start(); session_destroy(); header("location: url til ny side"); ?>
Her er alt min kode: <?php session_start(); session_destroy(); setcookie("nick", "", time()-31536000); setcookie("password", "", time()-31536000); include('config.php'); require_once('topbar.php'); ?> <html> <head> <meta http-equiv="refresh" content="1;URL='index.php'"> </head> <?php echo '<div align="center"><center><table border="0" width="744" cellspacing="0" cellpadding="3" style="border: 1px solid #000000"><tr><td width="100%" bgcolor="#B9E1FD">'; echo '<font face="verdana" style="font-size: 11px;"><b>Du er nu logget ud</b></font>'; echo '</td></tr></table></center></div>'; ?> </html>
Slettet bruger
29. juni 2003 - 16:43
#5
Hvad indeholder config.php????? Umiddelbart så kommenter include og require kald ud... og se hvad der sker!?
Det er en fejl jeg har include config.php da det er til at komme i forbindelse med db...
Slettet bruger
29. juni 2003 - 16:49
#7
Har du prøvet at bytte om på session_* og setcookie kaldene?
Jeg har fundet fejlen den kan ikke lide require_once('topbar.php'); Hvordan laver jeg så den også virker med den? Koden hvor det virker ser sådan ud: <?php setcookie("nick", "", time()-31536000); setcookie("password", "", time()-31536000); session_start(); session_destroy(); echo '<div align="center"><center><table border="0" width="744" cellspacing="0" cellpadding="3" style="border: 1px solid #000000"><tr><td width="100%" bgcolor="#B9E1FD">'; echo '<font face="verdana" style="font-size: 11px;"><b>Du er nu logget ud</b></font><meta http-equiv="refresh" content="1;URL=\'index.php\'">'; echo '</td></tr></table></center></div>'; ?>
Slettet bruger
29. juni 2003 - 17:20
#9
Hvad indeholder topbar.php????
29. juni 2003 - 17:28
#10
<?php include("config.php"); session_start(); $nick = $_COOKIE['nick']; $password = $_COOKIE['password']; if (isset($nick) && isset($password)) { $resultat = mysql_query("SELECT id, mail FROM brugere WHERE nick = '$nick' AND password=MD5('$password')"); $row = mysql_fetch_array($resultat); $number = mysql_num_rows($resultat); if($number == "1") { $_SESSION['logget_ind'] = "1"; $_SESSION['nick'] = $nick; $_SESSION['mail'] = $row['mail']; } } if ($_SESSION['logget_ind'] == "1") { $login = ' <a href="index.php">Vælg model</a> | <a href="java script:history.go(-1)">Tilbage</a> | <a href="java script:history.go(+1)">Frem</a> | <a href="regler.php">Regler</a> | <a href="sog.php\">Søg</a> | <a href="stats.php">Statistik</a> | <a href="brugere.php">Brugere</a> | <a href="ret_pass.php">Ret password</a> | <a href="logout.php">Log ud</a> | '; } else { $login = ' <a href="index.php">Vælg model</a> | <a href="java script:history.go(-1)">Tilbage</a> | <a href="java script:history.go(+1)">Frem</a> | <a href="regler.php">Regler</a> | <a href="opret.php">Opret</a> | <a href="send_pass.php">Glemt password</a> | <a href="login.php">Log ind</a> | '; } ?> <title>Beta Scooter System</title> <style type="text/css"> A:link { text-decoration : none; color : #000000 } A:visited { text-decoration : none; color : #000000 } A:active { text-decoration : none; color : #000000 } A:hover { text-decoration : underline; color : #000000; } .Submitknap { background-color : #80BCFF; border : 1px solid #000000; font-size: 11px; } </style> <body bgcolor="#C5C5C5" link="#000000" vlink="#000000" alink="#000000"> <div align="center"> <table bgcolor="#80BCFF" border="0" cellpadding="2" cellspacing="0" style="border-left:1px solid #000000; border-right:1px solid #000000; border-top:1px solid #000000; border-collapse: collapse" bordercolor="#000000" width="744"> <tr> <td width="100%"> <font face="Verdana" style="font-size: 11px;"> <? echo $login; ?> </font> </td> </tr> </table> </div>
Slettet bruger
29. juni 2003 - 18:49
#11
Det her skulle gøre det: <?php setcookie("nick", "", time()-31536000); setcookie("password", "", time()-31536000); session_start(); session_destroy(); $_LOGOUT = true; require_once("topbar.php); //BLA BLA ?> ----------------------- topbar.php <?php include("config.php"); session_start(); $nick = $_COOKIE['nick']; $password = $_COOKIE['password']; if (isset($nick) && isset($password)&&$_LOGOUT!==true) { $resultat = mysql_query("SELECT id, mail FROM brugere WHERE nick = '$nick' AND password=MD5('$password')"); $row = mysql_fetch_array($resultat); $number = mysql_num_rows($resultat); if($number == "1") { $_SESSION['logget_ind'] = "1"; $_SESSION['nick'] = $nick; $_SESSION['mail'] = $row['mail']; } }
29. juni 2003 - 18:54
#12
Takker
Vi tilbyder markedets bedste kurser inden for webudvikling