login  Naam:   Wachtwoord: 
Registreer je!
 Forum

404 error na het toevoegen van een lus

Offline kaspar - 15/05/2010 10:32
Avatar van kasparNieuw lid Hallo allemaal, ik gebruik de volgende code:

toevoegen.php
  1. <html>
  2. <head>
  3. <title>Leonardo Da Vinci</title>
  4. <link rel="stylesheet" href="basis.css" type="text/css">
  5. </head>
  6. <body>
  7. <div id="great_div">
  8. <img src="DaVinci.jpg" id="header">
  9.  
  10. <form method="GET" action="search.php">
  11. <input type="text" name="search" id="search_text" style="text-align: center">
  12. <input type="submit" value="ZOEK" id="search_submit" style="text-align: center">
  13. </form>
  14. <?php
  15. $naam = $_POST["naam"];
  16. $editor = $_POST["editor"];
  17. $date = date('Y-m-d');
  18. $time = date('H:i:s');
  19. $post = $_POST["post"];
  20.  
  21.  
  22. if file_exists($naam . '.html') == true && !isset($_POST["submitknopja"] && !isset($_POST["submitknopnee"])) {
  23.  
  24. ?>
  25. Wilt u het oude artikel overschrijven?<br><br>
  26. <form action="toevoegen.php">
  27. <input type="submit" name="submitknopja" value="ja">
  28. <input type="submit" name="submitknopnee" value="nee">
  29. <input type="hidden" name="naam" value="<?php echo $naam ?>">
  30. <input type="hidden" name="editor" value="<?php echo $editor ?>">
  31. <input type="hidden" name="post" value="<?php echo $post ?>">
  32. </form>
  33. <?php
  34.  
  35. } elseif file_exists($naam . '.html') == true && isset($_POST["submitknopnee"]) {
  36.  
  37. echo 'Ga terug naar de <a href="index.php">index</a>!';
  38.  
  39. } elseif file_exists($naam . '.html') == true && isset($_POST["submitknopja"]) {
  40.  
  41. write = 1;
  42.  
  43. } else {
  44.  
  45. write = 1;
  46.  
  47. }
  48.  
  49. if write==1 {
  50. $Name = "Leonardo Da Vinci";
  51. $email = "leonardodavinci@knome.nl";
  52. $recipient = "xxx";
  53. $mail_body = 'Er is een nieuwe post op http://knome.nl/leonardodavinci gezet met de titel ' . $naam . '.
  54.  
  55. Leonardo Da Vinci';
  56. $subject = "Nieuwe post op knome.nl/leonardodavinci";
  57. $header = "From: ". $Name . " <" . $email . ">\r\n";
  58. mail($recipient, $subject, $mail_body, $header);
  59. $Name = "Leonardo Da Vinci";
  60. $email = "leonardodavinci@knome.nl";
  61. $recipient = "xxx";
  62. $mail_body = 'Er is een nieuwe post op http://knome.nl/leonardodavinci gezet met de titel ' . $naam . '.
  63.  
  64. Leonardo Da Vinci';
  65. $subject = "Nieuwe post op knome.nl/leonardodavinci";
  66. $header = "From: ". $Name . " <" . $email . ">\r\n";
  67. mail($recipient, $subject, $mail_body, $header);
  68.  
  69. $bestandsnaam = $naam . ".html";
  70. $filehandle = fopen($bestandsnaam, "w");
  71. fwrite($filehandle, "<font color=\"#000000\"><b>$naam</b><br>\n\n<u>$editor</u><br><br>\n\n$post\n\n<br><br>$date $time");
  72. fclose($filehandle);
  73.  
  74. $bestandsnaam = "links.html";
  75. $filehandle = fopen($bestandsnaam, "a");
  76. fwrite($filehandle, "<tr><td><a href=\"$naam.html\" target=\"_blank\"><b>$naam</b></a></td><td>$editor</td><td>$date $time</td></tr>\n");
  77. fclose($filehandle);
  78.  
  79. ?><br><br>Uw nieuwe post is toegevoegd! Ga terug naar de <a href="index.php">index</a> om hem te bekijken!
  80.  
  81. <?php
  82. } else {
  83.  
  84. }
  85. ?>
  86. </div>
  87. </body>
  88. </html>


het zou zo moeten werken dat wanneer het bestand in $naam al bestaat, hij vraagt of je het wil overschrijven. Als je ja antwoord, gaat hij dat doen (dan staat write=1) en als je nee antwoord krijg je een standaardtekstje.
Als het bestand nog niet bestaat, staat write=1, en schrijft hij het bestand dus.

Het schrijven en de emails werken, maar ik heb de if-lus toegevoegd en nu geeft hij een 404-error!!??

7 antwoorden

Gesponsorde links
Offline MiST - 15/05/2010 10:39
Avatar van MiST Lid Waarom heeft de write variabele geen dollar sign? ($write)

