Hallo, ik ben nieuw op dit forum en ik zit de heledag al met een probleem

Elke keer als ik deze pagina bezoek, wordt er data verzonden naar de database zonder wat ingevuld te hebben wanneer ik de pagina refresh gebeurt dat ook

Kan iemand mij helpen?

Dit is de code


<?php


$tbl_name="videoclips"; // Table name

// Get values from form
$titel=$_POST['titel'];
$code=$_POST['code'];
$artiest2=$_POST['artiest2'];
$artiest=$_POST['artiest'];
$categorie=$_POST['categorie'];
$tags=$_POST['tags'];

// Insert data into mysql
$sql="INSERT INTO $tbl_name(titel, code, artiest2, artiest, categorie, tags)VALUES('$titel', '$code', '$artiest2', '$artiest', '$categorie', '$tags')";
$result=mysql_query($sql);


// if successfully insert data into database, displays message "Successful".
if ($result){
echo "Successful";
echo "<BR>";
echo "<a href='index.php'>Back to main page</a>";
}

else {
echo "ERROR";
}
?>
Klopt. Op regel 15 en 16 doe je dat zonder ook maar een enkele controle.
Oplossing: Controles inbouwen.
Ik zie je nergens controleren of het veld is ingelvuld
If(!empty($_POST[]

Verder weet ik niet hoe de gegevens worden verstuurd, na het submitten??
De query is overigens compleet lek/onveilig.
Daarnaast zijn regel 7 t/m 12 overbodig; je kopieert alleen maar gegevens
Los van het feit dat je nergens controleert of ze wel bestaan.
Als je error-reporting aanzet, zul je dan ook diverse meldingen krijgen.
Hoe kan ik dit werkend krijgen?

Ik heb dit er aan veranderd, hij geeft nu wel een fout code aan maar verder is er niks veranderd.

$sql="INSERT INTO $tbl_name(titel, code, artiest2, artiest, categorie, tags)VALUES('$titel', '$code', '$artiest2', '$artiest', '$categorie', '$tags')";
$result=mysql_query($sql); if(empty($_POST['code'])){
echo'Je bent vergeten een clip code toe te voegen';
} else {

echo "Successful";
echo "<BR>";
echo "<a href='index.php'>Back to main page</a>";
}

Toevoeging op 07/11/2012 18:08:37:

Misschien iemand een link waar ik controles kan leren?
<?
$sql="INSERT INTO $tbl_name(titel, code, artiest2, artiest, categorie, tags)VALUES('$titel', '$code', '$artiest2', '$artiest', '$categorie', '$tags')";
$result=mysql_query($sql); if(empty($_POST['code'])){
echo'Je bent vergeten een clip code toe te voegen';
} else {

echo "Successful";
echo "<BR>";
echo "<a href='index.php'>Back to main page</a>";
}
?>

Dit lijkt me niet helemaal de bedoeling
<?
if(empty($_POST['code'])){
echo 'Je bent vergeten een clip code toe te voegen';
}
else {
$sql="INSERT INTO $tbl_name(titel, code, artiest2, artiest, categorie, tags)VALUES('$titel', '$code', '$artiest2', '$artiest', '$categorie', '$tags')";
$result=mysql_query($sql);
echo "Successful";
echo "<BR>";
echo "<a href='index.php'>Back to main page</a>";
}
?>

Even vlug alleen de volgorde goed gezet, verder niet naar lekkage's en dergelijke gekeken
Gebruik in ierer geval mysql_real_escape_string

Reageren