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!
4 svar · 355 visningar · startad av Jesper2
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!
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...
?>
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?
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.
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 =)