Vind ik maar louche....
Offline kaspar - 16/05/2010 13:50 (laatste wijziging 16/05/2010 13:52)
Avatar van kaspar Nieuw lid Oke, bedankt. Ik werk veel met JavaScript, dus vandaar. Ik heb het verandert, de code ziet er nu als volgt uit (ik heb ook nog wat andere dingen verandert):

  1. <html>
  2. <head>
  3. <title>Leonardo Da Vinci</title>
  4. <link rel="stylesheet" href="basis.css" type="text/css">
  5. </head>
  6. <body>
  7. <div id="great_div">
  8. <img src="DaVinci.jpg" id="header">
  9.  
  10. <form method="GET" action="search.php">
  11. <input type="text" name="search" id="search_text" style="text-align: center">
  12. <input type="submit" value="ZOEK" id="search_submit" style="text-align: center">
  13. </form>
  14.  
  15. <!-- vanaf hier heb ik nieuw toegevoegd //-->
  16.  
  17. <?php
  18. $naam = $_POST["naam"];
  19. $editor = $_POST["editor"];
  20. $date = date('Y-m-d');
  21. $time = date('H:i:s');
  22. $post = $_POST["post"];
  23.  
  24.  
  25. if file_exists($naam . '.html') == true && !isset($_POST["submitknopja"] && !isset($_POST["submitknopnee"])) {
  26.  
  27. ?>
  28. Wilt u het oude artikel overschrijven?<br><br>
  29. <form action="toevoegen.php">
  30. <input type="submit" name="submitknopja" value="ja">
  31. <input type="submit" name="submitknopnee" value="nee">
  32. <?php
  33. echo '<input type="hidden" name="naam" value="'.$naam.'">';
  34. echo '<input type="hidden" name="editor" value="'.$editor.'">';
  35. echo '<input type="hidden" name="post" value="'.$post.'">';
  36. ?></form>
  37. <?php
  38.  
  39. } elseif file_exists($naam . '.html') == true && isset($_POST["submitknopnee"]) {
  40.  
  41. echo 'Ga terug naar de <a href="index.php">index</a>!';
  42.  
  43. } elseif file_exists($naam . '.html') == true && isset($_POST["submitknopja"]) {
  44.  
  45. $write = 1;
  46.  
  47. } else {
  48.  
  49. $write = 1;
  50.  
  51. }
  52.  
  53. if $write==1 {
  54.  
  55.  
  56. /* Dit is het oude script */
  57.  
  58.  
  59. $Name = "Leonardo Da Vinci";
  60. $email = "leonardodavinci@knome.nl";
  61. $recipient = "camil-226@hotmail.com";
  62. $mail_body = 'Er is een nieuwe post op http://knome.nl/leonardodavinci gezet met de titel ' . $naam . '.
  63.  
  64. Leonardo Da Vinci';
  65. $subject = "Nieuwe post op knome.nl/leonardodavinci";
  66. $header = "From: ". $Name . " <" . $email . ">\r\n";
  67. mail($recipient, $subject, $mail_body, $header);
  68.  
  69. $bestandsnaam = $naam . ".html";
  70. $filehandle = fopen($bestandsnaam, "w");
  71. fwrite($filehandle, "<font color=\"#000000\"><b>$naam</b><br>\n\n<u>$editor</u><br><br>\n\n$post\n\n<br><br>$date $time");
  72. fclose($filehandle);
  73.  
  74. $bestandsnaam = "links.html";
  75. $filehandle = fopen($bestandsnaam, "a");
  76. fwrite($filehandle, "<tr><td><a href=\"$naam.html\" target=\"_blank\"><b>$naam</b></a></td><td>$editor</td><td>$date $time</td></tr>\n");
  77. fclose($filehandle);
  78.  
  79. ?><br><br>Uw nieuwe post is toegevoegd! Ga terug naar de <a href="index.php">index</a> om hem te bekijken!
  80.  
  81. <?php
  82. } else {
  83. /* nog die nieuwe if-lus afsluiten */
  84. }
  85. ?>
  86. </div>
  87. </body>
  88. </html>


Het probleem met de 404 blijft bestaan.
Als je wilt kun je het zelf bekijken op www.knome.nl/leonardodavinci

Als je in het zoekbalkje "leodvin" intypt kun je een artikel toevoegen. Als je dan op "Voeg je nieuwe post toe!" klikt, kom je bij dit script.
Offline Filip - 16/05/2010 15:35
Avatar van Filip IRC guru Ik krijg gewoon een lege page.. Misschien handig om even je error reporting en display errors aan te zetten.. Dan zou je misschien wel eens de fout kunnen zien..
Offline lolll - 16/05/2010 16:43
Avatar van lolll Lid Ik krijg een 500 fout, bij meer informatie staat er :

Citaat:
Deze fout (HTTP-fout 500 - Interne serverfout) houdt in dat de bezochte website een serverprobleem heeft waardoor de webpagina niet goed kan worden weergegeven.


Ook staat er dat de website hoogst waarschijnlijk een programmeerfout bevat.

Zelf zie ik nu nog niet direct een foutje staan, ik zal de code nog eens verder uitpluizen.
Offline kaspar - 19/05/2010 15:34
Avatar van kaspar Nieuw lid Oke... bedankt
Ik heb dit probleem namelijk al eerder gehad. Mijn server staat bij Domeinflits, ik weet niet of daar problemen bekend zijn??
Offline Arphetic - 19/05/2010 21:33
Avatar van Arphetic Nieuw lid Je moet zowel je accolades, als je haakjes even controleren want volgens mij zit het niet helemaal goed?!
Offline BOONBE - 20/05/2010 09:38
Avatar van BOONBE Nieuw lid Hallo,

Persoonlijk gebruik ik single quotes (') en double quotes (") omgekeerd.
Maw echo 'some text="value"' wordt bij mij echo "some text='value'", dit voorkomt dat ik \" dit soort combinaties niet hoef te gebruiken, verder vindt ik dat je nogal veel switcht tussen php en html. Persoonlijk schrijf ik alles in PHP ook hier voorkom je dat je ergens in de mist gaat.

In de volgende statement heb je een fout bij isset($_POST["submitknopja"] <== ) vergeten

if file_exists($naam . '.html') == true && !isset($_POST["submitknopja"] && !isset($_POST["submitknopnee"])) {

Verder is het ook een goed idee om alle if-statement te beginnen met ( en te eindigen met ) voor de {
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.208s