Avatar billede locura Novice
14. april 2005 - 18:23 Der er 13 kommentarer og
1 løsning

Problem med cookie

Hej...

Jeg har lavet et script der opretter en cookie:

if (isset($_POST['auto'])) {
setcookie ("brugernavn","$bruger", time()+365*10);
setcookie ("password","$password", time()+365*10);
}

Dette virker godt nok, problemet kommer når jeg skal hente det der står i denne cookie! Kan dette ikke gøre således?:

if ($_COOKIE['brugernavn']) {
$cookieuser = $_COOKIE['brugernavn'];
$cookiepass = $_COOKIE['password'];
echo "$cookieuser og $cookiepass";
}

Hvis dette er korrekt fatter jeg ikke hvorfor det ikke virker! Den udskriver ingenting!
Avatar billede hyberpreprocessor Nybegynder
14. april 2005 - 18:26 #1
1. du skal opdatere siden efter du har sat cookien for at kunne aflæse den.
2. der skal ikek " " omkring variabler, kun omkring tekst, dvs.

echo $cookieuser." og ".$cookiepass;

3. brug isset

if ($_COOKIE['brugernavn']) {
bør være
if (isset($_COOKIE['brugernavn'])) {
Avatar billede hyberpreprocessor Nybegynder
14. april 2005 - 18:27 #2
setcookie bør også ændres

setcookie ("brugernavn",$bruger, time()+365*10);
setcookie ("password",$password, time()+365*10);

drop det med "" overalt, det er grimt og dårlig syntaks.
Avatar billede locura Novice
14. april 2005 - 18:32 #3
Nu har jeg prøvet igen, jeg opretter cookien med siden login.php, når cookien er oprettet, går jeg ind på 1.php som ser således ud:

<?
if (isset($_COOKIE['brugernavn'])) {
$cookieuser = $_COOKIE['brugernavn'];
$cookiepass = $_COOKIE['password'];
echo $cookieuser."og".$cookiepass;
}
?>

Denne side er total blank!?
Avatar billede hyberpreprocessor Nybegynder
14. april 2005 - 18:33 #4
prøv at sætte else på så

<?php
if (isset($_COOKIE['brugernavn'])) {
$cookieuser = $_COOKIE['brugernavn'];
$cookiepass = $_COOKIE['password'];
echo $cookieuser."og".$cookiepass;
}
else
{
echo "ingen cookie sat";
}
?>
Avatar billede locura Novice
14. april 2005 - 18:35 #5
Jep, den siger ingen cookie sat, så må det jo være betingelsen if (isset($_COOKIE['brugernavn'])) der er noget galt med, men cookien ligger på harddisken!?
Avatar billede detox Nybegynder
14. april 2005 - 18:55 #6
$bruger og $password er sikkert tomme til at begynde med. Tror du ikke det skal være:

if (isset($_POST['auto'])) {
setcookie ("brugernavn",$_POST['bruger'], time()+365*10);
setcookie ("password",$_POST['password'], time()+365*10);
}
Avatar billede locura Novice
14. april 2005 - 19:06 #7
Nej, har varieblet et andet sted der gør det! Selve cookie filen ser korretk ud, og med korrekt oplysninger! Kan bare ikke hente oplysningerne ud, fatter det ikke.
Nogle idéer??
Avatar billede detox Nybegynder
14. april 2005 - 19:28 #8
Nej, jeg kan ikke se noget galt i eks.: 18:33:25. Kører du scriptet lokalt eller på et webhotel?
Avatar billede detox Nybegynder
14. april 2005 - 19:32 #9
Hvis din php er ældre end 4.1, skal du hente den i: $HTTP_COOKIE_VARS['brugernavn'].
Avatar billede detox Nybegynder
14. april 2005 - 19:39 #10
Ellers prøv at bruge:

<pre>
<?php
print_r($_COOKIE);
?>
</pre>
Avatar billede locura Novice
14. april 2005 - 19:48 #11
jeg scriptet på et webhotel! men har prøvet $HTTP_COOKIE_VARS['brugernavn']. Den virker heller ikke.

<pre>
<?php
print_r($_COOKIE);
?>
</pre>

Giver fejlmeddelelse!
Avatar billede locura Novice
14. april 2005 - 19:50 #12
Har kigget på php.net, kan ikke se at jeg skulle lave nogle fejl! Kan det være udbyderen der forbyder det? så er det bare mærkeligt at jeg kan oprette cookies...
Avatar billede locura Novice
14. april 2005 - 19:57 #13
har fundet ud af det, setcookie skulle se således ud:

if (isset($_POST['auto'])) {
setcookie("brugernavn", $bruger, time()+365*10, "/");
setcookie("password", $password, time()+365*10, "/");
}
Avatar billede detox Nybegynder
14. april 2005 - 20:02 #14
c",)
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