Eerst controleren dan plaatsen...
Ik wil eerst controleren of die lijst is ingevuld en zo ja dan wil ik dat die geplaatst wordt. Alleen dat laatste laat zich nog de wensen over.
<php
mysql_connect("$host", "$username","$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
$topic=$_POST['topic'];
$detail=$_POST['detail'];
$name=$_POST['name'];
$email=$_POST['email'];
if(empty($_POST['topic']))
{
echo '<center><h3>Topic is niet ingevuld!</h3></center><br />';
echo '<center>Klik <a href="index.php">hier</a> om terug te gaan naar het forum.</center>';
}
elseif(empty($_POST['detail']))
{
echo '<center><h3>Uw bericht is niet ingevuld!</h3></center><br />';
echo '<center>Klik <a href="index.php">hier</a> om terug te gaan naar het forum.</center>';
}
elseif(empty($_POST['name']))
{
echo '<center><h3>Uw naam is niet ingevuld!</h3></center><br />';
echo '<center>Klik <a href="index.php">hier</a> om terug te gaan naar het forum.</center>';
}
elseif(empty($_POST['email']))
{
echo '<center><h3>Uw E-Mail is niet ingevuld!</h3></center><br />';
echo '<center>Klik <a href="index.php">hier</a> om terug te gaan naar het forum.</center>';
}
else
{
$datetime=date("d/m/y h:i:s");
$sql="INSERT INTO $tbl_name(topic, detail, name, email, datetime)VALUES('$topic', '$detail', '$name', '$email', '$datetime')";
$result=mysql_query($sql);
mysql_close();
}
?>
Volgens mij gaat het bij de else functie fout. De topic wordt wel geplaatst als je de lijst correct hebt ingevuld maar je blijft op dezelfde pagina en je krijgt een wit scherm. Maar je Topic wordt wel geplaatst...
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
$result=mysql_query($sql);
if($result === false){
echo mysql_error();
}
else{
header('Locatio: ergensnaartoe.php');
}
if($result === false){
echo mysql_error();
}
else{
header('Locatio: ergensnaartoe.php');
}
Denk verder om mysql injection, mysql close is overbodig, en variablen kopiëren is niet nodig opzich, maar werkt wel makkelijker.
Gewijzigd op 15/03/2012 16:14:25 door gerhard l
{
$datetime=date("d/m/y h:i:s");
$sql="INSERT INTO $tbl_name(topic, detail, name, email, datetime)VALUES('$topic', '$detail', '$name', '$email', '$datetime')";
$result=mysql_query($sql);
if($result === false)
{
echo mysql_error();
{
else
{
header('Location: main_forum.php');
}
}
Dan heb ik het zo maar dan krijg ik weer fout code; Parse error: syntax error, unexpected T_ELSE
voor de else open je weer een { ipv }
De header('Locantion: index.php'); . Ik heb hem veranderd naar Index want dat is het begin van het forum.
kijk je haakjes goed na.. goed inspringen, hij verwacht op die plek geen else dus iets daarvoor ga je de fout in..
else
{
$datetime=date("d/m/y h:i:s");
$sql="INSERT INTO $tbl_name(topic, detail, name, email, datetime)VALUES('$topic', '$detail', '$name', '$email', '$datetime')";
$result=mysql_query($sql);
if($result === false)
{
echo mysql_error();
}
else
{
header('Location: index.php');
}
}
?>
Ik heb alle haakjes naar gekeken op de pagina inclusief de " '