Insert into lukt niet
Desinger - 04/07/2008 07:23
Nieuw lid
Beste,
Ik ben beginende php en ik heb een zeer simpel script.. Toch slaag ik erin iets niet goed te scripten. Ik heb al oneindig lang " en . zitten vervangen/verplaatsen gekeken in andere scripts hoe het daar is en toch werkt het niet Frustrerend. Alles staat naar mijn weten op de juiste plaats en volgorde en ik weet zeker dat ik connectie heb met de DB... Hier de code
<?php
include("configuratie.php");
$titel = $_POST['titel'] ;
$tekst = $_POST['tekst'] ;
$q = "INSERT INTO reviews(reviewid, reviewtitel, reviewdatum, reviewtekst) VALUES(".$id.", '".$titel."', NOW( ) , '".$tekst."')";
$r = mysql_query($q);
if($r)
{
echo 'Review sucsesvol toegevoegt aan database';
}else{
echo 'kan de review niet toevoegen aan de database';
}
mysql_close();
?>
<form method="post" action="index.php">
Titel van de review: <input type="text" name="titel" size="30"><br />
De inhoud van de review: <textarea name="tekst" cols="55" rows="13"></textarea><br />
<input type="submit" value="review toevoegen aan de database!" />
</form>
<?php
include ( "configuratie.php" ) ;
$titel = $_POST [ 'titel' ] ;
$tekst = $_POST [ 'tekst' ] ;
$q = "INSERT INTO reviews(reviewid, reviewtitel, reviewdatum, reviewtekst) VALUES(" . $id . ", '" . $titel . "', NOW( ) , '" . $tekst . "')" ;
if ( $r )
{
echo 'Review sucsesvol toegevoegt aan database' ; } else {
echo 'kan de review niet toevoegen aan de database' ; }
?>
<form method="post" action="index.php">
Titel van de review: <input type="text" name="titel" size="30"><br />
De inhoud van de review: <textarea name="tekst" cols="55" rows="13"></textarea><br />
<input type="submit" value="review toevoegen aan de database!" />
</form>
Alvast bedankt
9 antwoorden
Gesponsorde links
kenzo - 04/07/2008 09:19 (laatste wijziging 04/07/2008 09:22)
PHP beginner
welke fout krijg je of wat doet hij wel en niet?
Weet niet zeker maar vervang dit:
$q = "INSERT INTO reviews(reviewid, reviewtitel, reviewdatum, reviewtekst) VALUES(".$id.", '".$titel."', NOW( ) , '".$tekst."')";
$q = "INSERT INTO reviews(reviewid, reviewtitel, reviewdatum, reviewtekst) VALUES(" . $id . ", '" . $titel . "', NOW( ) , '" . $tekst . "')" ;
eens door dit:
$q = "INSERT INTO reviews (reviewid, reviewtitel, reviewdatum, reviewtekst) VALUES ('".$id."', '".$titel."', NOW( ) , '".$tekst."')";
$q = "INSERT INTO reviews (reviewid, reviewtitel, reviewdatum, reviewtekst) VALUES ('" . $id . "', '" . $titel . "', NOW( ) , '" . $tekst . "')" ;
maigel - 04/07/2008 10:13
PHP beginner
die id, moet die normaal automatisch worden toegekend? zoja dan moet je die niet inserten
Martijn - 04/07/2008 11:19 (laatste wijziging 04/07/2008 11:19)
Crew PHP
$r = mysql_query($q);
// ->
$r = mysql_query($q) or die(mysql_error());
Desinger - 04/07/2008 12:11
Nieuw lid
Bedankt kenzo ! het was dus inderdaad de ' ' vergeten, alhoewel ik in een werkend ander script de eerste gezien heb zonder de ' '.
Nu heb ik een ander probleem. Wanneer ik de pagina open dan voegt hij automatisch een review toe zonder dat ik op de submit knop geduwd heb. Hoe los ik dit op ?
kenzo - 04/07/2008 12:18
PHP beginner
<?php
include("configuratie.php");
If($_SERVER['REQUEST_METHOD'] == "POST")
{
$titel = $_POST['titel'] ;
$tekst = $_POST['tekst'] ;
$q = "INSERT INTO reviews(reviewid, reviewtitel, reviewdatum, reviewtekst) VALUES(".$id.", '".$titel."', NOW( ) , '".$tekst."')";
$r = mysql_query($q);
if($r)
{
echo 'Review sucsesvol toegevoegt aan database';
}else{
echo 'kan de review niet toevoegen aan de database';
}
mysql_close();
}
else
{
?>
<form method="post" action="index.php">
Titel van de review: <input type="text" name="titel" size="30"><br />
De inhoud van de review: <textarea name="tekst" cols="55" rows="13"></textarea><br />
<input type="submit" value="review toevoegen aan de database!" />
</form>
<?PHP
}
?>
<?php
include ( "configuratie.php" ) ;
If ( $_SERVER [ 'REQUEST_METHOD' ] == "POST" )
{
$titel = $_POST [ 'titel' ] ;
$tekst = $_POST [ 'tekst' ] ;
$q = "INSERT INTO reviews(reviewid, reviewtitel, reviewdatum, reviewtekst) VALUES(" . $id . ", '" . $titel . "', NOW( ) , '" . $tekst . "')" ;
if ( $r )
{
echo 'Review sucsesvol toegevoegt aan database' ; } else {
echo 'kan de review niet toevoegen aan de database' ; }
}
else
{
?>
<form method="post" action="index.php">
Titel van de review: <input type="text" name="titel" size="30"><br />
De inhoud van de review: <textarea name="tekst" cols="55" rows="13"></textarea><br />
<input type="submit" value="review toevoegen aan de database!" />
</form>
<?PHP
}
?>
Nu doet hij de verzend code pas als op de button geklikt is
Desinger - 04/07/2008 12:22
Nieuw lid
Het script blokkeert terug. Krijg de melding kan de review niet toevoegen aan de database zoals ik geschreven had
...
kenzo - 04/07/2008 12:24
PHP beginner
<?php
include("configuratie.php");
If($_SERVER['REQUEST_METHOD'] == "POST")
{
$titel = $_POST['titel'] ;
$tekst = $_POST['tekst'] ;
$q = "INSERT INTO reviews (reviewid, reviewtitel, reviewdatum, reviewtekst) VALUES ('".$id."', '".$titel."', NOW( ) , '".$tekst."')";
$r = mysql_query($q);
if($r)
{
echo 'Review sucsesvol toegevoegt aan database';
}else{
echo 'kan de review niet toevoegen aan de database';
}
mysql_close();
}
else
{
?>
<form method="post" action="index.php">
Titel van de review: <input type="text" name="titel" size="30"><br />
De inhoud van de review: <textarea name="tekst" cols="55" rows="13"></textarea><br />
<input type="submit" value="review toevoegen aan de database!" />
</form>
<?PHP
}
?>
<?php
include ( "configuratie.php" ) ;
If ( $_SERVER [ 'REQUEST_METHOD' ] == "POST" )
{
$titel = $_POST [ 'titel' ] ;
$tekst = $_POST [ 'tekst' ] ;
$q = "INSERT INTO reviews (reviewid, reviewtitel, reviewdatum, reviewtekst) VALUES ('" . $id . "', '" . $titel . "', NOW( ) , '" . $tekst . "')" ;
if ( $r )
{
echo 'Review sucsesvol toegevoegt aan database' ; } else {
echo 'kan de review niet toevoegen aan de database' ; }
}
else
{
?>
<form method="post" action="index.php">
Titel van de review: <input type="text" name="titel" size="30"><br />
De inhoud van de review: <textarea name="tekst" cols="55" rows="13"></textarea><br />
<input type="submit" value="review toevoegen aan de database!" />
</form>
<?PHP
}
?>
Probeer nog eens
maar hoe werkt je id? (moet je dat zelf intypen?
Desinger - 04/07/2008 12:49 (laatste wijziging 04/07/2008 12:53)
Nieuw lid
nee id is auto increment, nu krijg ik gewoon Review sucsesvol toegevoegt aan database te zien
dit is het script dat werkt waar ik mij op baseer:
<?php
if(!isset($type))
{
echo 'Sorry, dit accepteer ik niet!';
exit;
}
if($type == 'nieuwslezer')
{
echo 'Sorry, u heeft niet voldoende rechten!';
exit;
}
echo '<h2>Nieuws Toevoegen</h2><br>';
if($_SERVER['REQUEST_METHOD'] == "POST")
{
if(isset($_POST['titel']) && isset($_POST['categorie']) && isset($_POST['bericht']) && isset($_POST['bron']) && isset($_POST['bronurl']))
{
$titel = mysql_real_escape_string(htmlentities($_POST['titel']));
$categorie = mysql_real_escape_string(htmlentities($_POST['categorie']));
$bericht = ubb_bericht(mysql_real_escape_string(htmlentities($_POST['bericht'])));
$bron = mysql_real_escape_string(htmlentities($_POST['bron']));
$bronurl = mysql_real_escape_string(htmlentities($_POST['bronurl']));
$query = "INSERT INTO nieuws(gebruikersID, nieuwsTitel, nieuwsBericht, nieuwsDatum, nieuwsCategorie, nieuwsBron, nieuwsBronUrl) VALUES(".$id.", '".$titel."', '".$bericht."', NOW( ) , '".$categorie."', '".$bron."', '".$bronurl."')";
$resultaat = mysql_query($query);
if($resultaat)
{
echo '<p id="reden">Dit nieuwsbericht is succesvol toegevoegd!</p>';
}else{
echo '<p id="reden">Sorry, er ging iets mis bij het updaten van de database!</p>';
}
}
}
?>
<form method="post" name="formulier" action="<?php echo $_SERVER['PHP_SELF'];?>?pagina=toevoegen">
<table cellspacing="5">
<tr>
<td width="100" valign="top">Titel:</td>
<td><input type="text" name="titel" size="30"></td>
</tr>
<tr>
<td valign="top">Categorie:</td>
<td>
<select name="categorie">
<option value="nieuws">Nieuws</option>
<option value="test">Test</option>
<option value="voorbeeld">Voorbeeld</option>
</select>
</td>
</tr>
<tr>
<td valign="top">Bron:</td>
<td><input type="text" name="bron" size="30"> (bijv. nu.nl)</td>
</tr>
<tr>
<td valign="top">Bron Url:</td>
<td><input type="text" name="bronurl" size="30"> (bijv. http://nu.nl/news/708905/13/)</td>
</tr>
<tr>
<td valign="top">Bericht:</td>
<td><textarea name="bericht" cols="55" rows="13"></textarea></td>
</tr>
<tr>
<td> </td>
<td>
<a href="javascript:wrapSelection(thisForm.bericht,'[b]','[/b]');">Dik</a>
<a href="javascript:wrapSelection(thisForm.bericht,'[i]','[/i]');">Schuin</a>
<a href="javascript:wrapSelection(thisForm.bericht,'[u]','[/u]');">Onderstreept</a>
<a href="javascript:wrapSelection(thisForm.bericht,'[s]','[/s]');">Doorstreept</a>
<a href="javascript:wrapSelection(thisForm.bericht,'[sub]','[/sub]');"><sub>Sub</sub></a>
<a href="javascript:wrapSelection(thisForm.bericht,'[sup]','[/sup]');"><sup>Sup</sup></a>
<a href="javascript:wrapSelection(thisForm.bericht,'[center]','[/center]');">Centeren</a>
<a href="javascript:wrapSelectionWithLink(thisForm.bericht);">Link Toevoegen</a>
</td>
</tr>
<tr>
<td> </td>
<td><input type="submit" value="Verstuur" name="verstuur"> <input type="reset" value="Wis Formulier">
</td>
</tr>
</table>
<p>* Als je de bron naam & url leeg laat zal de naam en url van de website gebruikt worden.</p>
</form>
<?php
{
echo 'Sorry, dit accepteer ik niet!' ; }
if ( $type == 'nieuwslezer' )
{
echo 'Sorry, u heeft niet voldoende rechten!' ; }
echo '<h2>Nieuws Toevoegen</h2><br>' ;
if ( $_SERVER [ 'REQUEST_METHOD' ] == "POST" )
{
if ( isset ( $_POST [ 'titel' ] ) && isset ( $_POST [ 'categorie' ] ) && isset ( $_POST [ 'bericht' ] ) && isset ( $_POST [ 'bron' ] ) && isset ( $_POST [ 'bronurl' ] ) ) {
$query = "INSERT INTO nieuws(gebruikersID, nieuwsTitel, nieuwsBericht, nieuwsDatum, nieuwsCategorie, nieuwsBron, nieuwsBronUrl) VALUES(" . $id . ", '" . $titel . "', '" . $bericht . "', NOW( ) , '" . $categorie . "', '" . $bron . "', '" . $bronurl . "')" ;
if ( $resultaat )
{
echo '<p id="reden">Dit nieuwsbericht is succesvol toegevoegd!</p>' ; } else {
echo '<p id="reden">Sorry, er ging iets mis bij het updaten van de database!</p>' ; }
}
}
?>
<form method="post" name="formulier" action="
<?php echo $_SERVER [ 'PHP_SELF' ] ; ?
> ?pagina=toevoegen">
<table cellspacing="5">
<tr>
<td width="100" valign="top">Titel:</td>
<td><input type="text" name="titel" size="30"></td>
</tr>
<tr>
<td valign="top">Categorie:</td>
<td>
<select name="categorie">
<option value="nieuws">Nieuws</option>
<option value="test">Test</option>
<option value="voorbeeld">Voorbeeld</option>
</select>
</td>
</tr>
<tr>
<td valign="top">Bron:</td>
<td><input type="text" name="bron" size="30"> (bijv. nu.nl)</td>
</tr>
<tr>
<td valign="top">Bron Url:</td>
<td><input type="text" name="bronurl" size="30"> (bijv. http://nu.nl/news/708905/13/)</td>
</tr>
<tr>
<td valign="top">Bericht:</td>
<td><textarea name="bericht" cols="55" rows="13"></textarea></td>
</tr>
<tr>
<td> </td>
<td>
<a href="javascript:wrapSelection(thisForm.bericht,'[b]','[/b]');">Dik</a>
<a href="javascript:wrapSelection(thisForm.bericht,'[i]','[/i]');">Schuin</a>
<a href="javascript:wrapSelection(thisForm.bericht,'[u]','[/u]');">Onderstreept</a>
<a href="javascript:wrapSelection(thisForm.bericht,'[s]','[/s]');">Doorstreept</a>
<a href="javascript:wrapSelection(thisForm.bericht,'[sub]','[/sub]');"><sub>Sub</sub></a>
<a href="javascript:wrapSelection(thisForm.bericht,'[sup]','[/sup]');"><sup>Sup</sup></a>
<a href="javascript:wrapSelection(thisForm.bericht,'[center]','[/center]');">Centeren</a>
<a href="javascript:wrapSelectionWithLink(thisForm.bericht);">Link Toevoegen</a>
</td>
</tr>
<tr>
<td> </td>
<td><input type="submit" value="Verstuur" name="verstuur"> <input type="reset" value="Wis Formulier">
</td>
</tr>
</table>
<p>* Als je de bron naam & url leeg laat zal de naam en url van de website gebruikt worden.</p>
</form>
kenzo - 04/07/2008 12:57
PHP beginner
ok mooi
Gesponsorde links
Dit onderwerp is gesloten .