login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Nieuwsbericht toevoegen

Offline Lazlo - 02/04/2006 13:15
Avatar van LazloHTML beginner Gebruik het volgende script om een nieuwsbericht toe te voegen:

  1. if ($HTTP_GET_VARS[action] == "add" || $HTTP_POST_VARS[action] == "add")
  2. {
  3. if ($HTTP_POST_VARS["titel"] && $HTTP_POST_VARS["naam"] && $HTTP_POST_VARS["bericht"] && $HTTP_POST_VARS["datum"] && $HTTP_POST_VARS["tijd"])
  4. {
  5. $sql = "INSERT INTO nieuws (id, titel, naam, bericht, datum, tijd) VALUES ('', '$HTTP_POST_VARS[titel]', '$HTTP_POST_VARS[naam]', '$HTTP_POST_VARS[bericht]', '$HTTP_POST_VARS[datum]'), '$HTTP_POST_VARS[tijd]'";
  6. $res = mysql_query($sql);
  7.  
  8. if ($res)
  9. {
  10. echo "Het bericht is toegevoegd aan de site.";
  11. }
  12. else
  13. {
  14. echo "Het bericht is niet toegevoegd aan de site";
  15. }
  16. }
  17. else
  18. {
  19. if ($HTTP_POST_VARS["submit"])
  20. $err = "Enkele velden vergeten.";
  21.  
  22. if ($HTTP_POST_VARS["datum"])
  23. $cdate = $HTTP_POST_VARS["datum"];
  24. else
  25. $cdate = date("d-m-Y");
  26.  
  27. echo "<p>Plaats een nieuw bericht</p>";
  28. echo "<form method=\"post\" action=\"$PHP_SELF\">";
  29. echo "<input type=\"hidden\" name=\"show\" value=\"add\">";
  30. echo "Datum: <input type=\"text\" size=\"10\" maxlength=\"10\" value=\"$cdate\" name=\"datum\"><br>";
  31. echo "Tijd: <input type=\"text\" size=\"10\" maxlength=\"10\" value=\"0\" name=\"tijd\"><br>";
  32. echo "Naam: <input type=\"text\" size=\"30\" name=\"naam\" value=\"$HTPT_POST_VARS[naam]\"><br>";
  33. echo "Titel: <input type=\"text\" size=\"30\" name=\"titel\" value=\"$HTPT_POST_VARS[titel]\"><br>";
  34. echo "Bericht:<br>";
  35. echo "<textarea name=\"bericht\" rows=\"25\" cols=\"60\">$HTTP_POST_VARS[bericht]</textarea><br>";
  36. echo "<input type=\"submit\" name=\"submit\" value=\"Toevoegen\">";
  37. echo "</form>";
  38. }
  39. }


Alleen wanneer ik op toevoegen druk laadt hij de pagina opnieuw en doet niks. Dat hij de pagina laadt klopt ($PHP_SELF), maar hij zou iets moeten doen met de meegegeven waardes ($HTTP_POST_VARS) en dat gebeurd niet.

17 antwoorden

Gesponsorde links
Offline Ultimatum - 02/04/2006 13:33
Avatar van Ultimatum PHP expert volgens mij verwar jij een paar waarden, want je gaat kijken of add bestaat maar je button naam is submit
Offline Lazlo - 02/04/2006 13:36
Avatar van Lazlo HTML beginner Nee dat klopt wel, dat is wanneer ik de opdracht geef om naar de pagina voor het bericht toe te voegen te gaan.

Hier is de volledige code:

http://pastebin.be/720/
Offline Mart3n - 02/04/2006 13:38 (laatste wijziging 02/04/2006 13:39)
Avatar van Mart3n Nieuw lid
  1. <?php
  2.  
  3. if ($_GET['action'] == 'add')
  4. {
  5. if( $_SERVER['REQUEST_METHOD'] == 'POST' )
  6. {
  7. if( empty( $_POST['titel'] ) OR empty( $_POST['naam'] ) OR empty( $_POST['bericht'] ) OR empty( $_POST['datum'] ) OR empty( $_POST['tijd'] ) )
  8. {
  9. echo 'Je moet alle velden invullen! <a href="javascript:history.back(-1)">Ga terug!</a>';
  10. }
  11. else
  12. {
  13. $query = mysql_query( "INSERT INTO nieuws( titel , naam , bericht , datum , tijd ) VALUES( '" . $_POST['titel'] . "' , '" . $_POST['naam'] . "' , '" . $_POST['bericht'] . "' , '" . $_POST['datum'] . "' , '" . $_POST['tijd'] . "'" ) or die( mysql_error() );
  14. echo 'Je bericht is succevol toegevoegd aan de site!';
  15. }
  16. }
  17. else
  18. {
  19. echo '
  20. <b>Plaats een nieuw bericht!</b>
  21. <br />
  22. <br />
  23. <form method="post" action="">
  24. Datum: <input type="text" name="datum" maxlength="10" size="10" value="' . date("d-m-Y") . '" /> <br />
  25. Tijd: <input type="text" name="tijd" maxlength="10" size="10" value="0" /> <br />
  26. Naam: <input type="text" name="naam" maxlength="10" size="10" /> <br />
  27. Titel: <input type="text" name="titel" maxlength="10" size="10" value="0" /> <br />
  28. Bericht: <textarea name="bericht" rows="25" cols="60"></textarea> <br /> <br />
  29. <input type="submit" name="submit" value="Toevoegen!" />';
  30. }
  31. }
  32.  
  33. ?>


