Avatar billede haolan Nybegynder
16. maj 2007 - 14:59 Der er 9 kommentarer og
1 løsning

Ændre/slette en cookie ved password ændring

Hej

Jeg har på min side en cookie til at gemme passwords for brugerne.
Hvis en bruger ændre sit password, vil den jo ikke længere passe med den cookie der er gemt, derfor har jeg forsøgt at slette min cookie i forbindelse med ændring af password, men det kan den ikke fordi jeg ikke udføre kaldet i min header.

Hvordan løser man det problem?
Avatar billede jakobdo Ekspert
16. maj 2007 - 16:13 #1
Du skal have eksekveret koden:

setcookie ("dinCookie", "", time() - 3600);
Og den er ikke længere.

At du ikke kan bruge header() i din kode, må jo så løses på en anden måde.
Måske du bare skal kode lidt anderledes.
Avatar billede yHec Novice
17. maj 2007 - 17:42 #2
Jeg ville bare gøre følgende (det gør jeg på mit eget site, og det virker)

setcookie ("Cookie", "[det nye password)", time() + 3600);

Så overskriver du den gamle og opretter en ny.

/y
Avatar billede haolan Nybegynder
17. maj 2007 - 19:07 #3
men hvor skal jeg placere setcookie? den skal jo normalt være i headeren :S
Avatar billede yHec Novice
17. maj 2007 - 19:38 #4
Njahhh, ikke nødvendigvis. Du må bare ikke lave output fra scriptet, inde du sætter den.

Jeg sætter den lige inden jeg opdaterer db'en.

Virker fint

/y
Avatar billede haolan Nybegynder
17. maj 2007 - 19:50 #5
Jeg får den her fejl hver gang:

Warning: Cannot modify header information - headers already sent by (output started at...
Avatar billede haolan Nybegynder
17. maj 2007 - 19:51 #6
problemet opstår i at min fil hvor jeg kan ændre password bliver inkluderet i en anden fil der indeholder selve siden.
Avatar billede jakobdo Ekspert
17. maj 2007 - 20:22 #7
Måske du igen skal overveje at bygge din side anderledes op!
Normalt laver man jo alt php behandling, og så laver man output.
Avatar billede haolan Nybegynder
19. juni 2007 - 19:21 #8
Kan godt være du har ret jakobdo.. Mit php er selvlært, så min kodestruktur er noget bras..

Kender du evt. en side på nettet hvor man kan lære at bygge sin phpstruktur professionelt og overskueligt op?

Jeg har midlertidigt løst det ved at man bliver logget ud ved ændring password og derved slettes min cookie.. ved godt det ikke er en holdbar løsning, men det kan gå indtil jeg får lært at bygge min kode ordentligt op..

Så smid et svar for points jakobdo.. Dit svar hjalp mig på vej..
Avatar billede jakobdo Ekspert
19. juni 2007 - 21:08 #9
Jeg ved ikke om der er en guide til hvordan man skal kode professionelt.
Men du lærer det kun ved at kode, ikke noget du som sådan kan læse dig til.

Jeg vil mene en god måde at kode på er følgende:

<?php
$noget = 1 + 2;
$output = floor($noget * 2,4);
?>
<html>
<head>
<title>PHP TEST</title>
</head>
<body>
<?=$output;?>
</body>
</html>

På den måde lave du alt php kode uden at sende noget output, før du er helt færdig.
På den måde kan du lave:
header() setcookie() og lign uden at det giver dig de problemer du her er løbet ind i. :o)

Du får et svar.
Avatar billede jakobdo Ekspert
19. juni 2007 - 21:31 #10
Takker 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