Problème traitement de formulaire

Eléphant du PHP | 447 Messages

21 déc. 2008, 19:08

Problème résolu, y avait un ch'tite virgule qui trainait et faisait capoter l'insertion dans la table...

Bonjour à tous,

Je suis en train de coder un formulaire mais ça coince...

Voici le message que j'ai:
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 ')' at line 3
Voici le formulaire:
<form enctype="multipart/form-data" method="post"
 action="register2.php">
  <table style="text-align: left; width: 100%;" border="0"
 cellpadding="2" cellspacing="2">
    <tbody>
      <tr>
        <td
 style="width: 200px; text-align: right; vertical-align: top;">Nom:
*</td>
        <td style="vertical-align: top; text-align: left;"><input
 name="nom" /></td>
      </tr>
      <tr>
        <td style="text-align: right; vertical-align: top;">Mail:
*</td>
        <td style="vertical-align: top;"><input
 name="mail" /></td>
      </tr>
      <tr>
        <td style="text-align: right; vertical-align: top;">Site
web:</td>
        <td style="vertical-align: top;"><input
 name="site" /></td>
      </tr>
      <tr>
        <td style="text-align: right; vertical-align: top;">Titre
de l'annonce: *</td>
        <td style="vertical-align: top;"><input
 name="titre" /></td>
      </tr>
      <tr>
        <td style="text-align: right; vertical-align: top;">Description:
*</td>
        <td style="vertical-align: top;"><textarea
 cols="60" rows="13" name="descriptif"></textarea></td>
      </tr>
      <tr>
        <td style="text-align: right; vertical-align: top;">Catégorie:
*</td>
        <td style="vertical-align: top;">
        <select name="list">
        <option value="restauration">Restauration</option>
        <option value="hotel">Hôtel/gite</option>
        <option value="loisirs">Loisirs</option>
        <option value="sport">Sport</option>
        <option value="service">Service</option>
        <option value="autre">Autre/divers</option>
        </select>
        </td>
      </tr>
      <tr>
        <td style="text-align: right; vertical-align: top;">Localisation:</td>
        <td style="vertical-align: top;"><input
 name="place" /></td>
      </tr>
      <tr>
        <td style="text-align: right; vertical-align: top;">Téléphone:</td>
        <td style="vertical-align: top;"><input
 name="tel" /></td>
      </tr>
      <tr>
        <td style="text-align: right; vertical-align: top;">Adresse:</td>
        <td style="vertical-align: top;"><textarea
 cols="30" rows="6" name="adresse"></textarea></td>
      </tr>
      <tr>
        <td style="text-align: right; vertical-align: top;">Photo:</td>
        <td style="vertical-align: top;"><input
 name="image" type="file" /></td>
      </tr>
      <tr>
        <td style="text-align: right; vertical-align: top;"></td>
        <td style="vertical-align: top;"><input
 type="submit" /></td>
      </tr>
    </tbody>
  </table>
</form>
Et voici le traitement du formulaire:
<?php

//On récupère les variables
$i = 0;
$temps = time();
$descriptif = mysql_real_escape_string(htmlspecialchars($_POST['descriptif'], ENT_QUOTES));
$pseudo = mysql_real_escape_string($_POST['nom']);
$email = mysql_real_escape_string($_POST['mail']);
$website = mysql_real_escape_string($_POST['site']);
$titre = mysql_real_escape_string($_POST['titre']);
$cat = $_POST['list'];
$place = mysql_real_escape_string($_POST['place']);
$tel = mysql_real_escape_string($_POST['tel']);
$adresse = mysql_real_escape_string($_POST['adresse']);


//Vérification de l'adresse email
if (!preg_match("#^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-z]{2,4}$#", $email) || empty($email))
{
        $email_erreur = "L'adresse mail n'a pas un format valide";
        $i++;
}


//Vérification de la photo :
if (!empty($_FILES['image']['size']))
{
        //On définit les variables :
        $maxsize = 1002400; //Poid de l'image
        $maxwidth = 800; //Largeur de l'image
        $maxheight = 800; //Longueur de l'image
        $extensions_valides = array( 'jpg' , 'jpeg' , 'gif' , 'png' ); //Liste des extensions valides

        if ($_FILES['image']['error'] > 0)
        {
                $avatar_erreur = "Erreur lors du tranfsert de la photo : ";
        }
        if ($_FILES['image']['size'] > $maxsize)
        {
                $i++;
                $avatar_erreur1 = "Le fichier est trop gros : (<strong>".$_FILES['image']['size']." Octets</strong>    contre <strong>".$maxsize." Octets</strong>)";
        }

        $image_sizes = getimagesize($_FILES['image']['tmp_name']);
        if ($image_sizes[0] > $maxwidth OR $image_sizes[1] > $maxheight)
        {
                $i++;
                $avatar_erreur2 = "Image trop large ou trop longue : (<strong>".$image_sizes[0]."x".$image_sizes[1]."</strong> contre <strong>".$maxwidth."x".$maxheight."</strong>)";
        }

        $extension_upload = strtolower(substr(  strrchr($_FILES['image']['name'], '.')  ,1));
        if (!in_array($extension_upload,$extensions_valides) )
        {
                $i++;
                $avatar_erreur3 = "L'extension de l'image est incorrecte";
        }
}

if ($i == 0) // Si i est vide, il n'y a pas d'erreur
{

        echo'<h2>Inscription 2/2</h2>';
        echo'<h3>Félicitations '; echo stripslashes(htmlspecialchars($_POST['nom'])); echo'</h3>';

        if (isset($_FILES['image']['size']))
        {
                //On déplace l'avatar
                $avatar = time();
                $nomavatar = str_replace(' ','',$avatar).".".$extension_upload;
                $avatar = "images/photos/".str_replace(' ','',$avatar).".".$extension_upload;
                move_uploaded_file($_FILES['image']['tmp_name'],$avatar);
        }


        //On balance le tout dans notre table
        mysql_query('
        INSERT INTO vitrine (nom, mail, site, date, titre, descriptif, cat, place, tel, adresse, image)
        VALUES ("'.$pseudo.'"  , "'.$email.'" , "'.$website.'" ,  "'.$temps.'" , "'.$titre.'" , "'.$descriptif.'" , "'.$cat.'" , "'.$place.'" , "'.$tel.'" , "'.$adresse.'" , "'.$nomavatar.'" ,
       ) ') or die(mysql_error());


        

}
else
{
        echo'<h2>Inscription interrompue</h2>';
        echo'<h3>Une ou plusieurs erreurs se sont produites pendant l\'incription...</h3><br />';
        echo'<p>'.$i.' <b>Erreur(s):</b></p>';
        echo'<p>- '.$pseudo_erreur1.'</p>';
        echo'<p>- '.$pseudo_erreur2.'</p>';
        echo'<p>- '.$mdp_erreur.'</p>';
        echo'<p>- '.$email_erreur1.'</p>';
        echo'<p>- '.$email_erreur2.'</p>';
        echo'<p>- '.$signature_erreur.'</p>';
        echo'<p>- '.$avatar_erreur.'</p>';
        echo'<p>- '.$avatar_erreur1.'</p>';
        echo'<p>- '.$avatar_erreur2.'</p>';
        echo'<p>- '.$avatar_erreur3.'</p>';
		echo'<br />';
        echo'<p>Cliquez <a href="register.php">ici</a> pour recommencer.</p>';
}
mysql_close();

?>
Si quelqu'un peut me dire ce qui cloche dans mon code je lui en serai bien reconnaissant!
Probably (only a) Human Problem?