Weet iemand waarom ik steeds een parse error krijg op lijn 22?

<? 

if($_SERVER['REQUEST_METHOD'] == 'POST')
    {

include('config.php');


$titel = $_POST['titel'];
$beschrijving = $_POST['beschrijving']; 
$categorie = $_POST['categorie']; 
$foto = $_POST['categorie']; 

$datumtijd=date("d/m/y h:i:s");

$sql="INSERT INTO artikelen (datum, naam, omschrijving, categorie, foto)VALUES('$datum', '$titel', '$beschrijving', '$categorie', '$foto')";
$resultaat=mysql_query($sql)or die(mysql_error());

if($resultaat){
echo "Toevoegen Gelukt!!";
header("refresh: 3; url=?page=advertenties");

}
else {
echo "Toevoegen Mislukt";
header("refresh: 3; url=?page=artikel");
} else

	echo "Je moet wel eerst het spul invullen";
	}
	}
mysql_close();

?>

Probeer je laatste } weg te halen
Omdat je hele structuur bagger is. je hebt een else, met daar achteraan direct weer een else, en je hebt OF een } te veel OF een { te weinig.

Probeer dit eens:


<? 

if($_SERVER['REQUEST_METHOD'] == 'POST')
{
    include('config.php');     
    $titel = $_POST['titel'];
    $beschrijving = $_POST['beschrijving']; 
    $categorie = $_POST['categorie']; 
    $foto = $_POST['categorie'];   
    $datumtijd=date("d/m/y h:i:s");  
    $sql="INSERT INTO artikelen (datum, naam, omschrijving, categorie, foto)VALUES('$datum', '$titel', '$beschrijving', '$categorie', '$foto')";
    $resultaat=mysql_query($sql)or die(mysql_error());   
    if($resultaat){
        echo "Toevoegen Gelukt!!";
        header("refresh: 3; url=?page=advertenties");
    }
    else 
    {
        echo "Toevoegen Mislukt";
        header("refresh: 3; url=?page=artikel");
    } 
}
else
{
    echo "Je moet wel eerst het spul invullen";
}
mysql_close();
?> 
Mijn structuur is sowieso bagger :D
Ik heb jouw script geprobeer, eventuele } weggehaald, ik blijf de parse error krijgen
Plak je hele script, en de error eens.
Hmm, ik had een verkeerde doorverwijzing, nu krijg ik een blank scherm, het script geeft helemaal niks door als het uitgevoerd is. Ook is dit het hele script apart van het formulier. Dit is het formulier.

 

<?php
include('config.php');
?>

<form action="?page=verwerkartikel" method="POST" enctype="multipart/form-data">
<table>
<tr><td>Titel </td>
<td><input type="text" name="titel" id="titel"></td></tr> 
<tr><td>Beschrijving</td>
<td><textarea name="beschrijving" id="beschrijving" cols="50" rows="10"></textarea></td></tr> 
<tr><td>Categorie</td>
<td><input type="text" name="categorie" id="categorie"></td></tr>
<tr>
<td>Upload je foto</td>
<td><input name="foto" id="foto" type="file" /></td>
</tr>
<tr>
<td><input type="submit" name="submit" value="Voeg advertentie toe!" /></td>
</tr>
</table>
</form>

Script 1



<?php
include('config.php');
?>

<form action="?page=verwerkartikel" method="POST" enctype="multipart/form-data">
<table>
<tr><td>Titel </td>
<td><input type="text" name="titel" id="titel"></td></tr> 
<tr><td>Beschrijving</td>
<td><textarea name="beschrijving" id="beschrijving" cols="50" rows="10"></textarea></td></tr> 
<tr><td>Categorie</td>
<td><input type="text" name="categorie" id="categorie"></td></tr>
<tr>
<td>Upload je foto</td>
<td><input name="foto" id="foto" type="file" /></td>
</tr>
<tr>
<td><input type="submit" name="submit" value="Voeg advertentie toe!" /></td>
</tr>
</table>
</form>


 

<? 

if($_SERVER['REQUEST_METHOD'] == 'POST')
{
    include('config.php');     
    $titel = $_POST['titel'];
    $beschrijving = $_POST['beschrijving']; 
    $categorie = $_POST['categorie']; 
    $foto = $_POST['categorie'];   
    $datumtijd=date("d/m/y h:i:s");  
    $sql="INSERT INTO artikelen (datum, naam, omschrijving, categorie, foto)VALUES('$datum', '$titel', '$beschrijving', '$categorie', '$foto')";
    $resultaat=mysql_query($sql)or die(mysql_error());   
    if($resultaat){
        echo "Toevoegen Gelukt!!";
        header("refresh: 3; url=?page=advertenties");
    }
    else 
    {
        echo "Toevoegen Mislukt";
        header("refresh: 3; url=?page=artikel");
    } 
}
else
{
    echo "Je moet wel eerst het spul invullen";
}
mysql_close();
?>


Dit is alles, en ik krijg geen error meer, maar het werkt niet
Verder is je script brak. Dat komt door de volgende dingen:

- SQL injection is mogelijk
- Er zit geen goede foutenafhandeling in dit scripts
- Variablen in je query zitten ook niet helemaal lekker ('$vari' => '".$varii."')

Ook zou het plaatsen van een paar tabs de code wat overzichtelijker maken.
Het beveiliging van SQL injection kan je doen via mysql_real_escape_string functie. Het kan ook geen kwaad om eens te googlen op SQL injection om precies te weten te komen hoe dit in zijn werking gaat.

Foutenafhandeling:

Zoals ik al zei kan de foutenafhandeling van je query's beter. Het script dood laten gaan door de functie 'or die' is niet echt netjes. Je kan er beter een if - statement van maken om te controleren of je query gelukt is.

Reageren