Image PHP

Résolu/Fermé
SakiManiac Messages postés 24 Date d'inscription mardi 1 novembre 2016 Statut Membre Dernière intervention 15 novembre 2016 - Modifié par SakiManiac le 14/11/2016 à 11:00
SakiManiac Messages postés 24 Date d'inscription mardi 1 novembre 2016 Statut Membre Dernière intervention 15 novembre 2016 - 15 nov. 2016 à 12:39
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 mardi 1 novembre 2016 Statut Membre Dernière intervention 15 novembre 2016
14 nov. 2016 à 11:01
Modification du code : L'URL est rentré dans la db mais l'image ne s'upload pas.
0
astuces72 Messages postés 7762 Date d'inscription vendredi 15 janvier 2010 Statut Membre Dernière intervention 15 novembre 2024 1 639
14 nov. 2016 à 11:06
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 mardi 1 novembre 2016 Statut Membre Dernière intervention 15 novembre 2016
14 nov. 2016 à 11:25
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 7762 Date d'inscription vendredi 15 janvier 2010 Statut Membre Dernière intervention 15 novembre 2024 1 639
14 nov. 2016 à 11:28
ton dossier upload existe bien au même niveau que ton fichier d'upload ?
0
SakiManiac Messages postés 24 Date d'inscription mardi 1 novembre 2016 Statut Membre Dernière intervention 15 novembre 2016
Modifié par SakiManiac le 14/11/2016 à 11:38
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 7762 Date d'inscription vendredi 15 janvier 2010 Statut Membre Dernière intervention 15 novembre 2024 1 639
14 nov. 2016 à 11:57
<input type="submit" name="envoi" id="envoi" value="Envoyer">

if(isset($_POST["envoi"])) {
0
SakiManiac Messages postés 24 Date d'inscription mardi 1 novembre 2016 Statut Membre Dernière intervention 15 novembre 2016
14 nov. 2016 à 12:05
Oui c'est bien marqué sur le code que j'ai partagé
0