Ik ben bezig met het maken van een cms systeempje waar je tekst en een foto kan uploaden. Nou vraag ik me alleen af wat ik neit helemaal goed doe. Iemand een tip zodat ik verder kan?

<?
include("config.php");
include("safe.php");

echo "Toevoegen gegevens<BR>";

if(isset($_POST['submit'])) AND if (!empty($_FILES)){

    $AFBNAME    = $_FILES['input']['name'];
    $AFBTYPE    = $_FILES['input']['type'];
    $AFBSIZE     = $_FILES['input']['size'];
    $tmpname    = $_FILES['input']['tmp_name'];
    $AFBCONTENT    = file_get_contents($tmpname);
    $fp                = fopen($tmpname,'r');
    $AFBCONTENT     = fread($fp,$AFBSIZE);
    $AFBCONTENT     = addslashes($AFBCONTENT );
	
    // Uitvoeren
	// Velden controleren
	if($_POST['naamopdrachtgever'] != "" AND $_POST['omschrijving'] != "" AND $_POST['website'] != "") 
	{
	   
	   // Opdrachtgever check
	   $sql = "SELECT id FROM opdrachtgevers WHERE naamopdrachtgever='".$_POST['naamopdrachtgever']."'";
	   $query = mysql_query($sql);
	   $tellen = mysql_num_rows($query);
	   if($tellen == 0) {
	   
	   
	   
			//opdrachtgever bestaat nog niet
			//toevoegen record
			$sql = "INSERT INTO opdrachtgevers (naamopdrachtgever,omschrijving,website,AFBNAME,AFBTYPE,AFBSIZE,AFBCONTENT,AFBDATUM) VALUES
			('".$_POST['naamopdrachtgever']."','".$_POST['omschrijving']."','".$_POST['website']."','".$_POST['AFBNAME']."','".$_POST['AFBTYPE']."','".$_POST['AFBSIZE']."','".$_POST['AFBCONTENT']."','".$_POST['AFBDATUM']."')";
			
	
	
      		$query = mysql_query($sql);
				if ($query==TRUE){
					echo "query is uitgevoerd, records zijn toegevoegd<BR>";
				}else{
					echo "query is niet uitgevoerd<BR>";
				}
		
		}
		else{
			//opdrachtgever bestaat. 
			echo "De opdrachtgever bestaat al: '".$_POST['naamopdrachtgever']."' Probeer een andere gebruikersnaam.<br />\n<a 								href=\"javascript:history.back()\">&laquo; Ga terug</a>";
		}
	}else{
		echo "Je bent vergeten één of meerdere velden in te vullen.<br />\n<a href=\"javascript:history.back()\">&laquo; Ga terug</a>";
	}
}else{
	

 
 mysql_close();    


 //action="cms_toevoegen.php" 
?>   
   
 

 <form method="post" action="<?php echo($_SERVER['PHP_SELF']); ?>" enctype="multipart/form-data">
<table>
    <tr>
     <td>Naam opdrachtgever:</td>
    </tr>
	<tr>
     <td><input type="text" name="naamopdrachtgever" maxlength="100" /></td>
    </tr>
	 <tr>
     <td>Omschrijving werkzaamheden:</td>
     </tr>
    <tr>
     <td><textarea name="omschrijving" cols="56" rows="9" ></textarea></td>
    </tr>
	<tr>
     <td>Website Opdrachtgever:</td>
    </tr>
    <tr>
     <td><input type="text" name="website" />
      <br></td>
    </tr>
	<tr>
     <td>Afbeelding Logo Uploaden:</td>
    </tr>
	<tr>
     <td><input type="file" name="input"></td>
    </tr>
	<tr>
     <td><input type="submit" value="Uploaden"></td>
    </tr>
	<tr>
     <td><input type="submit" name="submit" value="Toevoegen" /></td>
	</tr>

   </table>
  </form>
<?
}
?>


De foutmelding die ik krijg is :



Parse error: syntax error, unexpected T_LOGICAL_AND in /home/vigourmedia.nl/engelen/upload_pagina2.php on line 7
@Klaas: Eerst stuur je heel het phphulp-team een mailtje. En nu ga je dit topic binnen een uur bumpen. Heb een beetje geduld. * Bumpen * mag pas na 24 uur. Mocht je jezelf vervelen, lees dan de regels van deze site even door. Als je op deze manier jezelf blijft opdringen dan geef ik je niet echt lang op dit forum.

SanThe. (En ga mij nu niet PM-en of zo).

Edit: En omdat ik nou ook weer niet de beroertste ben:
if(.....) AND if(.....) dat kan niet
if((.....) AND (......)) dat kan wel
@klaas,

Ja ik sluit me bij SanThe aan, het is niet de bedoeling om php gerelateerde problemen ter discussie te stellen via onze Personal Mail box en wat betreft het bumpen, bij voorbaat wat uitleg:


Bumpen:
Twee of meer keer achter elkaar in je eigen topic posten heet bumpen.

Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig de knop om je tekst aan te passen.



En een antwoord voor je probleem is door je foutmelding al aangeduid, ik zie namelijk een foutje in je constructie:

if(isset($_POST['submit'])) AND if (!empty($_FILES)){

Als je deze if na AND eens verwijdert, wat gebeurt er dan?
Op dit moment kan ik de tekst toevoegen en de afbeelding alleen worden er twee nieuwe id's aangemaakt. Bijvoorbeeld

ID '2', naamopdrachtgever 'rabobank' , omschrijving 'adsfadsf' , website 'www.rabobank.nl' , afbname ''

ID '3', naamopdrachtgever '' , omschrijving '' , website '' , afbname 'rabobank.gif'

Zet error reporting eens aan. Ik heb het idee dat dit soort dingen niet bestaan: $_POST['AFBTYPE']

error_reporting(E_ALL);
Als ik het aanzet krijg ik geen foutmeldingen.

Op dit moment zijn mijn code er als volgt uit:


<?
session_start();
include("config.php");
error_reporting(E_ALL);
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
    <title>Engelen</title>
    <link rel="stylesheet" href="stylesheet.css" type="text/css" media="screen" />
	<link rel="stylesheet" href="style.css" type="text/css" media="screen" />
  </head>
  <body>  
   <div id="pagewrapper">   
  	<div id="headerleft"></div>	
	<div id="headercenter"></div>
	<div id="headerright"><img src="image/logo2.gif" width="135" height="72"  /></div>
          <div id="left">
	  <!--  menu cms --> 
	    <?
	  include("cms_menu.php");

	   ?> 
	   	   
	  </div>
      <div id="center">
      <h1>Content Managment systeem: Engelen</h1><br />
<?

// Inloggen verplicht; safe.php
include("safe.php");

echo "Toevoegen gegevens<BR>";

if (isset($_POST['submit'])) {
  	
    // Uitvoeren
	// Velden controleren
	if($_POST['naamopdrachtgever'] != "" AND $_POST['omschrijving'] != "" AND $_POST['website'] != "") 
	{
	   
	   // Opdrachtgever check
	   $sql = "SELECT id FROM opdrachtgevers WHERE naamopdrachtgever='".$_POST['naamopdrachtgever']."'";
	   $query = mysql_query($sql);
	   $tellen = mysql_num_rows($query);
	   if($tellen == 0) {
	   
	   
	   
			//opdrachtgever bestaat nog niet
			//toevoegen record
			$sql = "INSERT INTO opdrachtgevers (naamopdrachtgever,omschrijving,website) VALUES
			('".$_POST['naamopdrachtgever']."','".$_POST['omschrijving']."','".$_POST['website']."')";
			
	
	
      		$query = mysql_query($sql);
				if ($query==TRUE){
					echo "query is uitgevoerd, records zijn toegevoegd<BR>";
				}else{
					echo "query is niet uitgevoerd<BR>";
				}
		
		}
		else{
			//opdrachtgever bestaat. 
			echo "De opdrachtgever bestaat al: '".$_POST['naamopdrachtgever']."' Probeer een andere gebruikersnaam.<br />\n<a 								href=\"javascript:history.back()\">&laquo; Ga terug</a>";
		}
	}else{
		echo "Je bent vergeten één of meerdere velden in te vullen.<br />\n<a href=\"javascript:history.back()\">&laquo; Ga terug</a>";
	}

}

if (!empty($_FILES))  {
 $AFBNAME    = $_FILES['input']['name'];
  $AFBTYPE    = $_FILES['input']['type'];
  $AFBSIZE     = $_FILES['input']['size'];
  $tmpname    = $_FILES['input']['tmp_name'];
   $AFBCONTENT    = file_get_contents($tmpname);
   $fp                = fopen($tmpname,'r');
   $AFBCONTENT     = fread($fp,$AFBSIZE);
    $AFBCONTENT     = addslashes($AFBCONTENT );

  $query="INSERT INTO opdrachtgevers (AFBNAME,AFBTYPE,AFBSIZE,AFBCONTENT,AFBDATUM) VALUES ('".$AFBNAME."','".$AFBTYPE."','".$AFBSIZE."','".$AFBCONTENT."',NOW());";  
	   
    mysql_query($query) or die(mysql_error()); 
    mysql_close();    

}else{
	
?>   
 

 <form method="post" action="<?php echo($_SERVER['PHP_SELF']); ?>" enctype="multipart/form-data">
<table>
    <tr>
     <td>Naam opdrachtgever:</td>
    </tr>
	<tr>
     <td><input type="text" name="naamopdrachtgever" maxlength="100" /></td>
    </tr>
	 <tr>
     <td>Omschrijving werkzaamheden:</td>
     </tr>
    <tr>
     <td><textarea name="omschrijving" cols="56" rows="9" ></textarea></td>
    </tr>
	<tr>
     <td>Website Opdrachtgever:</td>
    </tr>
    <tr>
     <td><input type="text" name="website" />
      <br></td>
    </tr>
	<tr>
     <td>Afbeelding Logo Uploaden:</td>
    </tr>
	<tr>
     <td><input type="file" name="input"></td>
    </tr>
<!--   <tr>
     <td><input type="submit" value="Uploaden"></td>
    </tr>-->
	<tr>
     <td><input type="submit" name="submit" value="Toevoegen" /></td>
	</tr>

   </table>
  </form>
  

<?
}


?>

     </div>	 
      <div id="right">      	 
      </div>
  </div>
  </body>
</html>
Moet die tweede INSERT nu niet een UPDATE worden?
Ben nu bezig inderdaad allebij tegelijk uit te voeren. netzoals ik in het begin had gepost. Maar dan krijg ik de melding : Toevoegen gegevens
query is niet uitgevoerd.


<?
include("config.php");

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
    <title>Engelen</title>
    <link rel="stylesheet" href="stylesheet.css" type="text/css" media="screen" />
	<link rel="stylesheet" href="style.css" type="text/css" media="screen" />
  </head>
  <body>  
   <div id="pagewrapper">   
  	<div id="headerleft"></div>	
	<div id="headercenter"></div>
	<div id="headerright"><img src="image/logo2.gif" width="135" height="72"  /></div>
          <div id="left">
	  <!--  menu cms --> 
	    <?
	  include("cms_menu.php");

	   ?> 
	   	   
	  </div>
      <div id="center">
      <h1>Content Managment systeem: Engelen</h1><br />
<?

// Inloggen verplicht; safe.php
include("safe.php");

echo "Toevoegen gegevens<BR>";

if ((isset($_POST['submit'])) AND (!empty($_FILES))) { 
  	
	 $AFBNAME    = $_FILES['input']['name'];
  $AFBTYPE    = $_FILES['input']['type'];
  $AFBSIZE     = $_FILES['input']['size'];
  $tmpname    = $_FILES['input']['tmp_name'];
   $AFBCONTENT    = file_get_contents($tmpname);
   $fp                = fopen($tmpname,'r');
   $AFBCONTENT     = fread($fp,$AFBSIZE);
    $AFBCONTENT     = addslashes($AFBCONTENT );
	
    // Uitvoeren
	// Velden controleren
	if($_POST['naamopdrachtgever'] != "" AND $_POST['omschrijving'] != "" AND $_POST['website'] != "") 
	{
	   
	   // Opdrachtgever check
	   $sql = "SELECT id FROM opdrachtgevers WHERE naamopdrachtgever='".$_POST['naamopdrachtgever']."'";
	   $query = mysql_query($sql);
	   $tellen = mysql_num_rows($query);
	   if($tellen == 0) {
	   
	        //opdrachtgever bestaat nog niet
			//toevoegen record
			$sql = "INSERT INTO opdrachtgevers VALUES ('".$_POST['naamopdrachtgever']."','".$_POST['omschrijving']."','".$_POST['website']."'.'".$AFBNAME."','".$AFBTYPE."','".$AFBSIZE."','".$AFBCONTENT."',NOW());";
			

	
      		$query = mysql_query($sql);
				if ($query==TRUE){
					echo "query is uitgevoerd, records zijn toegevoegd<BR>";
				}else{
					echo "query is niet uitgevoerd<BR>";
				}
		
		}
		else{
			//opdrachtgever bestaat. 
			echo "De opdrachtgever bestaat al: '".$_POST['naamopdrachtgever']."' Probeer een andere gebruikersnaam.<br />\n<a 								href=\"javascript:history.back()\">&laquo; Ga terug</a>";
		}
	}else{
		echo "Je bent vergeten één of meerdere velden in te vullen.<br />\n<a href=\"javascript:history.back()\">&laquo; Ga terug</a>";
	}

} 

else{
 mysql_close();    

?>   
 
<form method="post" action="<?php echo($_SERVER['PHP_SELF']); ?>" enctype="multipart/form-data">
<table>
    <tr>
     <td>Naam opdrachtgever:</td>
    </tr>
	<tr>
     <td><input type="text" name="naamopdrachtgever" maxlength="100" /></td>
    </tr>
	 <tr>
     <td>Omschrijving werkzaamheden:</td>
     </tr>
    <tr>
     <td><textarea name="omschrijving" cols="56" rows="9" ></textarea></td>
    </tr>
	<tr>
     <td>Website Opdrachtgever:</td>
    </tr>
    <tr>
     <td><input type="text" name="website" />
      <br></td>
    </tr>
	<tr>
     <td>Afbeelding Logo Uploaden:</td>
    </tr>
	<tr>
     <td><input type="file" name="input"></td>
    </tr>
<!--   <tr>
     <td><input type="submit" value="Uploaden"></td>
    </tr>-->
	<tr>
     <td><input type="submit" name="submit" value="Toevoegen" /></td>
	</tr>

   </table>
  </form>
  

<?
}


?>

     </div>	 
      <div id="right">      	 
      </div>
  </div>
  </body>
</html>
Gebruik de errormelding eens.
$query = mysql_query($sql);

Dus even zo:
$query = mysql_query($sql) or die(mysql_error());
Dan krijg ik deze foutmelding:

Toevoegen gegevens
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.'562831_73708274.jpg','image/jpeg','852217','ÿØÿà\0JFIF\0,,\0\0ÿá )Exif\0' at line 1

Reageren