zoiets moet het wel doen, volgens mij ben je nog niet zo lang met php bezig ?
Offline Lazlo - 02/04/2006 13:48
Avatar van Lazlo HTML beginner Mm, @Mart3n
  1. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Offline Mart3n - 02/04/2006 13:50
Avatar van Mart3n Nieuw lid de kolom 'id' he, hoe staat die in je database ? INT of VARCHAR ?
Offline Lazlo - 02/04/2006 13:54
Avatar van Lazlo HTML beginner INT
Offline Mart3n - 02/04/2006 14:06
Avatar van Mart3n Nieuw lid probeer es

  1. $query = mysql_query( "INSERT INTO nieuws( id , titel , naam , bericht , datum , tijd ) VALUES( '' , '" . $_POST['titel'] . "' , '" . $_POST['naam'] . "' , '" . $_POST['bericht'] . "' , '" . $_POST['datum'] . "' , '" . $_POST['tijd'] . "'" ) or die( mysql_error() );
Offline Lazlo - 02/04/2006 14:10
Avatar van Lazlo HTML beginner Nope, zelfde foutmelding.
Offline Mart3n - 02/04/2006 14:22
Avatar van Mart3n Nieuw lid id, titel, naam, bericht, datum en tijd <-- dat zijn allemaal kolommen in je database-veld ?
Offline Lazlo - 03/04/2006 07:40
Avatar van Lazlo HTML beginner ja:

  1. CREATE TABLE `nieuws` (
  2. `id` int(3) NOT NULL auto_increment,
  3. `titel` varchar(40) NOT NULL default '',
  4. `naam` varchar(40) NOT NULL default '',
  5. `bericht` text NOT NULL,
  6. `datum` varchar(20) NOT NULL default '',
  7. `tijd` varchar(20) NOT NULL default '',
  8. PRIMARY KEY (`id`)
  9. );
Offline finduilas - 03/04/2006 07:54
Avatar van finduilas PHP gevorderde Ik geloof niet dat je ID moet invoegen:
  1. $query = mysql_query( "INSERT INTO nieuws(titel , naam , bericht , datum , tijd ) VALUES('" . $_POST['titel'] . "' , '" . $_POST['naam'] . "' , '" . $_POST['bericht'] . "' , '" . $_POST['datum'] . "' , '" . $_POST['tijd'] . "'" ) or die( mysql_error() );

Zo do ik het
Offline Lazlo - 03/04/2006 08:02
Avatar van Lazlo HTML beginner Weer dezelfde foutmelding.
Offline Mart3n - 03/04/2006 08:45
Avatar van Mart3n Nieuw lid probees es in mysql

  1. CREATE TABLE `nieuws` (
  2. `id` int(3) NOT NULL auto_increment,
  3. `titel` varchar(40) NOT NULL default '',
  4. `naam` varchar(40) NOT NULL default '',
  5. `bericht` text NOT NULL,
  6. `datum` varchar(20) NOT NULL default '',
  7. `tijd` varchar(20) NOT NULL default '',
  8. PRIMARY KEY (`id`)
  9. ) TYPE = MYISAM ;"
Offline DavidB - 03/04/2006 12:49 (laatste wijziging 03/04/2006 12:50)
Avatar van DavidB Nieuw lid probeer eens een <? echo' ".$qeury." '; ?>
Als je submit geklikt heb. kijk wat deze dan aangeeft.:!: 
En voer deze query dan uit in phpmyadmin
Offline Simon - 03/04/2006 13:18 (laatste wijziging 03/04/2006 13:18)
Avatar van Simon PHP expert je moet gewoon de VALUES ( afsluiten!!
en als je een fout wil vinden, splits je query op!!
  1. $query = mysql_query( "
  2. INSERT INTO
  3. nieuws(titel , naam , bericht , datum , tijd )
  4. VALUES('" . $_POST['titel'] . "' , '" . $_POST['naam'] . "' , '" . $_POST['bericht'] . "' , '" . $_POST['datum'] . "' , '" . $_POST['tijd'] . "'
  5. " )
  6. or die( mysql_error() );

zoals je ziet heb je values niet afgesloten
Offline Lazlo - 03/04/2006 16:21
Avatar van Lazlo HTML beginner Bedankt Simon, nu werkt het.
Offline Mart3n - 03/04/2006 16:22
Avatar van Mart3n Nieuw lid naja, *dom* srry kzag het egt niet 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.315s