login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Cookie vraag

Offline RonsterS - 19/01/2007 23:20 (laatste wijziging 19/01/2007 23:25)
Avatar van RonsterSNieuw lid Ik ben met een guestbook bezig waarbij ik wil dat een user zijn bericht tot 48 uur kan wijzigen

ik wil dat doen dmv een cookie.
ik heb
  1. setcookie("toonengbook", time()+172800, "/");


als een user de button klikt om een bericht te wijigen gaat hijnde cookie checken.

  1. if(isset($_COOKIE['toonengbook'])) {
  2. // cookie bestaat, lees de waarde uit
  3. } else{
  4. echo "geen";
  5. }

allen dit lijkt niet te werken..

hij stuur alles door naar de form.php pagina, ook als er voor dat bericht geen cookie is geset!

wat doe ik fout?

10 antwoorden

Gesponsorde links
Offline bigsmoke - 19/01/2007 23:46
Avatar van bigsmoke PHP interesse is mss dom maar zou mss kunnen liggen dat je geen waarde geeft aan je cookie?
Offline Kr4nKz1n - 20/01/2007 00:23
Avatar van Kr4nKz1n Onbekend Jawel, de waarde van de cookie is time()+172800 en de tijd is /.

Maar ik snap je bigsmoke, hij heeft de waarde vergeten mee te geven ja.

  1. <? //Use <? in the top of de coding!!
  2. setcookie("name", "value", "time", "path", "domain");
  3.  
  4. //Example
  5. setcookie("Username", $tbl['username'], time()+87600, "/", "php.net");
  6. ?>
Offline Elpiedro - 20/01/2007 00:45
Avatar van Elpiedro PHP interesse ik heb dit probleem ook gehad ik heb gewoon de "/" wegelaten bij "path" en alles werkte!
Offline Kr4nKz1n - 20/01/2007 01:01
Avatar van Kr4nKz1n Onbekend Alleen de path weg gelaten? dan heb je domain ook weg gelaten hoop ik voor je.
Offline Ronstert - 20/01/2007 12:53
Avatar van Ronstert MySQL interesse ok heb de cookie nu een id meegegeven van het bericht.
  1. <?setcookie("toonengbook", $_POST["id"], time()+172800);?>


als iemand op de edit knop druk gaat hijde cookie checken
  1. <?if(isset($_COOKIE['toonengbook'])) {?>


maar dan moet ie ook nog de id matchen.

hoe doe ik dat?.
Offline timo - 20/01/2007 12:59
Avatar van timo PHP ver gevorderde
  1. <?
  2. if(isset($_COOKIE['toonengbook']) && $_COOKIE['toonengbook'] = $id_waar_je_het_dan_vandaan_hebt)
  3. ?>
Offline Ronstert - 20/01/2007 15:21
Avatar van Ronstert MySQL interesse ik snap dr niks van.

dit is mijn check script
  1. <?
  2. if(isset($_COOKIE['toonengbook'])) {
  3. // cookie bestaat, lees de waarde uit
  4. ?>
  5. <meta http-equiv="refresh" content="1; url=<?=$pagina?>/form.php?id=<?=$id?>">
  6. <?
  7. } else {
  8. // cookie bestaat niet
  9. ?>
  10. <script language="javascript" type="text/javascript">
  11. alert('This is what an alert message looks like.');
  12. </script>
  13. <?
  14. }
  15.  
  16. ?>

ik heb een bericht geplaatst dus vindt hij het cookie. ik kan alles editen wat ik maar zou willen.
ik roep de pagina waar dit script staat zo aan

  1. checkcookie.php?id=$id


wat moet ik nou doen om te zorgen dat ik alleen dit bericht met de id die ik opvraag kan editen en niet een ander bericht!
Offline riekele - 20/01/2007 15:26 (laatste wijziging 20/01/2007 15:27)
Avatar van riekele PHP beginner je bent ; vergeten achter $pagina en $id.. je hebt de id van het besricht opgeslagen in je cookie, dus daarmee kan je controleren of het id wel matched

  1. <?
  2. if(isset($_COOKIE['toonengbook']) && $_COOKIE['toonengbook'] == $id)
  3.  
  4. ?>
Offline Kr4nKz1n - 20/01/2007 16:18
Avatar van Kr4nKz1n Onbekend Ipv de meta tag kun je ook PHP gebruiken om door te "linken".

  1. <?
  2. //Gelijk
  3. Header("Location: index.php");
  4.  
  5. //Na het aantal opgegeven secondes
  6. Header("refresh: 3; url=index.php");
  7. ?>
Offline Martijn1989 - 20/01/2007 16:55
Avatar van Martijn1989 PHP ver gevorderde Je moet wel uitkijken dat ik of Kr4nKz1n geen coockie aanmaken die $_COOKIE['toonengbook'] heet met een id bijv 27. Dan zou ik alle berichtjes kunnen aanpassen. Je zou dus ook een ip op moeten slaan of dergelijke.

"Een wist je datje, voor het geval je daar nog niet achter was. "
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.299s