login  Naam:   Wachtwoord: 
Registreer je!
 Forum

errors met php poll zonder mysql

Offline baracus - 27/02/2005 10:52 (laatste wijziging 27/02/2005 11:05)
Avatar van baracusNieuw lid
  1. <?php
  2. ob_start(); //is enkel nodig voor de doorverwijzing
  3. /* POLL
  4. SIMPEL STEMSYSTEEM ZONDER MYSQL. RESULTATEN WORDEN OPGELSAGEN IN EEN LOG-BESTANDJE, WELKE GESCHEIDEIN WORDEN DOOR EEN ,.
  5. BIJ GEBRUIK OP WEBSERVER MOET HET BESTANDJE 0777 GESCHMOD WORDEN
  6.  
  7. ER KUNNEN ZOVEEL OPTIES TOEGEVOEGD WORDEN ALS MEN WIL, DIT WORDT AUTOMATISCH OPGENOMEN IN HET SCRIPT MITS DEZE GESCHEIDEN ZIJN DOOR EEN KOMMA (,) IN POLL.TXT.*/
  8.  
  9. $file = "poll.txt"; //het bestandje
  10. $fp = fopen($file, "r"); //lees poll.txt uit
  11. $inhoud = fread($fp, filesize($file)); //uitlezen
  12. fclose($fp);
  13. $vraag = "wat vin je ervan?";
  14. $optie = array("leuk", "mooi", "gaat", "lelijk");
  15. $resultaat = explode(",", $inhoud); //$inhoud in een array zetten.
  16. $totaal = array_sum($resultaat); //totaal berekenen
  17. $j = count($resultaat); //tellen hoeveel resultaten er zijn (standaard 3)
  18.  
  19. if($_COOKIE['poll'] == 'gestemd')
  20. {
  21. echo "<b>".$vraag."</b><br><hr><br>";
  22. for($i = 0; $i < $j; $i ++) //lusje om resultaten te laten zien.
  23. {
  24. $uitslag = round(100 / $totaal * $resultaat[$i]); //formule voor procenten
  25. echo "<table width=\"100%\" border=\"0\"><tr><td width=\"100\">".$optie[$i]."</td><td width=\"20\"><!-- no contents --></td><td width=\"*\"><table border=\"0\" width=\"".$uitslag."%\" height=\"20\"><td bgcolor=\"#3399cc\"> </td></tr></table></td><td width=\"30\">".$uitslag."%</td></tr></table><br>"; //maak de opmaak met de breedte van tabel
  26. }
  27. echo "<b>you have already voted</b><br><br><b>".$totaal."</b> total votes";
  28. }
  29. else
  30. {
  31. if(isset($_POST['stemmen'])) //als er op de knop geklikt is
  32. {
  33. if($_POST['stem'] == '') //als er geen waarde is
  34. {
  35. echo "you have filled nothing in, return to fill in.";
  36. }
  37. else
  38. { // hieronder moeten de overige resultaten ook weer ingevoegd worden.
  39. for($l = 0; $l < $_POST['stem']; $l ++)
  40. {
  41. $invoegen.= $resultaat[$l].","; //komma er weer bij..
  42. }
  43. $invoegen.= $resultaat[$_POST['stem']]+1; //voeg de stem toe + 1
  44. for($l = $_POST['stem']; $l < $j-1; $l ++)
  45. {
  46. $invoegen.= ",".$resultaat[$l];
  47. }
  48.  
  49. $fp = fopen($file, "r+");
  50. fputs($fp, $invoegen); //$invoegen invoegen
  51. fclose($fp);
  52. setcookie("poll", "gestemd", time()+3600*24); //hier wordt het cookie geset op een dag
  53. echo "Your vote has been sent!<br>You are now referred to the poll...";
  54. header("refresh: 2; url=poll.php"); //doorverwijzing
  55. }
  56. }
  57. else
  58. {
  59. echo "<form method=\"post\">";
  60. for($i = 0; $i < $j; $i ++) //lusje om resultaten te laten zien.
  61. {
  62. $uitslag = round(100 / $totaal * $resultaat[$i]); //formule voor procenten
  63. echo "<table width=\"100%\" border=\"0\"><tr><td width=\"100\">".$optie[$i]."</td><td width=\"20\"><input type=\"radio\" name=\"stem\" value=\"".$i."\"></td><td width=\"*\"><table border=\"0\" width=\"".$uitslag."%\" height=\"20\"><td bgcolor=\"#3399cc\"> </td></tr></table></td><td width=\"30\">".$uitslag."%</td></tr></table><br>"; //maak de opmaak met de breedte van tabel
  64. }
  65. echo "<input type=\"submit\" name=\"stemmen\" value=\"Stemmen\"></form><br><br><b>".$totaal."</b> total votes";
  66. }
  67. }
  68. ?>




