Bericht toevoegen script
burdy92 - 16/04/2005 19:32 (laatste wijziging 16/04/2005 19:37)
HTML interesse
Hey mensen, ik heb vaak fouten.. maar ik post ze dan hier omdat ik hier altijd antwoord krijg.. vind dat altijd heeel fijn.. maar heb nu een vraag.. kan iemand mij vertellen wat hier fout aan is?:
<?
if($_SERVER['REQUEST_METHOD'] == 'POST'){
$titel = $_POST['titel'];
$datum = date("d-m-Y");
$bericht = $_POST['bericht'];
$naam = $_POST['naam'];
$ip = $_SERVER['REMOTE_ADDR'];
mysql_query ("INSERT into `bz_gastenboekreplys` (titel, datum, bericht, naam, ip) values (NULL, '$titel', '$datum', '$bericht','$naam', '$ip') WHERE `id` = '" . $_GET['gebruiker_id'] . "'");
echo "Het bericht is toegevoegd! !<meta http-equiv=\"refresh\" content=\"2; url=index.php?id=$id\">";
} else {
?>
<form name="form" method="post" action="<? $_SERVER["PHP_SELF"] ?>">
<table width="281" border="0" cellspacing="2">
<tr>
<td width="346"><strong>Naam:</strong></td>
</tr>
<tr>
<td><input name="naam" type="text" id="naam"></td>
</tr>
<tr>
<td><strong>Onderwerp:</strong></td>
</tr> <tr>
<td><input name="onderwerp" type="text" id="onderwerp"></td>
</tr>
<tr>
<td><strong>Bericht:</strong></td>
</tr>
<tr>
<td><textarea name="bericht" cols="40" rows="7" id="bericht"></textarea></td>
</tr>
<tr>
<td><input type="submit" name="Submit" value="Submit"></td>
</tr>
</table>
</form>
<?
}
?>
<?
if ( $_SERVER [ 'REQUEST_METHOD' ] == 'POST' ) {
$titel = $_POST [ 'titel' ] ;
$bericht = $_POST [ 'bericht' ] ;
$naam = $_POST [ 'naam' ] ;
$ip = $_SERVER [ 'REMOTE_ADDR' ] ;
mysql_query ( "INSERT into `bz_gastenboekreplys` (titel, datum, bericht, naam, ip) values (NULL, '$titel ', '$datum ', '$bericht ','$naam ', '$ip ') WHERE `id` = '" . $_GET [ 'gebruiker_id' ] . "'" ) ; echo "Het bericht is toegevoegd! !<meta http-equiv=\" refresh\" content=\" 2; url=index.php?id=$id \" >" ; } else {
?>
<form name="form" method="post" action="<? $_SERVER [ "PHP_SELF" ] ?> ">
<table width="281" border="0" cellspacing="2">
<tr>
<td width="346"><strong>Naam:</strong></td>
</tr>
<tr>
<td><input name="naam" type="text" id="naam"></td>
</tr>
<tr>
<td><strong>Onderwerp:</strong></td>
</tr> <tr>
<td><input name="onderwerp" type="text" id="onderwerp"></td>
</tr>
<tr>
<td><strong>Bericht:</strong></td>
</tr>
<tr>
<td><textarea name="bericht" cols="40" rows="7" id="bericht"></textarea></td>
</tr>
<tr>
<td><input type="submit" name="Submit" value="Submit"></td>
</tr>
</table>
</form>
<?
}
?>
misschien heb ik het wel een beetje fout gedaan (owjah het is een agstenboekformulier). laters.. groeten berno!
edit: btw.. dit is mijn eerste HELEMAAL zelfgemaakte formulier die alles naar db verzendt;)
20 antwoorden
Gesponsorde links
burdy92 - 16/04/2005 19:54
HTML interesse
nou... ik krijg helemaal nix.. hij zegt dat het bericht is toegevoegd en verder nix.. dan istie neit toegevoegd:S:P
burdy92 - 16/04/2005 19:59
HTML interesse
deot het ngo niet.. maar ik wil dat hij de gebruikers_id opslaat waar hij dan nu is zeg maar id=1 want in de db is een rij: user_id en gastenboekreplys;)
burdy92 - 16/04/2005 20:02 (laatste wijziging 16/04/2005 20:03)
HTML interesse
lightblade.. ik heb gedaan wat je ahd gezegd.. ik krijg deze fout:
Column count doesn't match value count at row 1
komt me wel bekend voor maar kan neit zo geod engels:P
edit: maar ik heb dus dat id = id weggehaald.. maar hoe kan ik ervoor zorgen dat de gebruiker_id van dat gastenboek id dan de id wordt of zo:P
MechaVore - 16/04/2005 20:11 (laatste wijziging 16/04/2005 20:25)
PHP gevorderde
gebruik deze is
<?
if($_SERVER['REQUEST_METHOD'] == 'POST'){
$titel = htmlspecialchars($_POST['onderwerp']);
$datum = date("d-m-Y");
$bericht = htmlspecialchars($_POST['bericht']);
$naam = htmlspecialchars($_POST['naam']);
$ip = $_SERVER['REMOTE_ADDR'];
$sql = mysql_query ("INSERT INTO `bz_gastenboekreplys` (id, titel, datum, bericht, naam, ip) values ('".$_GET['gebruiker_id']."', NULL, '$titel', '$datum', '$bericht','$naam', '$ip')")or die(mysql_error());
echo "Het bericht is toegevoegd! !<meta http-equiv=\"refresh\" content=\"2; url=index.php?id=$id\">";
} else {
?>
<form name="form" method="post" action="<? $_SERVER["PHP_SELF"] ?>">
<table width="281" border="0" cellspacing="2">
<tr>
<td width="346"><strong>Naam:</strong></td>
</tr>
<tr>
<td><input name="naam" type="text" id="naam"></td>
</tr>
<tr>
<td><strong>Onderwerp:</strong></td>
</tr> <tr>
<td><input name="onderwerp" type="text" id="onderwerp"></td>
</tr>
<tr>
<td><strong>Bericht:</strong></td>
</tr>
<tr>
<td><textarea name="bericht" cols="40" rows="7" id="bericht"></textarea></td>
</tr>
<tr>
<td><input type="submit" name="Submit" value="Submit"></td>
</tr>
</table>
</form>
<?
}
?>
<?
if ( $_SERVER [ 'REQUEST_METHOD' ] == 'POST' ) {
$ip = $_SERVER [ 'REMOTE_ADDR' ] ;
$sql = mysql_query ( "INSERT INTO `bz_gastenboekreplys` (id, titel, datum, bericht, naam, ip) values ('" . $_GET [ 'gebruiker_id' ] . "', NULL, '$titel ', '$datum ', '$bericht ','$naam ', '$ip ')" ) or
die ( mysql_error ( ) ) ; echo "Het bericht is toegevoegd! !<meta http-equiv=\" refresh\" content=\" 2; url=index.php?id=$id \" >" ; } else {
?>
<form name="form" method="post" action="<? $_SERVER [ "PHP_SELF" ] ?> ">
<table width="281" border="0" cellspacing="2">
<tr>
<td width="346"><strong>Naam:</strong></td>
</tr>
<tr>
<td><input name="naam" type="text" id="naam"></td>
</tr>
<tr>
<td><strong>Onderwerp:</strong></td>
</tr> <tr>
<td><input name="onderwerp" type="text" id="onderwerp"></td>
</tr>
<tr>
<td><strong>Bericht:</strong></td>
</tr>
<tr>
<td><textarea name="bericht" cols="40" rows="7" id="bericht"></textarea></td>
</tr>
<tr>
<td><input type="submit" name="Submit" value="Submit"></td>
</tr>
</table>
</form>
<?
}
?>
Ik heb de input beveiligd, kwam erachter dat je het onderwerp veranderd had in titel, en de query verbeterd.
[edit]
in dat geval zie ik niet wat je fout doet.
burdy92 - 16/04/2005 20:18 (laatste wijziging 16/04/2005 20:19)
HTML interesse
sorry lightblade.. hiermee krijg ik de fout:
Column count doesn't match value count at row 1
weet je msis wat dat betekent?:P want ben niet altijd goed in engels.. maarjah
btw thanx!! voor eht verbeteren enzo.. maarjah ik denk dat de fout nu bij de db ligt.. amar weet nie cker..w ant weet nog neit wat Column count doesn't match value count at row 1 betekent:P
remcobers - 16/04/2005 21:10
PHP expert
Betekend dat je te veel value's er in heb staan.
burdy92 - 16/04/2005 21:39 (laatste wijziging 16/04/2005 22:07)
HTML interesse
Hey, het werkt nu wel MAAR hij slaat het niet op als de goede gebruiker_id ! dit is eht script:
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST'){
$titel = htmlspecialchars($_POST['onderwerp']);
$bericht = htmlspecialchars($_POST['bericht']);
$naam = htmlspecialchars($_POST['naam']);
$ip = $_SERVER['REMOTE_ADDR'];
$sql = mysql_query ("INSERT INTO `bz_gastenboekreplys` (id, titel, datum, bericht, naam, ip) values ('".$_GET['gebruiker_id']."', '$titel', '$datum', '$bericht','$naam', '$ip')")or die(mysql_error());
echo "Het bericht is toegevoegd! !<meta http-equiv=\"refresh\" content=\"2; url=index.php?id=$id\">";
} else {
?>
<form name="form" method="post" action="<? $_SERVER["PHP_SELF"] ?>">
<table width="281" border="0" cellspacing="2">
<tr>
<td width="346"><strong>Naam:</strong></td>
</tr>
<tr>
<td><input name="naam" type="text" id="naam"></td>
</tr>
<tr>
<td><strong>Onderwerp:</strong></td>
</tr> <tr>
<td><input name="titel" type="text" id="titel"></td>
</tr>
<tr>
<td><strong>Bericht:</strong></td>
</tr>
<tr>
<td><textarea name="bericht" cols="40" rows="7" id="bericht"></textarea></td>
</tr>
<tr>
<td><input type="submit" name="Submit" value="Submit"></td>
</tr>
</table>
</form>
<?
}
?>
<?php
if ( $_SERVER [ 'REQUEST_METHOD' ] == 'POST' ) {
$ip = $_SERVER [ 'REMOTE_ADDR' ] ;
$sql = mysql_query ( "INSERT INTO `bz_gastenboekreplys` (id, titel, datum, bericht, naam, ip) values ('" . $_GET [ 'gebruiker_id' ] . "', '$titel ', '$datum ', '$bericht ','$naam ', '$ip ')" ) or
die ( mysql_error ( ) ) ; echo "Het bericht is toegevoegd! !<meta http-equiv=\" refresh\" content=\" 2; url=index.php?id=$id \" >" ; } else {
?>
<form name="form" method="post" action="<? $_SERVER [ "PHP_SELF" ] ?> ">
<table width="281" border="0" cellspacing="2">
<tr>
<td width="346"><strong>Naam:</strong></td>
</tr>
<tr>
<td><input name="naam" type="text" id="naam"></td>
</tr>
<tr>
<td><strong>Onderwerp:</strong></td>
</tr> <tr>
<td><input name="titel" type="text" id="titel"></td>
</tr>
<tr>
<td><strong>Bericht:</strong></td>
</tr>
<tr>
<td><textarea name="bericht" cols="40" rows="7" id="bericht"></textarea></td>
</tr>
<tr>
<td><input type="submit" name="Submit" value="Submit"></td>
</tr>
</table>
</form>
<?
}
?>
maar kan iemadn vertellen hoe het werkt? grtz en thx;)
vinTage edit: en vanaf nu beloof je dat je niet meer op jezelf replyd, of ik ga gummen
burdy92 - 17/04/2005 12:24 (laatste wijziging 17/04/2005 12:26)
HTML interesse
nope werkt niet... maar dit is men script wat ik tot nu toe heb:
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST'){
$titel = htmlspecialchars($_POST['onderwerp']);
$bericht = htmlspecialchars($_POST['bericht']);
$naam = htmlspecialchars($_POST['naam']);
$ip = $_SERVER['REMOTE_ADDR'];
$sql = mysql_query ("INSERT INTO `bz_gastenboekreplys` (id, titel, datum, bericht, naam, ip) values (NULL, '$titel', '$datum', '$bericht','$naam', '$ip')")or die(mysql_error());
echo "Het bericht is toegevoegd! !<meta http-equiv=\"refresh\" content=\"2; url=index.php?id=$id\">";
} else {
?>
<form name="form" method="post" action="<? $_SERVER["PHP_SELF"] ?>">
<table width="281" border="0" cellspacing="2">
<tr>
<td width="346"><strong>Naam:</strong></td>
</tr>
<tr>
<td><input name="naam" type="text" id="naam"></td>
</tr>
<tr>
<td><strong>Onderwerp:</strong></td>
</tr> <tr>
<td><input name="titel" type="text" id="titel"></td>
</tr>
<tr>
<td><strong>Bericht:</strong></td>
</tr>
<tr>
<td><textarea name="bericht" cols="40" rows="7" id="bericht"></textarea></td>
</tr>
<tr>
<td><input type="submit" name="Submit" value="Submit"></td>
</tr>
</table>
</form>
<?
}
?>
<?php
if ( $_SERVER [ 'REQUEST_METHOD' ] == 'POST' ) {
$ip = $_SERVER [ 'REMOTE_ADDR' ] ;
$sql = mysql_query ( "INSERT INTO `bz_gastenboekreplys` (id, titel, datum, bericht, naam, ip) values (NULL, '$titel ', '$datum ', '$bericht ','$naam ', '$ip ')" ) or
die ( mysql_error ( ) ) ; echo "Het bericht is toegevoegd! !<meta http-equiv=\" refresh\" content=\" 2; url=index.php?id=$id \" >" ; } else {
?>
<form name="form" method="post" action="<? $_SERVER [ "PHP_SELF" ] ?> ">
<table width="281" border="0" cellspacing="2">
<tr>
<td width="346"><strong>Naam:</strong></td>
</tr>
<tr>
<td><input name="naam" type="text" id="naam"></td>
</tr>
<tr>
<td><strong>Onderwerp:</strong></td>
</tr> <tr>
<td><input name="titel" type="text" id="titel"></td>
</tr>
<tr>
<td><strong>Bericht:</strong></td>
</tr>
<tr>
<td><textarea name="bericht" cols="40" rows="7" id="bericht"></textarea></td>
</tr>
<tr>
<td><input type="submit" name="Submit" value="Submit"></td>
</tr>
</table>
</form>
<?
}
?>
hij doet het dus wel maar zonder dat hij eht in de goede gastenboek opslaat (dus de gebruiker_id)
btw sorry vintage had het niet gelezen en kan dezereply neit verwijderen
Rens - 17/04/2005 12:37 (laatste wijziging 17/04/2005 12:40)
Crew algemeen
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$titel = htmlspecialchars($_POST['onderwerp']);
$bericht = htmlspecialchars($_POST['bericht']);
$naam = htmlspecialchars($_POST['naam']);
$iUserID = htmlspecialchars(addslashes($_POST['userID']));
$ip = $_SERVER['REMOTE_ADDR'];
$sql = mysql_query ("INSERT INTO bz_gastenboekreplys (id, titel, datum, bericht, naam, ip, userID) values ('', '".$titel."', '".date("d-m-Y H:i")."', '".$bericht."', '".$naam."', '".$ip."', '".$iUserID."')") or die(mysql_error());
echo "Het bericht is toegevoegd! !<meta http-equiv=\"refresh\" content=\"2; url=index.php?id=$id\">";
} else
{
?>
<form name="form" method="post" action="<?=$_SERVER["PHP_SELF"];?>">
<input type="hidden" name="userID" value="<?=$_GET['userID'];?>
<table width="281" border="0" cellspacing="2">
<tr>
<td width="346"><strong>Naam:</strong></td>
</tr>
<tr>
<td><input name="naam" type="text" id="naam"></td>
</tr>
<tr>
<td><strong>Onderwerp:</strong></td>
</tr> <tr>
<td><input name="titel" type="text" id="titel"></td>
</tr>
<tr>
<td><strong>Bericht:</strong></td>
</tr>
<tr>
<td><textarea name="bericht" cols="40" rows="7" id="bericht"></textarea></td>
</tr>
<tr>
<td><input type="submit" name="Submit" value="Submit"></td>
</tr>
</table>
</form>
<?
}
?>
<?php
if ( $_SERVER [ 'REQUEST_METHOD' ] == 'POST' )
{
$ip = $_SERVER [ 'REMOTE_ADDR' ] ;
$sql = mysql_query ( "INSERT INTO bz_gastenboekreplys (id, titel, datum, bericht, naam, ip, userID) values ('', '" . $titel . "', '" . date ( "d-m-Y H:i" ) . "', '" . $bericht . "', '" . $naam . "', '" . $ip . "', '" . $iUserID . "')" ) or
die ( mysql_error ( ) ) ; echo "Het bericht is toegevoegd! !<meta http-equiv=\" refresh\" content=\" 2; url=index.php?id=$id \" >" ; } else
{
?>
<form name="form" method="post" action="<?= $_SERVER [ "PHP_SELF" ] ; ?> ">
<input type="hidden" name="userID" value="<?= $_GET [ 'userID' ] ; ?>
<table width="281" border="0" cellspacing="2">
<tr>
<td width="346"><strong>Naam:</strong></td>
</tr>
<tr>
<td><input name="naam" type="text" id="naam"></td>
</tr>
<tr>
<td><strong>Onderwerp:</strong></td>
</tr> <tr>
<td><input name="titel" type="text" id="titel"></td>
</tr>
<tr>
<td><strong>Bericht:</strong></td>
</tr>
<tr>
<td><textarea name="bericht" cols="40" rows="7" id="bericht"></textarea></td>
</tr>
<tr>
<td><input type="submit" name="Submit" value="Submit"></td>
</tr>
</table>
</form>
<?
}
?>
en de code voor het maken van je SQL Tabel word dan:
CREATE TABLE bz_gastenboekreplys (
id INT(11) NOT NULL auto_increment,
titel VARCHAR(255) NOT NULL,
datum VARCHAR(16) NOT NULL,
bericht TEXT NOT NULL,
naam VARCHAR(255) NOT NULL,
ip VARCHAR(16) NOT NULL,
userID INT(11) NOT NULL,
PRIMARY KEY(id)
);
CREATE TABLE bz_gastenboekreplys (
id INT( 11 ) NOT NULL auto_increment,
titel VARCHAR( 255 ) NOT NULL ,
datum VARCHAR( 16 ) NOT NULL ,
bericht TEXT NOT NULL ,
naam VARCHAR( 255 ) NOT NULL ,
ip VARCHAR( 16 ) NOT NULL ,
userID INT( 11 ) NOT NULL ,
) ;
Voor het ophalen van de berichten, doe je dan:
"SELECT * FROM bz_gastenboekreplys WHERE userID=userID";
"SELECT * FROM bz_gastenboekreplys WHERE userID=userID" ;
burdy92 - 17/04/2005 12:49
HTML interesse
hey, het werkt nu we.. heb het zo gedaan:
<? $sql = mysql_query ("INSERT INTO `bz_gastenboekreplys` (id, titel, datum, bericht, naam, ip, gebruiker_id) values (NULL, '$titel', '$datum', '$bericht','$naam', '$ip' ,'" . $_GET['id'] . "')")or die(mysql_error()); ?>
<? $sql = mysql_query ( "INSERT INTO `bz_gastenboekreplys` (id, titel, datum, bericht, naam, ip, gebruiker_id) values (NULL, '$titel ', '$datum ', '$bericht ','$naam ', '$ip ' ,'" . $_GET [ 'id' ] . "')" ) or
die ( mysql_error ( ) ) ; ?>
thx voor alle berichten!
Gesponsorde links
Dit onderwerp is gesloten .