Bonjours
Je me suis rendu compte d'un problème
En fait , lorsqu'il ya une erreur sur l'envoi de l'image, ça enregistre quand même l'annonce, mais ça ne met pas l'image dans le dossier, ni l'url de cette dernière dans la bdd
J'aimerais qu'en cas d'échec de transfère, on ne puisse pas continuer, donc ne pas enregistrer l'annonce.
Voici mon code complet, si tu peux m'aider à faire ça, ça serais sympa.
J'ai bien essayer de le faire, mais je n'y suis pas arriver.
// on définie les variables
$Categories=$_POST['Categories'];
$SousCategorie=$_POST['SousCategorie'];
$Titre=$_POST['Titre'];
$Marque=$_POST['Marque'];
$Model=$_POST['Model'];
$Type=$_POST['Type'];
$Annee=$_POST['Annee'];
$Description=$_POST['Description'];
$Prix=$_POST['Prix'];
$Login=$_POST['Login'];
$Phone=$_POST['Phone'];
$Mail=$_POST['Mail'];
$Date=$_POST['Date'];
$TimeDate=$_POST['TimeDate'];
if (empty($Titre)||empty($Prix)||empty($Phone))
{
echo 'un ou plusieurs champs sont vides';
}
else
{
if (empty($Description))
{
$SQL_Description = "";
}
if (isset($Description))
{
$SQL_Description = mysql_real_escape_string(htmlspecialchars($Description, ENT_QUOTES));
}
$SQL_Titre = mysql_real_escape_string(htmlspecialchars($Titre, ENT_QUOTES));
$SQL_Marque = mysql_real_escape_string(htmlspecialchars($Marque, ENT_QUOTES));
$SQL_Model = mysql_real_escape_string(htmlspecialchars($Model, ENT_QUOTES));
$SQL_Type = mysql_real_escape_string(htmlspecialchars($Type, ENT_QUOTES));
$SQL_Annee = mysql_real_escape_string(htmlspecialchars($Annee, ENT_QUOTES));
$SQL_Prix = mysql_real_escape_string(htmlspecialchars($Prix, ENT_QUOTES));
$SQL_Login = mysql_real_escape_string(htmlspecialchars($Login, ENT_QUOTES));
$SQL_Phone = mysql_real_escape_string(htmlspecialchars($Phone, ENT_QUOTES));
$SQL_Mail = mysql_real_escape_string(htmlspecialchars($Mail, ENT_QUOTES));
$SQL_Date = mysql_real_escape_string(htmlspecialchars($Date, ENT_QUOTES));
$SQL_Etat = 'Nonvalid';
$SQL_TimeDate = mysql_real_escape_string(htmlspecialchars($TimeDate));
if (empty($_POST['formulaire']))
{
$SQL_Image1 = '';
$SQL_Image2 = '';
$SQL_Image3 = '';
}
if (isset($_POST['formulaire']))
{
$dossier = 'imgannonces/'.$_SESSION['login'];
if(is_dir($dossier))
{
$target = $dossier; // Repertoire cible
}
if(!is_dir($dossier))
{
$creat = mkdir($dossier);
$target = $dossier;
}
//$form2_photo = new Telechargement($dossier,'formulaire','photo','get_formulaire');
$form2_photo = new Telechargement('/annonces/'.$dossier,'formulaire','photo','get_formulaire');
$tab_extensions_autorisees = array('jpg','jpeg','gif','png');
$form2_photo->Set_Extensions_accepte($tab_extensions_autorisees);
$form2_photo->Upload ();
//Récupération des résultats
$transfert_form2_photo = $form2_photo->Get_Tab_upload ();
$SQL_Image = array();
if (!empty ($transfert_form2_photo))
{
$resultat = $transfert_form2_photo['resultat'];//tableau à trois dimensions
foreach ($resultat as $num => $rep)
{
foreach ($rep as $key => $value)
{
if(!empty($value['nom'])) { $SQL_Image[] = $key.'/'.$value['nom']; }
}
}
}
$SQL_Image1 = isset($SQL_Image[0])? $SQL_Image[0] : '';
$SQL_Image2 = isset($SQL_Image[1])? $SQL_Image[1] : '';
$SQL_Image3 = isset($SQL_Image[2])? $SQL_Image[2] : '';
// On insert dans la BdD
mysql_query("INSERT INTO Annonces (Id,Categorie,SousCategorie,Titre,Marque,Model,Type,Annee,Description,Photo1,Photo2,Photo3,Prix,Login,Phone,Mail,Date,TimeDate,Etat) VALUES('','$Categories','$SousCategorie','$SQL_Titre','$SQL_Marque','$SQL_Model','$SQL_Type','$SQL_Annee','$SQL_Description','$SQL_Image1','$SQL_Image2','$SQL_Image3','$SQL_Prix','$SQL_Login','$SQL_Phone','$SQL_Mail','$SQL_Date','$SQL_TimeDate','$SQL_Etat')") or exit (mysql_error());
echo 'Ajout réussit, votre annonce seras soumise à validation de l’administrateur, et ne seras affiché qu’après cela.<br /><br />
<a href="index.php">Retourner à l’index</a>';
}
}
Merci de ton aide @++
Cordialement