bergetun Skrevet 29. september 2003 Del Skrevet 29. september 2003 Jeg har proevd aa leare meg hvordan man setter cookies i PHP men faar det ikke til i det hele tatt. Det er jo usannsynlig vanskelig i forhold til ASP (usj). Er det noen som kunne tatt seg tid til aa forklart meg hvordan dette gjoeres i PHP ? Jeg proever aa sette en cookie med 5 verdier som gaar ut 6 mnder etter at den ble satt. Og jeg proever aa hente ut igjen de fem verdiene fra cookien . Tusen takk for all hjelp Lenke til kommentar
magikern Skrevet 29. september 2003 Del Skrevet 29. september 2003 har du sett her: http://php.planetmirror.com/manual/en/feat...res.cookies.php Lenke til kommentar
bergetun Skrevet 29. september 2003 Forfatter Del Skrevet 29. september 2003 har du sett her:http://php.planetmirror.com/manual/en/features.cookies.php Jau jeg proever... men jeg forstaar ikke helt <?php echo "Cookie testing <br />"; echo $_COOKIE["TestCookie"]; $value = "Cookien er satt"; setcookie("TestCookie", $value,time()+3600); ?> Saa faar jeg denne error meldingen .. : Cookie testingCookien er satt Warning: Cannot add header information - headers already sent by (output started at /home/bergetun/public_html/cookie.php:3) in /home/bergetun/public_html/cookie.php on line 8 Lenke til kommentar
magikern Skrevet 29. september 2003 Del Skrevet 29. september 2003 <?php setcookie("TestCookie", $value,time()+3600); echo "Cookie testing <br />"; echo $_COOKIE["TestCookie"]; $value = "Cookien er satt"; ?> når man skal sette headers med php så må det være det aller første som blir satt før noe blir printet til html, dvs at du kan ikke engang ha et mellomrom i scriptet før "<?php"... Lenke til kommentar
bergetun Skrevet 29. september 2003 Forfatter Del Skrevet 29. september 2003 Takker for hjelpen. Dvs at cookies i PHP er ubrukelig til aa brukes til feks sjekking om en bruker har stemt i en poll. Jeg proever aa sette cookien naar brukeren trykker paa vote knappen.. Slik som dette <?php include("dbconnect.php"); if($_POST['submit'] == "Vote!") { setcookie("Voted", "true",time()+3600*24*7); I ASP kan man sette cookien hvor som helst i koden saa der gjoeres ting litt annerledes. Lenke til kommentar
magikern Skrevet 29. september 2003 Del Skrevet 29. september 2003 <?php include("dbconnect.php"); if($_POST['submit'] == "Vote!") { setcookie("Voted", "true",time()+3600*24*7); jeg har aldri brukt cookie i php selv, men den feilmld du fikk sier meg at du har prøvd å sette header flere ganger. med header kan man godt sette det nederst i et php script så lenge ingenting blir printet til html først, hvis du skjønner hva jeg mener da, så det er godt mulig at du kan plassere cookien hvor du vil å bare det ikke blir sendt noe noen retning først... Lenke til kommentar
BlueEAGLE Skrevet 29. september 2003 Del Skrevet 29. september 2003 Dvs at cookies i PHP er ubrukelig til aa brukes til feks sjekking om en bruker har stemt i en poll. En cookie er uansett verdiløs til å sjekke om en bruker har stemt i en poll fordi a) Man kan deaktivere cookies helt i alle nettlesere B) Man kan slette cookies i alle nettlesere c) Ikke alle nettlesere støtter cookies d) Sikkert flere grunner også. Det aller sikreste er å bare la registrerte brukere stemme i poll-ene dine. Dermed så kan du sikre deg 100% mot ballot-stuffing (med mindre du har et automatisk brukerregistreringsscript som gjør at man kan registrere et utall med brukere). For å stoppe hakket før at alle må registrere seg så kan du sette en cookie og logge ip-adressen. Men i og med at mange leverandører fremdeles opererer med dynamiske IP-adresser (kryss fingrene for at det blir en slutt med dette når IPv6 kommer) så er du fremdeles ikke helt beskyttet. Lenke til kommentar
bergetun Skrevet 29. september 2003 Forfatter Del Skrevet 29. september 2003 Dvs at cookies i PHP er ubrukelig til aa brukes til feks sjekking om en bruker har stemt i en poll. En cookie er uansett verdiløs til å sjekke om en bruker har stemt i en poll fordi a) Man kan deaktivere cookies helt i alle nettlesere B) Man kan slette cookies i alle nettlesere c) Ikke alle nettlesere støtter cookies d) Sikkert flere grunner også. Det aller sikreste er å bare la registrerte brukere stemme i poll-ene dine. Dermed så kan du sikre deg 100% mot ballot-stuffing (med mindre du har et automatisk brukerregistreringsscript som gjør at man kan registrere et utall med brukere). For å stoppe hakket før at alle må registrere seg så kan du sette en cookie og logge ip-adressen. Men i og med at mange leverandører fremdeles opererer med dynamiske IP-adresser (kryss fingrene for at det blir en slutt med dette når IPv6 kommer) så er du fremdeles ikke helt beskyttet. Jeg tok det med poll som ett eksempel siden jeg akkurat holdt paa med en poll for hjemmesiden min Jeg skal bruke cookie og IP slik at det bare er mulig aa stemme 1 gang pr ip. Da blir sjansene mye mindre at en bruker kan stemme to ganger enn visst jeg bare brukte en av sjekk methodene. ' Uansett saa synes jeg at PHP methoden for aa sette cookie er mye vanskeligere enn i ASP/ASP.NET men saa lenge man vet om at man ikke kan sette cookie mitt i coden saa er det ikke saa farlig.. Ikke missforstaa meg, jeg er ikke noe Mircosoft elsker, faktisk LANG ifra. Jeg har kodet ASP i 2 mnder og PHP i litt over en uke og jeg foeler jeg allerede kan mer PHP enn ASP. Grunnen til dette er jeg har kodet mer C/C++ som ligner paa PHP enn Visual Basic som ligner paa ASP Lenke til kommentar
Gjest Slettet-rXRozPkg Skrevet 8. oktober 2003 Del Skrevet 8. oktober 2003 jeg har aldri brukt cookie i php selv, men den feilmld du fikk sier meg at du har prøvd å sette header flere ganger. med header kan man godt sette det nederst i et php script så lenge ingenting blir printet til html først, hvis du skjønner hva jeg mener da, så det er godt mulig at du kan plassere cookien hvor du vil å bare det ikke blir sendt noe noen retning først... Hvis man skrur på outputbuffering, så slipper man problemet med headers already sent at line blah blah... OB er noe man burde skru på uansett, fordi man kan komprimere dataene som blir sendt til nettleseren (gzip), og hvis ikke nettleseren støtter det blir det sendt som normalt. Sparer båndbredde og nedlastningstid (som kanskje er det viktigste). <?php ob_start("ob_gzhandler"); echo "<h1>Her er det litt HTML ja</h1>"; header("Location: http://www.php.net/"); /* ob_end_flush trengs egentlig ikke fordi PHP kaller dette automatisk ved slutten av scriptet... */ ob_end_flush(); ?> Dette har løst en del hodebry gjennom diverse oppgaver jeg har gjort på skolen Les mer her: http://no.php.net/ob_start Lenke til kommentar
Torbjørn Skrevet 8. oktober 2003 Del Skrevet 8. oktober 2003 tro meg - ASP kan *ikke* sette cookies hvis innholdet av en side allerede er begynt sendt. Det ville være magi. det er uansett verd å lære seg hva HTTP headers er for noe og hvorfor de må komme øverst. Lenke til kommentar
[kami] Skrevet 10. oktober 2003 Del Skrevet 10. oktober 2003 istede for å skrive echo... $html .= "det du vanligvis ville brukt echo på..."; setcookie()...; $html .= "litt mer html"; // nederst i koden echo $html; på denne måten får du all html nederst. osv Lenke til kommentar
PT Skrevet 10. oktober 2003 Del Skrevet 10. oktober 2003 For å stoppe hakket før at alle må registrere seg så kan du sette en cookie og logge ip-adressen. Men i og med at mange leverandører fremdeles opererer med dynamiske IP-adresser (kryss fingrene for at det blir en slutt med dette når IPv6 kommer) så er du fremdeles ikke helt beskyttet. Nextgentel opererer jo med en og samme IP for alle brukerene som ha samme type abonement. Tåpelig. Hvis én Nextgentel-bruker blir utestengt fra et forum (ved hjelp av TP) blir jo alle Nextgentel kundene det Blir litt off topic dette, men poenget er at man verken bør bruke cookies eller IP til slike ting. Enten må alle få stemme så mye de vil, eller så må kun medlemmer få lov til det. Du kan jo gjøre det slik at pollen ikke kommer opp før brukeren har logget inn... Lenke til kommentar
Torbjørn Skrevet 10. oktober 2003 Del Skrevet 10. oktober 2003 hva? har jeg aldri hørt om! Alle nextgentelbrukere jeg vet om har forskjellig ip. hvor har du det fra? Lenke til kommentar
PT Skrevet 10. oktober 2003 Del Skrevet 10. oktober 2003 hva? har jeg aldri hørt om! Alle nextgentelbrukere jeg vet om har forskjellig ip. hvor har du det fra? To av kameratene mine har NGT og samme IP. De igjen vet om flere som har samme IP og abo som det de har. Lenke til kommentar
bergetun Skrevet 11. oktober 2003 Forfatter Del Skrevet 11. oktober 2003 hva? har jeg aldri hørt om! Alle nextgentelbrukere jeg vet om har forskjellig ip. hvor har du det fra? To av kameratene mine har NGT og samme IP. De igjen vet om flere som har samme IP og abo som det de har. De fleste vote systemer som paa dagbladet/vg bruker cookies og det er nok for en userioes avstemmning. Det er jo ikke som om vi skal stemme om medlemskap i EU.. Lenke til kommentar
Torbjørn Skrevet 11. oktober 2003 Del Skrevet 11. oktober 2003 hva? har jeg aldri hørt om! Alle nextgentelbrukere jeg vet om har forskjellig ip. hvor har du det fra? To av kameratene mine har NGT og samme IP. De igjen vet om flere som har samme IP og abo som det de har. Dette høres meget rart ut. Etter å ha snoket rundt på nextgentel sine sider finner jeg ingenting som skulle tilsi at dette er riktig. Jeg må spørre om du ikke mener at flere personer bak samme abonement får samme IP utad gjennom NAT i ruteren. Det er det isåfall ikke noe å si på. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå