Image PHP

Résolu
SakiManiac Messages postés 24 Date d'inscription   Statut Membre Dernière intervention   -  
SakiManiac Messages postés 24 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

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();  
    }  
?>


code de l'upload d'image :
<?php
$target_dir = "upload/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);

if(isset($_POST["submit"])) {

if ($target_file == "upload/") {
$msg = "Aucun fichier selectionné";
$uploadOk = 0;
}



else if (file_exists($target_file)) {
$msg = "Fichier déjà existant.";
$uploadOk = 0;
}

else if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
echo "Seuls les formats JPG, JPEG, PNG & GIF sont autorisé.";
$uploadOk = 0;
}

else if ($_FILES["fileToUpload"]["size"] > 5000000) {
$msg = "Fichier trop large.";
$uploadOk = 0;
}


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);
}

}

}

?>
A voir également:

2 réponses

SakiManiac Messages postés 24 Date d'inscription   Statut Membre Dernière intervention  
 
Modification du code : L'URL est rentré dans la db mais l'image ne s'upload pas.
0
astuces72 Messages postés 7769 Date d'inscription   Statut Membre Dernière intervention  
 
slt

dans ton formulaire, tu as bien mis:
<form method="post" action="" enctype="multipart/form-data">
?
0
SakiManiac Messages postés 24 Date d'inscription   Statut Membre Dernière intervention  
 
Salut,

Oui
<form method="post" action="connect.php" enctype="multipart/form-data">
<td> <input size="50px"type="file" name="fileToUpload" id="fileToUpload"></td>
0
astuces72 Messages postés 7769 Date d'inscription   Statut Membre Dernière intervention  
 
ton dossier upload existe bien au même niveau que ton fichier d'upload ?
0
SakiManiac Messages postés 24 Date d'inscription   Statut Membre Dernière intervention  
 
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
0
astuces72 Messages postés 7769 Date d'inscription   Statut Membre Dernière intervention  
 
<input type="submit" name="envoi" id="envoi" value="Envoyer">

if(isset($_POST["envoi"])) {
0
SakiManiac Messages postés 24 Date d'inscription   Statut Membre Dernière intervention  
 
Oui c'est bien marqué sur le code que j'ai partagé
0