Avatar billede kelfe Nybegynder
19. april 2005 - 16:35 Der er 15 kommentarer og
1 løsning

simple problemer med php cookie

Hey jeg er igang med at lære php men jeg har lidt problemer med at få mit cookie php til at virke.. Jeg tror ikke at mit POST bliver gemt i cookie'en

koden:
<?
    if(isset($_post["navn"]))
    {
        setcookie("navn",$navn, time()+1209600);
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> cookie </TITLE>
</HEAD>

<BODY>
<?
if(isset($_COOKIE["navn"])){
echo "hey" . $_COOKIE["navn"] . ", hvordan går det?";
}
else
{
?>
<FORM METHOD=POST ACTION="cookie.php">
Indtast dit navn her
<Input type=text name="navn">
<input type=submit value=send>
</form>
<?
}
?>
Avatar billede Slettet bruger
19. april 2005 - 16:36 #1
if(isset($_POST["navn"]))
    {
        setcookie("navn",$_POST["navn"])), time()+1209600);
}
Avatar billede Slettet bruger
19. april 2005 - 16:38 #2
<?
    if(isset($_POST["navn"]))
    {
        setcookie("navn",$_POST["navn"], time()+1209600);
        header("location: ". $_SERVER['PHP_SELF']);
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> cookie </TITLE>
</HEAD>

<BODY>
<?
if(isset($_COOKIE["navn"])){
echo "hey" . $_COOKIE["navn"] . ", hvordan går det?";
}
else
{
?>
<FORM METHOD=POST ACTION="">
Indtast dit navn her
<Input type=text name="navn">
<input type=submit value=send>
</form>
<?
}
?>
Avatar billede Slettet bruger
19. april 2005 - 16:38 #3
den virker
Avatar billede kelfe Nybegynder
19. april 2005 - 16:39 #4
prøver lige
Avatar billede Slettet bruger
19. april 2005 - 16:42 #5
okay
Avatar billede kelfe Nybegynder
19. april 2005 - 16:44 #6
hvorfor skal linien
header("location: ". $_SERVER['PHP_SELF']);

.. når jeg bruger det du har skrevet får jeg fejlmeddelelserne:

Warning: Cannot modify header information - headers already sent by (output started at C:\Programmer\Apache Group\Apache2\htdocs\test\cookie.php:2) in C:\Programmer\Apache Group\Apache2\htdocs\test\cookie.php on line 5

Warning: Cannot modify header information - headers already sent by (output started at C:\Programmer\Apache Group\Apache2\htdocs\test\cookie.php:2) in C:\Programmer\Apache Group\Apache2\htdocs\test\cookie.php on line 6

linie 5 er:  setcookie("navn",$_POST["navn"], time()+1209600);
og linie 6 er den nedenunder
Avatar billede Slettet bruger
19. april 2005 - 16:50 #7
det er fordi du udskriver noget før dette script.

Hvis du ikke sætter den linie på, kan du ikke udskrive cokkie-variablen på samme side.!
Avatar billede kelfe Nybegynder
19. april 2005 - 16:52 #8
men hvorfor virker det så stadig ikke?
Avatar billede Slettet bruger
19. april 2005 - 17:00 #9
Fil2.php
<?
    if(isset($_POST["navn"]))
    {
        setcookie("navn",$_POST["navn"], time()+1209600);
        header("location: Fil1.php");
}
?>
 
  Fil1.php

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> cookie </TITLE>
</HEAD>

<BODY>
<?
if(isset($_COOKIE["navn"])){
echo "hey" . $_COOKIE["navn"] . ", hvordan går det?";
}
else
{
?>
<FORM METHOD=POST ACTION="Fil2.php">
Indtast dit navn her
<Input type=text name="navn">
<input type=submit value=send>
</form>
<?
}
?>
Avatar billede kelfe Nybegynder
19. april 2005 - 17:10 #10
jepper nu virker det.. efter at jeg lavede to sider med php. Kan man da ikke lave det hele på en enkelt side? Og hvordan får man den til at slette ends cookie værdi?
Avatar billede Slettet bruger
19. april 2005 - 17:19 #11
Du kan godt få det til at være på én side, men du kan ikke sætte cookien, og udskrive den på samme side. Så hvis du vil nøjagtigt det du laver der, kan det ikke lade sig gøre at sætte det på én side!
Avatar billede Slettet bruger
19. april 2005 - 17:21 #12
Du kan slette alle dine cookies med dette:

<?php
$cookiesSet = array_keys($_COOKIE);
for ($x=0;$x<count($cookiesSet);$x++) setcookie($cookiesSet[$x],"",time()-1);
?>


http://dk2.php.net/manual/da/function.setcookie.php
Avatar billede kelfe Nybegynder
19. april 2005 - 17:23 #13
Tak. Du har været en stor hjælp.. Vil du evt. have nogle point så spørgsmålet kan lukkes?
Avatar billede Slettet bruger
19. april 2005 - 17:28 #14
selv tak. :o)

Du kan også slette en enkel cookies' værdi med

<?php
unset($_COOKIE['navn']);
?>
Avatar billede Slettet bruger
19. april 2005 - 17:53 #15
Ja, jeg ville blive glad for nogle point :o)
Avatar billede Slettet bruger
25. september 2005 - 18:57 #16
Tak for point -!
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