Avatar billede dp82 Nybegynder
10. januar 2010 - 02:16 Der er 6 kommentarer

cookie

hey jeg skal have lavet en cookie som husker et brugernavn hvor jeg så kan nuppe brugernavnet når jeg skal bruge det..

og jeg vil gerne have kommentar med da jeg er helt grøn til dette PHP derfor så mange P
10. januar 2010 - 07:06 #1
Funktionen hedder setcookie().  Du giver cookien et navn, for eksempel "klodshans", saetter brugernavnet som vaerdi, og saetter en tid for hvor laenge cookien skal gemmes.  Saa kan du senere teste if(isset($_COOKIE['klodshans'] echo $_COOKIE['klodshans'].

setcookie() skal vaere det foerste input i formen, ogsaa foer "html".

Hvis du for eksempel har en html form hvor brugeren fylder sit navn i saa kan du, naar formen sendes, pakke brugerens navn ind i cookien og saette den.  Jeg har lavet dette eksempel med lidt kommentarer:


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<?php
/*Hvis der er trykket paa submitknappen saettes cookien med navnet "husknavn" og vaerdien brugernavnet fra formen.  Denne cookie vil vaere gaeldende i en time*/
if($_POST['submitted']) setcookie("husknavn", $_POST['brugernavn'], Time()+3600);
/*Hvis cookien eksisterer bliver den skrevet ud*/
if(isset($_COOKIE['submitted'])) echo $_COOKIE['submitted'];
?>
<html>
<head>
  <title></title>
</head>

<body>
abc<br/>
<form action="<? print $_SERVER["PHP_SELF"];?>" method="POST">
Usernavn: <input type="text" name="brugernavn" />
<input type="submit" name="submitted" value="Send" />
</form>
</body>
</html>



Her er et udemaerket forklarende link: http://php.net/manual/en/function.setcookie.php

Jeg haaber dette hjaelper.
Avatar billede repox Seniormester
10. januar 2010 - 09:46 #2
#1
setcookie() skal sættes inden andet output - så det gælder også din doctype erklæring.
Ovenstående eksempel burde fejle.
10. januar 2010 - 17:18 #3
repox, du har ret (som saedvanligt.)  dp82, det maa du undskylde, jeg fik lavet det for hurtigt.

Bedre held denne gang:

Den foelgende kode giver en form hvor du kan skrive og sende et brugernavn.  Naar siden refreshes efter at brugernavn er sendt dannes der en cookie med vaerdi lig de sendte brugernavn.  Cookien bliver siddende i en time.  (Det kan du selv forandre.)  Ydermere skrives der en bekraeftelse ud paa at cookien blev dannet (vaerdi = 1).  Naar du saa naeste gang aabner siden faar du skrevet brugernavnet ud.  Du kan naturligvis vaelge at anvende brugernavnet til noget andet end blot at skrive det ud.

Mit testeksempel kan du kikke paa her:  http://christianjorgensen.be/dp82.php

Jeg opretter dette som et svar saaledes at naar tiden kommer til lukning og points (som saa nok skal deles med repox) er det paa plads.
12. januar 2010 - 18:52 #4
dp82, fik du mit indlaeg?  Fortael om det loeste dit problem.
13. januar 2010 - 22:29 #5
Jeg ser at du opretter nye spoergsmaal, http://www.eksperten.dk/spm/898272.  Kan du ikke rydde op i dine aabne spoergsmaal som dette og reagere paa indlaeg eller, hvis det ikke laengere har interesse, saa lukke spoergsmaalet?
30. august 2010 - 19:20 #6
dp82, jeg proever lige en gang til.  Du oprettede dette spoergsmaal, og jeg og andre gav indlaeg.  Jeg har det selv saadan med mine egne spoergsmaal at jeg foeler mig forpligtet overfor de som, frivilligt og gratis, proever at hjaelpe, forpligtet til at reagere paa deres indlaeg, afgive de udlovede points eller forklare hvorfor deres indlaeg kom til kort og under alle omstaendigheder faa spoergsmaalet lukket saa det ikke bliver haengende som aabent i deres lister af indlaeg.  Det er maaske naivt at taenke at andre skal have det paa samme maade.  Alligevel beder jeg dig nu om at faa spoergsmaalet lukket, med eller uden points til mig.  Please.
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