Data invoegen in mysql mislukt.

Status
Niet open voor verdere reacties.

Peter_1994

Gebruiker
Lid geworden
9 aug 2009
Berichten
387
Forum leden,

Ben sinds gisteren de hele dag al bezig om een vervangend iets te zoeken of om een oplossing hiervoor te zoeken.

Ik heb namelijk het volgende script om nieuws op mijn website te plaatsen:
(stukje van admin.php)
Code:
<form action="nieuwstoevoegen.php" method="POST"> 
<p align="center"> 
<font face="Verdana" size="1">Datum: <br> 
<input type="text" name="datum" size=8  value="<? echo date("d/m/y"); ?>"><br> 
<br> 
Je bericht:<br> 
<input name="bericht" size=50 ></font></p> 
<p align="center"> 
<font face="Verdana" size="1"> 
<input type="submit" Value="Toevoegen"></font><br> 
&nbsp;</p> 
</form>

En dan om de ingevoerde data weg te schrijven in de mysql database:

(nieuwstoevoegen.php)
Code:
<?php    
include ("config.php");   
mysql_query("INSERT INTO nieuws(datum,bericht) VALUES('$datum','$bericht')") or die(mysql_error());    
?>

Alleen op de 1 of andere manier gaat er ergens iets mis met de data invoeren in de database.
Ik krijg alleen een lege record in mijn database zonder het ingevoerde bericht met de datum.

Ik zal vast wel ergens over heen kijken wat niet goed staat.

Kan iemand mij hiermee helpen?
 
Laatst bewerkt:
Het ziet er uit alsof je geen gebruik maakt van $_POST data. Als het spontaan is gestopt met werken komt het waarschijnlijk omdat de instelling die $_POST['x'] automatisch verplaatst naar $x is uitgezet. (En dat is maar goed ook want dat is een hele riskante instelling)
 
:/


Ok zet op de tweede regel in het script onder <?php eens dit:

PHP:
$datum = $_POST['datum'];
$bericht = $_POST['bericht'];

Als het probleem is wat ik denk zou dat het op moeten lossen. Anders ligt het probleem aan iets anders, maar als je zelf niet weet hoe je script werkt wordt het ook lastig om uit te zoeken wat er mis gaat.
 
Dankjewel!

Ik had precies hetzelfde gedaan alleen blijkbaar ging daar toch iets fout.
Werkt nu als een trein :)
 
Ik zou trouwens in plaats van
PHP:
$bericht = $_POST['bericht'];
gebruik maken van
PHP:
$bericht = mysql_real_escape_string($_POST['bericht']);
Op die manier werkt het ook als je een bericht met een enkel aanhalingsteken wilt plaatsen (en het voorkomt SQL-injectie, maar als jij de enige bent die dat script gebruikt is dat niet relevant).
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan