webForumDet fria alternativet

Cookieproblem

4 svar · 355 visningar · startad av Jesper2

Jesper2Medlem sedan dec. 200475 inlägg
#1

När man har skrivit ett gästboksinlägg i min blog vill jag att namnet och hemsidan ska sparas i en cookie så att användaren inte behöver fylla i det nästa gång. Hur ska jag lösa detta?

Tack på förhand!

project2501xMedlem sedan jan. 20059 inlägg
#2

I formuläret kan du göra så här:

<?
if(isset($_COOKIE['hemsida'])){ $hemsida = $_COOKIE['hemsida']; }
if(isset($_COOKIE['namn'])){ $namn = $_COOKIE['namn']; }
?>

<HTML><BODY>
<FORM ACTION="add_inlagg.php" METHOD=POST>
Namn: <INPUT TYPE=TEXT NAME="namn" VALUE="<?=$namn?>"><BR>
Hemsida: <INPUT TYPE=TEXT NAME="hemsida" VALUE="<?=$hemsida?>"><BR>
<INPUT TYPE=SUBMIT VALUE="Skriv i gästboken">
</FORM>
</BODY></HTML>

Och i scriptet som lägger in inlägget:

<?
if(!empty($_POST['namn'])){
setcookie("namn", $_POST['namn'], mktime(0,0,0,1,1,2038));
}
if(!empty($_POST['hemsida'])){
setcookie("hemsida", $_POST['hemsida'], mktime(0,0,0,1,1,2038));
}

// Lägg till inlägget i gästboken... 

?>
Jesper2Medlem sedan dec. 200475 inlägg
#3

project2501x skrev:

I formuläret kan du göra så här:

<?
if(isset($_COOKIE['hemsida'])){ $hemsida = $_COOKIE['hemsida']; }
if(isset($_COOKIE['namn'])){ $namn = $_COOKIE['namn']; }
?>

<HTML><BODY>
<FORM ACTION="add_inlagg.php" METHOD=POST>
Namn: <INPUT TYPE=TEXT NAME="namn" VALUE="<?=$namn?>"><BR>
Hemsida: <INPUT TYPE=TEXT NAME="hemsida" VALUE="<?=$hemsida?>"><BR>
<INPUT TYPE=SUBMIT VALUE="Skriv i gästboken">
</FORM>
</BODY></HTML>

Och i scriptet som lägger in inlägget:

<?
if(!empty($_POST['namn'])){
setcookie("namn", $_POST['namn'], mktime(0,0,0,1,1,2038));
}
if(!empty($_POST['hemsida'])){
setcookie("hemsida", $_POST['hemsida'], mktime(0,0,0,1,1,2038));
}

// Lägg till inlägget i gästboken... 

?>

Tack så mycket för svaret, men det fungerar fortfarande inte :/ Är det några inställningar på servern som jag måste göra? T ex tillåtelse att sätta cookies?

MatteMedlem sedan aug. 20002 975 inlägg
#4

Några saker.

setcookie() är en header och måste sättas innan någon output görs till sidan.

Du har inget i $_COOKIE förrän sidan laddas om.

Om du sätter cookien i en underkatalog kommer cookien endast att gälla för denna katalog, och dess underkataloger. Vill du den ska gälla för hela webbplatsen, använd fjärde paramatern.

Jesper2Medlem sedan dec. 200475 inlägg
#5

Matte skrev:

Några saker.

setcookie() är en header och måste sättas innan någon output görs till sidan.

Du har inget i $_COOKIE förrän sidan laddas om.

Om du sätter cookien i en underkatalog kommer cookien endast att gälla för denna katalog, och dess underkataloger. Vill du den ska gälla för hela webbplatsen, använd fjärde paramatern.

Tack så jättemycket! Det funkar skitfint nu. Jag hade inte en aning om de där sakerna =)

131 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)