21. november 2002 - 10:36Der er
8 kommentarer og 2 løsninger
Problemer med cookies
Hej Jeg prøver at sætte en coockie for at kunne lave auto-login. Det er første gang, at jeg prøver at sætte en cookie, og det vil ikke rigtig virke. Jeg skriver følgende:
Warning: Cannot add header information - headers already sent by (output started at /home/httpd/vhosts/lkf-viborg.dk/httpdocs/str/start.php:2) in /home/httpd/vhosts/lkf-viborg.dk/httpdocs/str/start.php on line 36
Warning: Cannot add header information - headers already sent by (output started at /home/httpd/vhosts/lkf-viborg.dk/httpdocs/str/start.php:2) in /home/httpd/vhosts/lkf-viborg.dk/httpdocs/str/start.php on line 37
Teknologi, AI og forretning er i centrum på Computerworlds Cloud og AI Festival i København d. 18. og 19. september. Se hele programmet for den store konference om strategisk brug af Cloud og AI på: www.cloud-festival.dk
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <? // etablerer forbindelse til databasen $bruger = "******"; $kode = "******"; $link = mysql_connect("localhost", $bruger, $kode); $db = "LKFDB1"; if (! $link) die("Der kunne ikke etableres forbindelse til databasen"); mysql_select_db($db,$link) or die ("Kunne ikke åbne $db: ".mysql_error()); // Slut på at etablere forbindelse til databasen // Hent brugernavn og kodeord fra cookie
// Hent brugeren fra db $resultat00 = mysql_query("SELECT * FROM brugere WHERE brugernavn = '$brugernavn' AND kodeord='$kodeord'"); $bruger = mysql_fetch_row($resultat00); if($logaf<>''){ $bruger[1] = ''; $bruger[2] = ''; $brugernavn = ''; $kodeord = ''; } if($bruger[1]<>$brugernavn) { $resultat00 = mysql_query("SELECT * FROM brugere WHERE brugernavn = '$brugernavn'"); $eksistererbruger = mysql_fetch_row($resultat00); if ($eksistererbruger[1]=='') { $fejl = 'forkertbrugernavn'; } else { $fejl = 'forkertkodeord'; } } else if($bruger[1]==$brugernavn && $bruger[2]=$kodeord) { $fejl = 'ok'; // Sæt eller slet cookie (gemmes i 12 uger) if ($saetcookie<>'') { setcookie("LKFqpgmr", $brugernavn, time() + 7257600); setcookie("LKFpswrd", $kodeord, time() + 7257600); } else { setcookie("LKFqpgmr","",time() - 3600); setcookie("LKFpswrd","",time() - 3600); } }
?>
Synes godt om
Slettet bruger
21. november 2002 - 10:50#8
Så skal du bare flytte din <doctype> ned efter der hvor du sætter din cookie:
<? // etablerer forbindelse til databasen $bruger = "******"; $kode = "******"; $link = mysql_connect("localhost", $bruger, $kode); $db = "LKFDB1"; if (! $link) die("Der kunne ikke etableres forbindelse til databasen"); mysql_select_db($db,$link) or die ("Kunne ikke åbne $db: ".mysql_error()); // Slut på at etablere forbindelse til databasen // Hent brugernavn og kodeord fra cookie
// Hent brugeren fra db $resultat00 = mysql_query("SELECT * FROM brugere WHERE brugernavn = '$brugernavn' AND kodeord='$kodeord'"); $bruger = mysql_fetch_row($resultat00); if($logaf<>''){ $bruger[1] = ''; $bruger[2] = ''; $brugernavn = ''; $kodeord = ''; } if($bruger[1]<>$brugernavn) { $resultat00 = mysql_query("SELECT * FROM brugere WHERE brugernavn = '$brugernavn'"); $eksistererbruger = mysql_fetch_row($resultat00); if ($eksistererbruger[1]=='') { $fejl = 'forkertbrugernavn'; } else { $fejl = 'forkertkodeord'; } } else if($bruger[1]==$brugernavn && $bruger[2]=$kodeord) { $fejl = 'ok'; // Sæt eller slet cookie (gemmes i 12 uger) if ($saetcookie<>'') { setcookie("LKFqpgmr", $brugernavn, time() + 7257600); setcookie("LKFpswrd", $kodeord, time() + 7257600); } else { setcookie("LKFqpgmr","",time() - 3600); setcookie("LKFpswrd","",time() - 3600); } }
?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
Husk at selv en blank linie før <? tegnet tolkes som output!
Denne "problematik" går iøvrigt igen hvis du senere hen får problemer med andre af PHP's header() muligheder.
Den løsning kimg kommer med virker godt nok, men bør kun bruges i nødstilfælde. Det kurerer symptomerne, men ikke problemet.
Synes godt om
Ny brugerNybegynder
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.