J'ai un formulaire comme l'image ci-jointe qui doit enregistrer toutes les informations rentrées sur la base de données, et pour l'image il doit la sauvegarder dans un dossier et mettre le chemin dans la base de données. Etant encore amateur en Php, je n'arrive pas à trouver le bon code pour le faire marcher. Voici le code que j'ai écris, il marche très bien apart pour l'image.
<?php
require 'testimage.php';
if(isset($_POST['regie'])) $regie=$_POST['regie'];
else $regie="";
if(isset($_POST['annonceur'])) $annonceur=$_POST['annonceur'];
else $annonceur="";
if(isset($_POST['categorie'])) $categorie=$_POST['categorie'];
else $categorie="";
if(isset($_POST['titre'])) $titre=$_POST['titre'];
else $titre="";
if(isset($_POST['lien'])) $lien=$_POST['lien'];
else $lien="";
if (isset($_FILES['fileToUpload'])) $image=$_FILES['fileToUpload'];
else $image="";
if(isset($_POST['nombrepassage'])) $nombrepassage=$_POST['nombrepassage'];
else $nombrepassage="";
if(isset($_POST['datefin'])) $datefin=$_POST['datefin'];
else $datefin="";
if(empty($regie) OR empty($annonceur) OR empty($categorie) OR empty($titre) OR empty($image) OR empty($nombrepassage) OR empty($datefin))
{
echo '<font color="red">Attention, aucun champs ne peut rester vide !</font>';
}
else
{
$db = mysql_connect('localhost', 'root', 'SaadBn159753') or die('Erreur de connexion '.mysql_error());
mysql_select_db('geomedia',$db) or die('Erreur de selection '.mysql_error());
$sql = "INSERT INTO Banner(Régie, Annonceur, Catégorie, Titre, Lien, Image, Nombre_Passage, Date_Fin ) VALUES('$regie','$annonceur','$categorie','$titre', '$lien','$target_file','$nombrepassage','$datefin')";
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
echo 'Vos infos ont bien été ajoutées.';
mysql_close();
}
?>
else if ($uploadOk == 0) { $msg = "Erreur votre image n'a pas bien été reçu";
} else {
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) { $msg = "Le fichier ". basename( $_FILES["fileToUpload"]["name"]). " a bien été reçu"; echo($msg); }
Oui j'ai bien vérifié, l'image est soi-disant détécté et le champs File n'est pas marqué vide apparament mais les conditions sur l'image dans le code ne sont pas executé donc la taille, extension etc ne sont pas vérifié et l'image n'est pas uplodé par la suite