Nieuwsbericht toevoegen
Lazlo - 02/04/2006 13:15
HTML beginner
Gebruik het volgende script om een nieuwsbericht toe te voegen:
if ($HTTP_GET_VARS[action] == "add" || $HTTP_POST_VARS[action] == "add")
{
if ($HTTP_POST_VARS["titel"] && $HTTP_POST_VARS["naam"] && $HTTP_POST_VARS["bericht"] && $HTTP_POST_VARS["datum"] && $HTTP_POST_VARS["tijd"])
{
$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]'";
$res = mysql_query($sql);
if ($res)
{
echo "Het bericht is toegevoegd aan de site.";
}
else
{
echo "Het bericht is niet toegevoegd aan de site";
}
}
else
{
if ($HTTP_POST_VARS["submit"])
$err = "Enkele velden vergeten.";
if ($HTTP_POST_VARS["datum"])
$cdate = $HTTP_POST_VARS["datum"];
else
$cdate = date("d-m-Y");
echo "<p>Plaats een nieuw bericht</p>";
echo "<form method=\"post\" action=\"$PHP_SELF\">";
echo "<input type=\"hidden\" name=\"show\" value=\"add\">";
echo "Datum: <input type=\"text\" size=\"10\" maxlength=\"10\" value=\"$cdate\" name=\"datum\"><br>";
echo "Tijd: <input type=\"text\" size=\"10\" maxlength=\"10\" value=\"0\" name=\"tijd\"><br>";
echo "Naam: <input type=\"text\" size=\"30\" name=\"naam\" value=\"$HTPT_POST_VARS[naam]\"><br>";
echo "Titel: <input type=\"text\" size=\"30\" name=\"titel\" value=\"$HTPT_POST_VARS[titel]\"><br>";
echo "Bericht:<br>";
echo "<textarea name=\"bericht\" rows=\"25\" cols=\"60\">$HTTP_POST_VARS[bericht]</textarea><br>";
echo "<input type=\"submit\" name=\"submit\" value=\"Toevoegen\">";
echo "</form>";
}
}
if ( $HTTP_GET_VARS [ action] == "add" || $HTTP_POST_VARS [ action] == "add" )
{
if ( $HTTP_POST_VARS [ "titel" ] && $HTTP_POST_VARS [ "naam" ] && $HTTP_POST_VARS [ "bericht" ] && $HTTP_POST_VARS [ "datum" ] && $HTTP_POST_VARS [ "tijd" ] )
{
$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] '" ;
if ( $res )
{
echo "Het bericht is toegevoegd aan de site." ; }
else
{
echo "Het bericht is niet toegevoegd aan de site" ; }
}
else
{
if ( $HTTP_POST_VARS [ "submit" ] )
$err = "Enkele velden vergeten." ;
if ( $HTTP_POST_VARS [ "datum" ] )
$cdate = $HTTP_POST_VARS [ "datum" ] ;
else
echo "<p>Plaats een nieuw bericht</p>" ; echo "<form method=\" post\" action=\" $PHP_SELF \" >" ; echo "<input type=\" hidden\" name=\" show\" value=\" add\" >" ; echo "Datum: <input type=\" text\" size=\" 10\" maxlength=\" 10\" value=\" $cdate \" name=\" datum\" ><br>" ; echo "Tijd: <input type=\" text\" size=\" 10\" maxlength=\" 10\" value=\" 0\" name=\" tijd\" ><br>" ; echo "Naam: <input type=\" text\" size=\" 30\" name=\" naam\" value=\" $HTPT_POST_VARS[naam] \" ><br>" ; echo "Titel: <input type=\" text\" size=\" 30\" name=\" titel\" value=\" $HTPT_POST_VARS[titel] \" ><br>" ; echo "<textarea name=\" bericht\" rows=\" 25\" cols=\" 60\" >$HTTP_POST_VARS[bericht] </textarea><br>" ; echo "<input type=\" submit\" name=\" submit\" value=\" Toevoegen\" >" ; }
}
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
Ultimatum - 02/04/2006 13:33
PHP expert
volgens mij verwar jij een paar waarden, want je gaat kijken of add bestaat maar je button naam is submit
Lazlo - 02/04/2006 13:36
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 /
Mart3n - 02/04/2006 13:38 (laatste wijziging 02/04/2006 13:39)
Nieuw lid
<?php
if ($_GET['action'] == 'add')
{
if( $_SERVER['REQUEST_METHOD'] == 'POST' )
{
if( empty( $_POST['titel'] ) OR empty( $_POST['naam'] ) OR empty( $_POST['bericht'] ) OR empty( $_POST['datum'] ) OR empty( $_POST['tijd'] ) )
{
echo 'Je moet alle velden invullen! <a href="javascript:history.back(-1)">Ga terug!</a>';
}
else
{
$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() );
echo 'Je bericht is succevol toegevoegd aan de site!';
}
}
else
{
echo '
<b>Plaats een nieuw bericht!</b>
<br />
<br />
<form method="post" action="">
Datum: <input type="text" name="datum" maxlength="10" size="10" value="' . date("d-m-Y") . '" /> <br />
Tijd: <input type="text" name="tijd" maxlength="10" size="10" value="0" /> <br />
Naam: <input type="text" name="naam" maxlength="10" size="10" /> <br />
Titel: <input type="text" name="titel" maxlength="10" size="10" value="0" /> <br />
Bericht: <textarea name="bericht" rows="25" cols="60"></textarea> <br /> <br />
<input type="submit" name="submit" value="Toevoegen!" />';
}
}
?>
<?php
if ( $_GET [ 'action' ] == 'add' )
{
if ( $_SERVER [ 'REQUEST_METHOD' ] == 'POST' )
{
if ( empty ( $_POST [ 'titel' ] ) OR
empty ( $_POST [ 'naam' ] ) OR
empty ( $_POST [ 'bericht' ] ) OR
empty ( $_POST [ 'datum' ] ) OR
empty ( $_POST [ 'tijd' ] ) ) {
echo 'Je moet alle velden invullen! <a href="javascript:history.back(-1)">Ga terug!</a>' ; }
else
{
$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 ( ) ) ; echo 'Je bericht is succevol toegevoegd aan de site!' ; }
}
else
{
<b>Plaats een nieuw bericht!</b>
<br />
<br />
<form method="post" action="">
Datum: <input type="text" name="datum" maxlength="10" size="10" value="' . date ( "d-m-Y" ) . '" /> <br /> Tijd: <input type="text" name="tijd" maxlength="10" size="10" value="0" /> <br />
Naam: <input type="text" name="naam" maxlength="10" size="10" /> <br />
Titel: <input type="text" name="titel" maxlength="10" size="10" value="0" /> <br />
Bericht: <textarea name="bericht" rows="25" cols="60"></textarea> <br /> <br />
<input type="submit" name="submit" value="Toevoegen!" />' ;
}
}
?>
zoiets moet het wel doen, volgens mij ben je nog niet zo lang met php bezig ?
Lazlo - 02/04/2006 13:48
HTML beginner
Mm, @Mart3n
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
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
Mart3n - 02/04/2006 13:50
Nieuw lid
de kolom 'id' he, hoe staat die in je database ? INT of VARCHAR ?
Lazlo - 02/04/2006 13:54
HTML beginner
INT
Mart3n - 02/04/2006 14:06
Nieuw lid
probeer es
$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() );
$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 ( ) ) ;
Lazlo - 02/04/2006 14:10
HTML beginner
Nope, zelfde foutmelding.
Mart3n - 02/04/2006 14:22
Nieuw lid
id, titel, naam, bericht, datum en tijd <-- dat zijn allemaal kolommen in je database-veld ?
Lazlo - 03/04/2006 07:40
HTML beginner
ja:
CREATE TABLE `nieuws` (
`id` int(3) NOT NULL auto_increment,
`titel` varchar(40) NOT NULL default '',
`naam` varchar(40) NOT NULL default '',
`bericht` text NOT NULL,
`datum` varchar(20) NOT NULL default '',
`tijd` varchar(20) NOT NULL default '',
PRIMARY KEY (`id`)
);
CREATE TABLE `nieuws` (
`id` int( 3 ) NOT NULL auto_increment,
`titel` varchar( 40 ) NOT NULL default '' ,
`naam` varchar( 40 ) NOT NULL default '' ,
`bericht` text NOT NULL ,
`datum` varchar( 20 ) NOT NULL default '' ,
`tijd` varchar( 20 ) NOT NULL default '' ,
) ;
finduilas - 03/04/2006 07:54
PHP gevorderde
Ik geloof niet dat je ID moet invoegen:
$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() );
$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
Lazlo - 03/04/2006 08:02
HTML beginner
Weer dezelfde foutmelding.
Mart3n - 03/04/2006 08:45
Nieuw lid
probees es in mysql
CREATE TABLE `nieuws` (
`id` int(3) NOT NULL auto_increment,
`titel` varchar(40) NOT NULL default '',
`naam` varchar(40) NOT NULL default '',
`bericht` text NOT NULL,
`datum` varchar(20) NOT NULL default '',
`tijd` varchar(20) NOT NULL default '',
PRIMARY KEY (`id`)
) TYPE = MYISAM ;"
CREATE TABLE `nieuws` (
`id` int( 3 ) NOT NULL auto_increment,
`titel` varchar( 40 ) NOT NULL default '' ,
`naam` varchar( 40 ) NOT NULL default '' ,
`bericht` text NOT NULL ,
`datum` varchar( 20 ) NOT NULL default '' ,
`tijd` varchar( 20 ) NOT NULL default '' ,
) TYPE = MYISAM ; "
Simon - 03/04/2006 13:18 (laatste wijziging 03/04/2006 13:18)
PHP expert
je moet gewoon de VALUES ( afsluiten!!
en als je een fout wil vinden, splits je query op!!
$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() );
INSERT INTO
nieuws(titel , naam , bericht , datum , tijd )
VALUES('" . $_POST [ 'titel' ] . "' , '" . $_POST [ 'naam' ] . "' , '" . $_POST [ 'bericht' ] . "' , '" . $_POST [ 'datum' ] . "' , '" . $_POST [ 'tijd' ] . "'
" )
zoals je ziet heb je values niet afgesloten
Lazlo - 03/04/2006 16:21
HTML beginner
Bedankt Simon, nu werkt het.
Gesponsorde links
Dit onderwerp is gesloten .