dit zijn de fouten die ik krijg


Warning: fopen(poll.txt): failed to open stream: No such file or directory in /home/celeb/public_html/poll.php on line 17

Warning: filesize(): Stat failed for poll.txt (errno=2 - No such file or directory) in /home/celeb/public_html/poll.php on line 18

Warning: fread(): supplied argument is not a valid stream resource in /home/celeb/public_html/poll.php on line 18

Warning: fclose(): supplied argument is not a valid stream resource in /home/celeb/public_html/poll.php on line 19


Warning: Division by zero in /home/celeb/public_html/poll.php on line 69
leuk

het bestand poll.txt staat in ftp op 777

admin edit: gelieve in het vervolg [ code] tags te gebruiken!

6 antwoorden

Gesponsorde links
Offline twopeak - 30/11/1999 00:00
Avatar van twopeak Gouden medaille

PHP ver gevorderde
1ste fout het script vind je bestand niet!rncontroleer met een if-lus en file_exists() of het bestand bestaat (of laat het aanmaken)rnrnDe drie volgende fouten zullen niet meer voorkomen als je het bestand hebt gevondenrnrnchmod je bestand naar 755! controleer of het schrijf en leesbaar is voor php met de functies is_readable() en is_writable(). 777 is enkel als het niet anders kan.rnrnop lijn 69 heb je een deling door nul! zoek op welke variabele nul is en waarom die nul is.
Offline baracus - 30/11/1999 00:00
Avatar van baracus Nieuw lid ok das al opgelost ma nu krijg ik nog ditrnrnWarning fread() Length parameter must be greater than 0. in homecelebpublic_htmlpoll.php on line 18rnrnrnWarning Division by zero in homecelebpublic_htmlpoll.php on line 69rnrnzoude kunnen zeggen wat ik moet plaatsen op lijn 18 en 69
Offline CelestialCelebi - 30/11/1999 00:00
Avatar van CelestialCelebi PHP gevorderde Hmm, je zou ditrn[code]phprn $file = poll.txt; het bestandjern $fp = fopen($file, r); lees poll.txt uitrn $inhoud = fread($fp, filesize($file)); uitlezenrn fclose($fp);rn[code]rndoor dit kunnen vervangenrnrn[code]phprn$inhoud = file_get_contents($file); lees de hele inhoud van $file in de variabele $inhoudrn[code]rnrnhttpwww.php.netfile_get_contents
Offline baracus - 30/11/1999 00:00
Avatar van baracus Nieuw lid nope da werkt niet
Offline remy - 30/11/1999 00:00
Avatar van remy PHP ver gevorderde het bestand moet inhoud hebben, dus groter dan 0
Offline Thomas - 30/11/1999 00:00
Avatar van Thomas Moderator Je moet je filesize ff initialiseren op een getal, voor als het bestand nog leeg is.rnrnBijvoorbeeldrn[code]rn $handle is de file-handlern$readsize = (filesize($je_bestand) 0) filesize($je_bestand) 1024;rn$inhoud = fread($handle, $readsize);rn[code]
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.183s