Parse error: parse error, unexpected T_ELSE in /home/automarkt/domtelijne.be/public_html/test/toevoegen.php on line 67

<? include('config.php');
if (isset($_POST['submit'])){
if (empty($_POST['naam'])){
echo 'Geen naam ingevuld';
}
if (empty($_POST['telefoon'])) {
echo 'Geen Telefoon ingevuld';
}
if (empty($_POST['merk'])) {
echo 'Geen Merk ingevuld';
}
if (empty($_POST['type'])){
echo 'Geen Type ingevuld';
}
if (empty($_POST['bouwjaar'])){
echo 'Geen Bouwjaar ingevuld';
}
if (empty($_POST['kilometer'])){
echo 'Kilometerstand niet ingevuld';
}
if (empty($_POST['prijs'])){
echo 'Geen prijs ingevuld';
}
if (empty($_POST['nummerplaat'])){
echo 'Geen nummerplaat ingevuld';
}
if (empty($_POST['foto'])){
echo 'Geen foto opgegeven';
}
else {
$q1 = htmlspecialchars($_POST['naam']);
$q2 = htmlspecialchars($_POST['email']);
$q3 = htmlspecialchars($_POST['telefoon']);
$q4 = htmlspecialchars($_POST['merk']);
$q5 = htmlspecialchars($_POST['type']);
$q6 = htmlspecialchars($_POST['bouwjaar']);
$q7 = htmlspecialchars($_POST['kilometer']);
$q8 = htmlspecialchars($_POST['prijs']);
$q9 = htmlspecialchars($_POST['nummerplaat']);
$q10 = htmlspecialchars($_POST['foto']);
mysql_query("INSERT INTO
advertenties(
naam,
email,
telefoon,
merk,
type,
bouwjaar,
kilometerstand,
prijs,
nummerplaat,
foto
)
VALUES(
'$q1',
'$q2',
'$q3',
'$q4',
'$q5',
'$q6',
'$q7',
'$q8',
'$q9',
'$q10',
)") or die(mysql_error());
echo'Advertentie toegevoegd';
} else {
echo'Er zijn enkele verplichte velden niet ingevuld'
}
}
else {
?>
Ik wil niet lullig zijn manaus, maar als je nu die phpcode met html eens even weghaald, met jawel, het editknopje, dan hoeft niet iedereen een kwartier te scrollen....
ok gedaan
Helaas snap je nog steeds niet dat het overbodig is om een x-aantal keren (vrijwel) dezelfde code neer te zetten... De laatste 2x zijn exact hetzelfde, gooi dan dus eentje helemaal weg! Waarom scrollen als dat niets oplevert?

Maar goed, jouw probleem: Maak van
<?php
mysql_query("INSERT INTO
advertenties(
naam,
email,
telefoon,
merk,
type,
bouwjaar,
kilometerstand,
prijs,
nummerplaat,
foto
)
VALUES(
'$q1',
'$q2',
'$q3',
'$q4',
'$q5',
'$q6',
'$q7',
'$q8',
'$q9',
'$q10'
)") or die(mysql_error());
?>
eens:
<?php
$query = "
INSERT INTO
advertenties(
naam,
email,
telefoon,
merk,
type,
bouwjaar,
kilometerstand,
prijs,
nummerplaat,
foto
)
VALUES(
'$q1',
'$q2',
'$q3',
'$q4',
'$q5',
'$q6',
'$q7',
'$q8',
'$q9',
'$q10'
)";
mysql_query($query) or die(mysql_error());
echo $query; // Dit is er naar de database gestuurd.
?>
Kortom, zet de query in een variabele. Dan kun je hem nog eens echoen en gaan debuggen.
hij zegt precies alles wat ik heb ingevoerd maar eens in het database zet hij alles op 0 0 0 0 0 0
Voer de query die je hebt geechood dan eens uit in PMA. Wat is dan het resultaat?
oh ik heb het:D
Maar ook als je iets niet hebt ingevuld die verplicht is zegt hij balbalabl niet ingevuld maar toch uploadhij de rest naar men database?
Ik heb je code wat herschreven want het kan allemaal veel mooier en efficiƫnter:
<?php
include 'config.php';
if ($_SERVER['REQUEST_METHOD'] == 'POST'){
$errors = array ();
foreach ($_POST as $key => $value) {
if (empty ($value)) {
$errors[] = '<p>' . $key . ' is niet ingevuld</p>';
}
}
if (empty[$errors]) {
$values = array ();
foreach ($_POST as $key => $value) {
$values[$key] = htmlspecialchars ($value);
}
}
}

if (!empty ($errors)) {
echo '<h2>Gevonden errors:</h2>';
foreach ($errors as $value) {
echo 'Error: ' . $value . '';
}
}
else {
$sql = "
INSERT INTO advertenties
SET
advertenties = '" . $values['advertentie'] . "'
naam = '" . $values['naam'] . "'
enz...
";
if (!$res = mysql_query ($sql)) {
trigger_error (mysql_errno () . ': ' . mysql_error ());
echo '<pre>';
echo $sql;
echo '</pre>';
}
}
?>
Dat klopt helemaal, alleen de foto is verplicht. Dat is de enige controle met een else, de overige velden zijn niet verplicht.

Ga je trouwens de overbodige code die je om 16:11 hebt geplaatst nog eens weghalen? Dat wordt op prijs gesteld...

Edit: Jan, jij bent te goed voor deze wereld... ;)

Parse error: parse error, unexpected '[', expecting '(' in /home/automarkt/domains/automarkt-katelijne.be/public_html/test/toevoegen.php on line 10
En waar gaat die melding over? Welk script?

Reageren