login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Undefined index: tijddatum

Offline Seneox - 23/05/2006 18:04 (laatste wijziging 23/05/2006 18:53)
Avatar van SeneoxNieuw lid Dit is voor een Cpanel van mijn site om nieuws te posten zodat ook andere mensen nieuws kunnen posten, maar ik krijg rare errors.
Ik heb nog weinig ervaring met php misschien dat jullie me kunnen helpen.

Hier is 't script voor Postnieuws.php
  1. <?php
  2. if ($ingelogt == false){
  3. header("Location: ?p=Check Login");
  4. }
  5. ?>
  6. <?php
  7. if (isset($_POST['verstuur'])) {
  8. }
  9.  
  10. if (!trim($_POST['onderwerp']))
  11. $error="Je bent vergeten een titel in te vullen!";
  12. elseif (!trim($_POST['inhoud']))
  13. $error="Je hebt geen inhoud ingevult!";
  14. elseif (!trim($_POST['tijddatum']))
  15. $error="Je het geen datum ingevult!";
  16. elseif (!trim($_POST['ip']))
  17. $error="Je hebt geen nicknaam ingevult!";
  18.  
  19. if ($error != "") {
  20.  
  21. echo $error."<br><a href=\"javascript:history.go(-1);\">Klik hier</a> om terug te gaan!";
  22.  
  23. }
  24.  
  25. else {
  26.  
  27.  
  28. mysql_query("INSERT INTO nieuws (onderwerp, inhoud, tijddatum, ip) VALUES ('$onderwerp', '$inhoud', '$tijddatum', 'ip')") or die(mysql_error());
  29. Header("Location: ?p=Hoofdmenu");
  30. }
  31. ?>
  32. <form id="form1" name="form1" method="post" action="">
  33. <input name="onderwerp" type="text" id="onderwerp" value="Titel" size="50" />
  34. <br />
  35. <textarea name="inhoud" cols="47" rows="15" id="inhoud">Inhoud</textarea>
  36. <br />
  37. <input name="datum" type="text" id="datum" value="05-21-06 @ 09:39 bijv." size="50" />
  38. <br />
  39. <input name="ip" type="text" id="ip" value="Usernaam" size="50" />
  40. <br />
  41. <input name="verstuur" type="submit" id="verstuur" value="Submit" />
  42. </form>


Hij include al naar de database op index.php.


Edit:
Een voorbeeld van een fout:
  1. Notice: Undefined index: tijddatum in C:\Webserver\Apache2\htdocs\metal-zonev2\admin\administrator\system\Postnieuws.php[

9 antwoorden

Gesponsorde links
Offline marten - 23/05/2006 18:06
Avatar van marten Beheerder graag alle fouten posten
Offline lemoinet - 23/05/2006 18:09 (laatste wijziging 23/05/2006 18:10)
Avatar van lemoinet PHP gevorderde in je form is er geen enkele input met de naam tijddatum

  1. elseif (!trim($_POST['datum']))

probeer dit eens
Offline Voldemort - 23/05/2006 18:11
Avatar van Voldemort PHP ver gevorderde
  1. if (isset($_POST['verstuur'])) {
  2. if (!trim($_POST['onderwerp']))
  3. $error="Je bent vergeten een titel in te vullen!";
  4. elseif (!trim($_POST['inhoud']))
  5. $error="Je hebt geen inhoud ingevult!";
  6. elseif (!trim($_POST['tijddatum']))
  7. $error="Je het geen datum ingevult!";
  8. elseif (!trim($_POST['ip']))
  9. $error="Je hebt geen nicknaam ingevult!";
  10.  
  11. if ($error != "") {
  12.  
  13. echo $error."<br><a href=\"javascript:history.go(-1);\">Klik hier</a> om terug te gaan!";
  14.  
  15. }
  16. }


(lijn 7 tot 23) Overigens is dit heel onveilig, als ik wil kan ik door kwaadaardige code (die je query veranderd) je hele MySQL aanpassen (haal alle POST-waardes eens door htmlentities($_POST['iets'],ENT_QUOTES)). Haal ook je variablen buiten de quotes. Je code zal al beter werken.
Offline marten - 23/05/2006 18:13 (laatste wijziging 23/05/2006 18:15)
Avatar van marten Beheerder http://www.plaatscode.be/358/

Probeer deze eens
Offline Seneox - 23/05/2006 18:19
Avatar van Seneox Nieuw lid @lemoinet was foutje van mijn, moest tijddatum zijn 

@Voldemort en marten, dat werkt Maar is dit ook veilig? Of kan zo iemand dit "hacken"?
Offline marten - 23/05/2006 18:22 (laatste wijziging 23/05/2006 18:24)
Avatar van marten Beheerder zoals ik het heb is het 'veilig' je moet onthouden dat alles gehackt kan worden maar dit is in ieder geval de manier van werken 

Trouwens
Je foutmeldingen Zou ik zo doen

  1. <?php
  2. $error = '';
  3. if (strlen($_POST['onderwerp']) < 3)
  4. $error .="Je bent vergeten een titel in te vullen!";
  5. elseif (strlen($_POST['inhoud']) < 500)
  6. $error .="Je hebt geen inhoud ingevult!";
  7. elseif (strlen($_POST['datum']) < 25)
  8. $error .="Je het geen datum ingevult!";
  9. elseif (strlen($_POST['ip']) < 15)
  10. $error .="Je hebt geen nicknaam ingevult!";
  11. ?>
Offline Seneox - 23/05/2006 18:23
Avatar van Seneox Nieuw lid Oke ik zal 't aanpassen, harstikke bedankt 
Offline marten - 23/05/2006 18:26
Avatar van marten Beheerder je zal namelijk met de code die je eerst had nooit geen foutmelding krijgen 

trim() haalt de spaties aan uit een string 
Offline Seneox - 23/05/2006 18:38
Avatar van Seneox Nieuw lid Aaa oke, ik had dat van een contact script die ik ook gebruikt 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.216s