Modification de fichier

Résolu
kpris_gene
Messages postés
31
Date d'inscription
lundi 25 avril 2016
Statut
Membre
Dernière intervention
21 octobre 2016
- Modifié par jordane45 le 7/10/2016 à 14:29
kpris_gene
Messages postés
31
Date d'inscription
lundi 25 avril 2016
Statut
Membre
Dernière intervention
21 octobre 2016
- 13 oct. 2016 à 16:21
Bonjour, j'ai encore besoin de vos précieux conseils.En effet je diesire modifier ma table courrier_depart et cette table a en son sein un champ fichier
la selection se passe bien mais lorsque je desire modifier l'image disparait
voici mon code de modification
<?php

  error_reporting(E_ALL);

include("Connexion.php");
  //les champs de la table destinataire
 
$raison_so = $_POST["raison_so"];
$contact = $_POST["contact"];
$adresse = $_POST["adresse"];
$mail = $_POST["mail"];
//les champs de la table courrier_depart
   $id_cr_dep = $_POST["id_cr_dep"];
   $reference_dep = $_POST["reference_dep"];
   $objet_dep = $_POST["objet_dep"];
   $date_courrier_depart = $_POST["date_courrier_depart"];
   $commentaire =$_POST["commentaire"];
   $fichier = $_POST["fichier"];

if(empty($_FILES['fichier']['name']))
  $fichier = $_FILES['fichier']['name'];
  $chemin=pathinfo($fichier);
  $taille_maximale =2097152;
  $taille =filesize($_FILES['fichier']['tmp_name']);
  $extensions = array('.png','.gif','.jpg','.jpeg','.PNG','.JPG','.GIF','.JPEG');
  $extension =strrchr($fichier,'.');
  //$newnomfichier=$fichier.'date("dmYHiss")';
  
  if(!in_array($extension, $extensions))
  {
    $error ="<div class ='alert'>vous devez télécharger un fichier de type png,gif,jpg ou jpeg</div>";
  }
  if($taille>$taille_maximale)
  {
    $error ="<div class ='alert'>le fichier est trop volumineux</div>";
  }
  if(!isset($error))
  {
    $fichier= preg_replace('/([^.a-z0-9]+)/i','-',$fichier);
    
    if( move_uploaded_file($_FILES['fichier']['tmp_name'],"file/".$fichier))
    {
    
  $req='UPDATE courrier_depart,destinataire SET
   reference_dep="'.$reference_dep.'",
   objet_dep="'.$objet_dep.'",
   date_courrier_depart="'.$date_courrier_depart.'",
   fichier="'.$fichier.'",
   commentaire="'.$commentaire.'",
   raison_so="'.$raison_so.'",
   contact="'.$contact.'", 
   adresse="'.$adresse.'",
   mail="'.$mail.'"
    WHERE (destinataire.id_dest=courrier_depart.id_dest)
    AND (id_cr_dep="'.$id_cr_dep.'")';
    //echo $req;
   $result=$db->query($req) or die('Erreur SQL !<br />'.$req.'<br />'.mysql_error());
   
 }
}
 


//header('location:admin_.php');

 ?>



et le code du formulaire
<?php
error_reporting(E_ALL);
require_once("Connexion.php");

$id_cr_dep =isset($_GET["id_cr_dep"]) ? intval($_GET["id_cr_dep"]) : 0;

$sql="SELECT courrier_depart.id_cr_dep,courrier_depart.reference_dep,courrier_depart.objet_dep,courrier_depart.date_courrier_depart,courrier_depart.fichier,courrier_depart.commentaire,destinataire.raison_so,destinataire.contact,destinataire.adresse,destinataire.mail FROM destinataire,courrier_depart WHERE (destinataire.id_dest=courrier_depart.id_dest)AND(id_cr_dep='".$id_cr_dep."')";
$reponse=$db->query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data=$reponse->fetch();
//echo $sql;

?>


<div class="panel panel-green">
<div class="panel-heading">
<h3 class="panel-title">MODIFIER UN COURRIER DEPART</h3>
</div>
<div class="panel-body">

<div class="container-fluid">
<section class="container">
<div class="container-page">
<div class="col-lg-6">
<form class="form-horizontal" role="form" method="post" enctype="multipart/data" action="ModifierCourrierDepart.php" >
<div class="form-group col-lg-12" class="form-inline">
<div class="form-group col-lg-12">
<input name="id_cr_dep" type="text" style="visibility:hidden" value="<?php echo $data['id_cr_dep'];?>">
</div>

</div>
<div class="form-group col-lg-12">
<input name="reference_dep" class="form-control" type="text" id="reference_dep" value="<?php echo $data['reference_dep'];?>">
</div>

<div class="form-group col-lg-12">
<input name="objet_dep" class="form-control" type="text" id="objet_dep" value="<?php echo $data['objet_dep']; ?>">
</div>
<div class="form-group col-lg-12">
<input name="date_courrier_depart" class="form-control" type="text" id="date_courrier_depart" value="<?php echo $data['date_courrier_depart']; ?>">
</div>
<div class="form-group col-lg-12">
<input name="fichier" class="form-control" type="text" id="fichier" value="<?php echo $data['fichier'];?>">
<img style='width:500px;height:700px; /*margin-left:700px;*/' src="file/<?php echo $data['fichier'] ?>">

</div>
<div class="form-group col-lg-12">
<input name="fichier" class="form-control" type="file" id="fichier" >
<?php
include("Connexion.php");

if(!empty($_POST['fichier']))
{

$fichier=$_FILES['fichier'];
$fichier = $_FILES['fichier']['name'];
$chemin = pathinfo($fichier);
$taille_maximale =2097152;
$taille = filesize($_FILES['fichier']['tmp_name']);
$extensions = array('.png','.gif','.jpg','.jpeg','.PNG','.JPG','.GIF','.JPEG');
$extension = strrchr($fichier,'.');
//$newnomfichier=$fichier.'date("dmYHiss")';



if(!in_array($extension, $extensions))
{
$error ="<div class ='alert'>vous devez télécharger un fichier de type png,gif,jpg ou jpeg</div>";
}
if($taille>$taille_maximale)
{
$error ="<div class ='alert'>le fichier est trop volumineux</div>";
}
if(!isset($error))
{
$fichier= preg_replace('/([^.a-z0-9]+)/i','-',$fichier);

if( move_uploaded_file($_FILES['fichier']['tmp_name'],"file/".$fichier))
{
$req1=$db->prepare('INSERT INTO courrier_depart(fichier)VALUES(:fichier)');
$req1->execute(array(
'fichier' => $fichier
));
}
}
}
/*else
{
echo $error;
} */

?>
</div>
<div class="form-group col-lg-12">
<input name="commentaire" class="form-control" type="text" id="commentaire" value="<?php echo $data['commentaire']; ?>">
</div>

<div class="form-group col-lg-12">
<input name="raison_so" class="form-control" type="text" id="raison_so" value="<?php echo $data['raison_so'];?>">
</div>
<div class="form-group col-lg-12">
<input name="contact" class="form-control" type="text" id="contact" value="<?php echo $data['contact'];?>">
</div>
<div class="form-group col-lg-12">
<input name="adresse" class="form-control" type="text" id="adresse" value="<?php echo $data['adresse'];?>">
</div>
<div class="form-group col-lg-12">
<input name="mail" class="form-control" type="text" id="mail" value="<?php echo $data['mail'];?>">
</div>
<div class="col-md-12">
<input type="submit" name="enregistrer" class="btn btn-primary" value="MODIFIER">
<input type="submit" name="annuler" class="btn btn-success" value="ANNULER">
<!--<button type="submit" class="btn btn-primary">Ajouter</button>-->
</div>
</div>
</form>
</div>
</div>
</section>
</div>
</div>
</div>

aidez moi seul je n'y arrive pas depuis quelque jours
merci!

15 réponses

jordane45
Messages postés
35818
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
6 juillet 2022
358
7 oct. 2016 à 14:39
Bonjour,


A la limite...Il ne faut faire l'update de ton image que si il y en une qui a été envoyée dans ton formulaire d'upload....

NB: Il faut récupérer "proprement" les variables AVANT de les utiliser.

<?php

error_reporting(E_ALL);

require_once("Connexion.php");


//les champs de la table destinataire
$raison_so = isset($_POST["raison_so"]) ? $_POST["raison_so"] :'';
$contact = isset($_POST["contact"]) ? $_POST["contact"] : '';
$adresse =isset( $_POST["adresse"]) ?  $_POST["adresse"] : '';
$mail =isset( $_POST["mail"]) ?  $_POST["mail"] : '';
//les champs de la table courrier_depart
$id_cr_dep = isset($_POST["id_cr_dep"]) ? $_POST["id_cr_dep"] : '';
$reference_dep = isset($_POST["reference_dep"]) ? $_POST["reference_dep"] : '';
$objet_dep = isset($_POST["objet_dep"]) ? $_POST["objet_dep"] : '';
$date_courrier_depart = isset($_POST["date_courrier_depart"]) ? $_POST["date_courrier_depart"] : '';
$commentaire =isset($_POST["commentaire"]) ? $_POST["commentaire"] : '';
$fichier = isset($_POST["fichier"]) ? $_POST["fichier"] : '';

$file = !empty($_FILES['fichier']) ? $_FILES['fichier']: NULL;
if($file['name']){
	
  $fichier = $file['name'];
  $chemin=pathinfo($fichier);
  $taille_maximale =2097152;
  $taille =filesize($file['tmp_name']);
  $extensions = array('.png','.gif','.jpg','.jpeg','.PNG','.JPG','.GIF','.JPEG');
  $extension =strrchr($fichier,'.');
  //$newnomfichier=$fichier.'date("dmYHiss")';
  
  if(!in_array($extension, $extensions)) {
	$error ="<div class ='alert'>vous devez télécharger un fichier de type png,gif,jpg ou jpeg</div>";
  }
  
  if($taille>$taille_maximale){
	$error ="<div class ='alert'>le fichier est trop volumineux</div>";
  }
  //si un fichier est présent.. on l'ajoute dans l'update
  $sqlUpdateFile = " ,fichier='$fichier' ";
}else{
  //sinon on update pas le champ image	
  $sqlUpdateFile = "";
}


if(!isset($error)){
	$fichier= preg_replace('/([^.a-z0-9]+)/i','-',$fichier);

	if( move_uploaded_file($_FILES['fichier']['tmp_name'],"file/".$fichier)) {

	  $req='UPDATE courrier_depart,destinataire 
			SET  reference_dep="'.$reference_dep.'"
				,objet_dep="'.$objet_dep.'"
				,date_courrier_depart="'.$date_courrier_depart.'"
				 '.$sqlUpdateFile.'
				,commentaire="'.$commentaire.'"
				,raison_so="'.$raison_so.'"
				,contact="'.$contact.'"
				,adresse="'.$adresse.'"
				,mail="'.$mail.'"
			WHERE (destinataire.id_dest=courrier_depart.id_dest)
			AND (id_cr_dep="'.$id_cr_dep.'")';
		//echo $req;
	   $result=$db->query($req) or die('Erreur SQL !<br />'.$req.'<br />'.mysql_error());
	   
	}

}
 


//header('location:admin_.php');

 ?>






0
kpris_gene
Messages postés
31
Date d'inscription
lundi 25 avril 2016
Statut
Membre
Dernière intervention
21 octobre 2016

7 oct. 2016 à 15:05
bonjour merci pour ta réponse j'essaie et je réecris!
0
kpris_gene
Messages postés
31
Date d'inscription
lundi 25 avril 2016
Statut
Membre
Dernière intervention
21 octobre 2016

7 oct. 2016 à 16:30
salut j'ai essayer le code que tu m'as donné mais il y a une erreur
Undefined index: fichier in C:\wamp\www\gene\ModifierCourrierDepart.php on line 50

ce qui empeche la modification.Je continue de chercher si tu as une solution ! merci
0
jordane45
Messages postés
35818
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
6 juillet 2022
358
7 oct. 2016 à 16:43
Petite erreur dans mes coupés/collés.

Essaye ça :
<?php

error_reporting(E_ALL);

require_once("Connexion.php");


//les champs de la table destinataire
$raison_so = isset($_POST["raison_so"]) ? $_POST["raison_so"] :'';
$contact = isset($_POST["contact"]) ? $_POST["contact"] : '';
$adresse =isset( $_POST["adresse"]) ?  $_POST["adresse"] : '';
$mail =isset( $_POST["mail"]) ?  $_POST["mail"] : '';
//les champs de la table courrier_depart
$id_cr_dep = isset($_POST["id_cr_dep"]) ? $_POST["id_cr_dep"] : '';
$reference_dep = isset($_POST["reference_dep"]) ? $_POST["reference_dep"] : '';
$objet_dep = isset($_POST["objet_dep"]) ? $_POST["objet_dep"] : '';
$date_courrier_depart = isset($_POST["date_courrier_depart"]) ? $_POST["date_courrier_depart"] : '';
$commentaire =isset($_POST["commentaire"]) ? $_POST["commentaire"] : '';
$fichier = isset($_POST["fichier"]) ? $_POST["fichier"] : '';

$file = !empty($_FILES['fichier']) ? $_FILES['fichier']: NULL;
if($file['name']){
	
  $fichier = $file['name'];
  $chemin=pathinfo($fichier);
  $taille_maximale =2097152;
  $taille =filesize($file['tmp_name']);
  $extensions = array('.png','.gif','.jpg','.jpeg','.PNG','.JPG','.GIF','.JPEG');
  $extension =strrchr($fichier,'.');
  //$newnomfichier=$fichier.'date("dmYHiss")';
  $fichier= preg_replace('/([^.a-z0-9]+)/i','-',$fichier);
  
  if(!in_array($extension, $extensions)) {
	$error ="<div class ='alert'>vous devez télécharger un fichier de type png,gif,jpg ou jpeg</div>";
  }
  
  if($taille>$taille_maximale){
	$error ="<div class ='alert'>le fichier est trop volumineux</div>";
  }
  
  if( move_uploaded_file($file['tmp_name'],"file/".$fichier)) {
  //si un fichier est présent.. on l'ajoute dans l'update
    $sqlUpdateFile = " ,fichier='$fichier' ";
  }
}else{
  //sinon on update pas le champ image	
  $sqlUpdateFile = "";
}

//----------------------------------//
// Update dans la BDD
//----------------------------------//
if(!isset($error)){
  $req='UPDATE courrier_depart,destinataire 
			SET  reference_dep="'.$reference_dep.'"
				,objet_dep="'.$objet_dep.'"
				,date_courrier_depart="'.$date_courrier_depart.'"
				 '.$sqlUpdateFile.'
				,commentaire="'.$commentaire.'"
				,raison_so="'.$raison_so.'"
				,contact="'.$contact.'"
				,adresse="'.$adresse.'"
				,mail="'.$mail.'"
			WHERE (destinataire.id_dest=courrier_depart.id_dest)
			AND (id_cr_dep="'.$id_cr_dep.'")';
		//echo $req;
		
	   $result=$db->query($req) or die('Erreur SQL !<br />'.$req.'<br />');
	   
	

}
 


//header('location:admin_.php');

 ?>


0
kpris_gene
Messages postés
31
Date d'inscription
lundi 25 avril 2016
Statut
Membre
Dernière intervention
21 octobre 2016

7 oct. 2016 à 17:21
Salut il n'ya plus d'erreur mais je n'arrive pas a modifier l'image
si tu peux revoir! merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kpris_gene
Messages postés
31
Date d'inscription
lundi 25 avril 2016
Statut
Membre
Dernière intervention
21 octobre 2016

8 oct. 2016 à 11:52
s'il vous plait j'y arrive toujours pas !
0
kpris_gene
Messages postés
31
Date d'inscription
lundi 25 avril 2016
Statut
Membre
Dernière intervention
21 octobre 2016

10 oct. 2016 à 11:53
salut j'ai essayer de faire un
echo $req;

et le résultat est qu'il prend en compte toutes les valeurs sauf le fichier c'est pourquoi je n'arrive pas a le modifier
s'il vous plait j'ai besoin d'être éclairer!
0
kpris_gene
Messages postés
31
Date d'inscription
lundi 25 avril 2016
Statut
Membre
Dernière intervention
21 octobre 2016

10 oct. 2016 à 16:48
s'il vous plait j'ai besoin de vos conseils!
0
jordane45
Messages postés
35818
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
6 juillet 2022
358
Modifié par jordane45 le 10/10/2016 à 17:56
Peux tu tester ceci :
<?php

error_reporting(E_ALL);

require_once("Connexion.php");


//les champs de la table destinataire
$raison_so = isset($_POST["raison_so"]) ? $_POST["raison_so"] :'';
$contact = isset($_POST["contact"]) ? $_POST["contact"] : '';
$adresse =isset( $_POST["adresse"]) ?  $_POST["adresse"] : '';
$mail =isset( $_POST["mail"]) ?  $_POST["mail"] : '';
//les champs de la table courrier_depart
$id_cr_dep = isset($_POST["id_cr_dep"]) ? $_POST["id_cr_dep"] : '';
$reference_dep = isset($_POST["reference_dep"]) ? $_POST["reference_dep"] : '';
$objet_dep = isset($_POST["objet_dep"]) ? $_POST["objet_dep"] : '';
$date_courrier_depart = isset($_POST["date_courrier_depart"]) ? $_POST["date_courrier_depart"] : '';
$commentaire =isset($_POST["commentaire"]) ? $_POST["commentaire"] : '';
$fichier = isset($_POST["fichier"]) ? $_POST["fichier"] : '';

$file = !empty($_FILES['fichier']) ? $_FILES['fichier']: NULL;
if($file['name']){
 
  $fichier = $file['name'];
  $chemin=pathinfo($fichier);
  $taille_maximale =2097152;
  $taille =filesize($file['tmp_name']);
  $extensions = array('.png','.gif','.jpg','.jpeg','.PNG','.JPG','.GIF','.JPEG');
  $extension =strrchr($fichier,'.');
  //$newnomfichier=$fichier.'date("dmYHiss")';
  $fichier= preg_replace('/([^.a-z0-9]+)/i','-',$fichier);
  
  if(!in_array($extension, $extensions)) {
   $error ="<div class ='alert'>vous devez télécharger un fichier de type png,gif,jpg ou jpeg</div>";
  }
  
  if($taille>$taille_maximale){
   $error ="<div class ='alert'>le fichier est trop volumineux</div>";
  }
  
  if( move_uploaded_file($file['tmp_name'],"file/".$fichier)) {
  //si un fichier est présent.. on l'ajoute dans l'update
    $sqlUpdateFile = " ,fichier='$fichier' ";
  }else{
    $error ="<div class ='alert'>Erreur lors de l'upload du fichier 
              ".$file['tmp_name']." vers "."file/".$fichier ."
              </div>";
  }
}else{
  //sinon on update pas le champ image 
  $sqlUpdateFile = "";
  $error  ="<div class ='alert'>
              Aucun fichier présent
            </div>";
}

//----------------------------------//
// Update dans la BDD
//----------------------------------//
if(!isset($error)){
  $req='UPDATE courrier_depart,destinataire 
   SET  reference_dep="'.$reference_dep.'"
    ,objet_dep="'.$objet_dep.'"
    ,date_courrier_depart="'.$date_courrier_depart.'"
     '.$sqlUpdateFile.'
    ,commentaire="'.$commentaire.'"
    ,raison_so="'.$raison_so.'"
    ,contact="'.$contact.'"
    ,adresse="'.$adresse.'"
    ,mail="'.$mail.'"
   WHERE (destinataire.id_dest=courrier_depart.id_dest)
   AND (id_cr_dep="'.$id_cr_dep.'")';
  //echo $req;
  
    $result=$db->query($req) or die('Erreur SQL !<br />'.$req.'<br />');
    
     //header('location:admin_.php');
 

}else{
 // le temps des tests
 echo $error;
}
 ?>
 <!-- ---------------------------------------------------------->
 <!-- Zone pour afficher les variables le temps des tests -->
 <!-- ---------------------------------------------------------->
 <div class="panel">
 <?php
 //---------------------------------------------------//
 //le temps des tests :
 //---------------------------------------------------//
 echo "<br> Variables <b>POST</b>: <pre>";
 print_r($_POST);
 echo "<br></pre>";
 
 echo "<br> Variables <b>FILES</b> : <pre>";
 print_r($_FILES);
 echo "<br></pre>";
 
 echo "<br><Pre>";
 echo " sqlUpdateFile : ".$sqlUpdateFile;
 echo "</pre>";
 //---------------------------------------------------//
 ?>
 </div>
 <!-- ---------------------------------------------------------->
 
 
<div class="panel panel-green">
  <div class="panel-heading">
    <h3 class="panel-title">MODIFIER UN COURRIER DEPART</h3>
  </div>
  <div class="panel-body">

  <div class="container-fluid">
     <section class="container">
        <div class="container-page">           
           <div class="col-lg-6">
             <form class="form-horizontal" role="form" method="post" enctype="multipart/data" action="ModifierCourrierDepart.php" >
              <div class="form-group col-lg-12" class="form-inline">
               <div class="form-group col-lg-12">
                <input name="id_cr_dep" type="text" style="visibility:hidden" value="<?php echo $data['id_cr_dep'];?>">
               </div>
              </div>
              <div class="form-group col-lg-12">
               <input name="reference_dep" class="form-control" type="text" id="reference_dep" value="<?php echo $data['reference_dep'];?>">
              </div>
              <div class="form-group col-lg-12">
                 <input name="objet_dep" class="form-control" type="text" id="objet_dep" value="<?php echo $data['objet_dep']; ?>">
              </div>
              <div class="form-group col-lg-12">
                 <input name="date_courrier_depart" class="form-control" type="text" id="date_courrier_depart" value="<?php echo $data['date_courrier_depart']; ?>">
             </div>
             <div class="form-group col-lg-12">
                <input name="fichier" class="form-control" type="text" id="fichier" value="<?php echo $data['fichier'];?>">
                <img style='width:500px;height:700px; /*margin-left:700px;*/' src="file/<?php echo $data['fichier'] ?>">
            </div>
            <div class="form-group col-lg-12">
             <input name="fichier" class="form-control" type="file" id="fichier" >
            </div>
            <div class="form-group col-lg-12">
              <input name="commentaire" class="form-control" type="text" id="commentaire" value="<?php echo $data['commentaire']; ?>">
            </div> 
            <div class="form-group col-lg-12">
             <input name="raison_so" class="form-control" type="text" id="raison_so"  value="<?php echo $data['raison_so'];?>">
            </div>
            <div class="form-group col-lg-12">
             <input name="contact" class="form-control" type="text" id="contact"  value="<?php echo $data['contact'];?>">
            </div>
            <div class="form-group col-lg-12">
             <input name="adresse" class="form-control" type="text" id="adresse"  value="<?php echo $data['adresse'];?>">
            </div>
            <div class="form-group col-lg-12">
             <input name="mail" class="form-control" type="text" id="mail"  value="<?php echo $data['mail'];?>">
            </div>
            <div class="col-md-12">
              <input type="submit" name="enregistrer" class="btn btn-primary" value="MODIFIER">
              <input type="submit" name="annuler" class="btn btn-success" value="ANNULER">
             <!--<button type="submit" class="btn btn-primary">Ajouter</button>-->
            </div>
         </div>
        </form>
       </div>
    </section>
  </div>
 </div>
</div>


Cordialement, 
Jordane                                                                 
0
kpris_gene
Messages postés
31
Date d'inscription
lundi 25 avril 2016
Statut
Membre
Dernière intervention
21 octobre 2016

10 oct. 2016 à 18:41
salut merci de ma repondre
lorsque je test la requete prend en compte les valeurs que je modifie mais lorsque je retourne sur ma liste rien ne s'est passé
ensuite le
echo "<br><Pre>";
echo " sqlUpdateFile : ".$sqlUpdateFile;
echo "</pre>";
est vide et le resultat est "aucun fichier present"
enfin j'ai du ajouter la requete de selection pour afficher les elements dans le nouveau formulaire que tu viens defaire
0
kpris_gene
Messages postés
31
Date d'inscription
lundi 25 avril 2016
Statut
Membre
Dernière intervention
21 octobre 2016

12 oct. 2016 à 10:10
Salut j'ai essayer de revoir encore ce que vous m'avez demandé de tester mais j'y arrive toujours pas je sais que la solution n'est pas loin mais je bloque !aidez moi à la trouvez s'il vous plait!
merci !
0
jordane45
Messages postés
35818
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
6 juillet 2022
358
12 oct. 2016 à 10:25
Fais des echo de tes variables
Et des print_r de $_FILES et dis moi ce que ca te donnes
0
jordane45
Messages postés
35818
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
6 juillet 2022
358 > jordane45
Messages postés
35818
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
6 juillet 2022

12 oct. 2016 à 10:33
Au passage, vu que tu as modifié le code (en ajoutant ta requête de selection...) merci de nous le mettre sur le forum.
0
kpris_gene
Messages postés
31
Date d'inscription
lundi 25 avril 2016
Statut
Membre
Dernière intervention
21 octobre 2016

12 oct. 2016 à 11:13
Salut merci de me répondre, pour le test des variables post il n' y a pas de problème par contre pour les variables FILES elles sont vides aussi cette requête $sqlUpdateFile
voici ce que j'ai ajouter au code que tu m'a dit de tester
<?php

error_reporting(E_ALL);

require_once("Connexion.php");


//les champs de la table destinataire
$raison_so = isset($_POST["raison_so"]) ? $_POST["raison_so"] :'';
$contact = isset($_POST["contact"]) ? $_POST["contact"] : '';
$adresse =isset( $_POST["adresse"]) ? $_POST["adresse"] : '';
$mail =isset( $_POST["mail"]) ? $_POST["mail"] : '';
//les champs de la table courrier_depart
$id_cr_dep = isset($_POST["id_cr_dep"]) ? $_POST["id_cr_dep"] : '';
$reference_dep = isset($_POST["reference_dep"]) ? $_POST["reference_dep"] : '';
$objet_dep = isset($_POST["objet_dep"]) ? $_POST["objet_dep"] : '';
$date_courrier_depart = isset($_POST["date_courrier_depart"]) ? $_POST["date_courrier_depart"] : '';
$commentaire =isset($_POST["commentaire"]) ? $_POST["commentaire"] : '';
$fichier = isset($_POST["fichier"]) ? $_POST["fichier"] : '';
/*echo $raison_so ;
echo $contact ;
echo $adresse ;
echo $mail ;
echo $reference_dep;
echo $date_courrier_depart ;
echo $id_cr_dep;
echo $reference_dep ;
echo $objet_dep ;
echo $date_courrier_depart ;
echo $commentaire ;
echo $fichier ;*/

$file = !empty($_FILES['fichier']) ? $_FILES['fichier']: NULL;
if($file['name']){

$fichier = $file['name'];
$chemin=pathinfo($fichier);
$taille_maximale =2097152;
$taille =filesize($file['tmp_name']);
$extensions = array('.png','.gif','.jpg','.jpeg','.PNG','.JPG','.GIF','.JPEG');
$extension =strrchr($fichier,'.');
//$newnomfichier=$fichier.'date("dmYHiss")';
$fichier= preg_replace('/([^.a-z0-9]+)/i','-',$fichier);

if(!in_array($extension, $extensions)) {
$error ="<div class ='alert'>vous devez télécharger un fichier de type png,gif,jpg ou jpeg</div>";
}

if($taille>$taille_maximale){
$error ="<div class ='alert'>le fichier est trop volumineux</div>";
}

if( move_uploaded_file($file['tmp_name'],"file/".$fichier)) {
//si un fichier est présent.. on l'ajoute dans l'update
$sqlUpdateFile = " ,fichier='$fichier' ";
}else{
$error ="<div class ='alert'>Erreur lors de l'upload du fichier
".$file['tmp_name']." vers "."file/".$fichier ."
</div>";
}
}else{
//sinon on update pas le champ image
$sqlUpdateFile = "";
$error ="<div class ='alert'>
Aucun fichier présent
</div>";
}

//----------------------------------//
// Update dans la BDD
//----------------------------------//
if(!isset($error)){
$req='UPDATE courrier_depart,destinataire
SET reference_dep="'.$reference_dep.'"
,objet_dep="'.$objet_dep.'"
,date_courrier_depart="'.$date_courrier_depart.'"
'.$sqlUpdateFile.'
,commentaire="'.$commentaire.'"
,raison_so="'.$raison_so.'"
,contact="'.$contact.'"
,adresse="'.$adresse.'"
,mail="'.$mail.'"
WHERE (destinataire.id_dest=courrier_depart.id_dest)
AND (id_cr_dep="'.$id_cr_dep.'")';
//echo $req;

$result=$db->query($req) or die('Erreur SQL !<br />'.$req.'<br />');

//header('location:admin_.php');


}else{
// le temps des tests
echo $error;
}
?>
<!-- ---------------------------------------------------------->
<!-- Zone pour afficher les variables le temps des tests -->
<!-- ---------------------------------------------------------->

<?php
//---------------------------------------------------//
//le temps des tests :
//---------------------------------------------------//
echo "<br> Variables <b>POST</b>: <pre>";
print_r($_POST);
echo "<br></pre>";

echo "<br> Variables <b>FILES</b> : <pre>";
print_r($_FILES);
echo "<br></pre>";

echo "<br><Pre>";
echo " sqlUpdateFile : ".$sqlUpdateFile;
echo "</pre>";
//---------------------------------------------------//
$sql="SELECT courrier_depart.id_cr_dep,courrier_depart.reference_dep,courrier_depart.objet_dep,courrier_depart.date_courrier_depart,courrier_depart.fichier,courrier_depart.commentaire,destinataire.raison_so,destinataire.contact,destinataire.adresse,destinataire.mail FROM destinataire,courrier_depart WHERE (destinataire.id_dest=courrier_depart.id_dest)AND(id_cr_dep='".$id_cr_dep."')";
$reponse=$db->query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data=$reponse->fetch();
?>
<div class="panel">
</div>
<!-- ---------------------------------------------------------->


<div class="panel panel-green">
<div class="panel-heading">
<h3 class="panel-title">MODIFIER UN COURRIER DEPART</h3>
</div>
<div class="panel-body">

<div class="container-fluid">
<section class="container">
<div class="container-page">
<div class="col-lg-6">
<form class="form-horizontal" role="form" method="post" enctype="multipart/data" action="ModifierCourrierDepart.php" >
<div class="form-group col-lg-12" class="form-inline">
<div class="form-group col-lg-12">
<input name="id_cr_dep" type="text" style="visibility:hidden" value="<?php echo $data['id_cr_dep'];?>">
</div>
</div>
<div class="form-group col-lg-12">
<input name="reference_dep" class="form-control" type="text" id="reference_dep" value="<?php echo $data['reference_dep'];?>">
</div>
<div class="form-group col-lg-12">
<input name="objet_dep" class="form-control" type="text" id="objet_dep" value="<?php echo $data['objet_dep']; ?>">
</div>
<div class="form-group col-lg-12">
<input name="date_courrier_depart" class="form-control" type="text" id="date_courrier_depart" value="<?php echo $data['date_courrier_depart']; ?>">
</div>
<div class="form-group col-lg-12">
<input name="fichier" class="form-control" type="text" id="fichier" value="<?php echo $data['fichier'];?>">
<img style='width:500px;height:700px; /*margin-left:700px;*/' src="file/<?php echo $data['fichier'] ?>">
</div>
<div class="form-group col-lg-12">
<input name="fichier" class="form-control" type="file" id="fichier" >
</div>
<div class="form-group col-lg-12">
<input name="commentaire" class="form-control" type="text" id="commentaire" value="<?php echo $data['commentaire']; ?>">
</div>
<div class="form-group col-lg-12">
<input name="raison_so" class="form-control" type="text" id="raison_so" value="<?php echo $data['raison_so'];?>">
</div>
<div class="form-group col-lg-12">
<input name="contact" class="form-control" type="text" id="contact" value="<?php echo $data['contact'];?>">
</div>
<div class="form-group col-lg-12">
<input name="adresse" class="form-control" type="text" id="adresse" value="<?php echo $data['adresse'];?>">
</div>
<div class="form-group col-lg-12">
<input name="mail" class="form-control" type="text" id="mail" value="<?php echo $data['mail'];?>">
</div>
<div class="col-md-12">
<input type="submit" name="enregistrer" class="btn btn-primary" value="MODIFIER">
<input type="submit" name="annuler" class="btn btn-success" value="ANNULER">
<!--<button type="submit" class="btn btn-primary">Ajouter</button>-->
</div>
</div>
</form>
</div>
</section>
</div>
</div>
</div>

merci!
0
jordane45
Messages postés
35818
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
6 juillet 2022
358
12 oct. 2016 à 11:44

par contre pour les variables FILES elles sont vides

Alors que tu y a mis un fichier ????

TU peux essayer avec d'autres fichiers ( plus petits éventuellement ) pour voir ?
Car si cette variable est vide (alors que je n'ai rien modifié dans la partie Formulaire) c'est que tu as un souci (visiblement autre que le code....)

Par contre j'insiste.... merci de nous POSTER le résultat des différents ECHO / PRINT de ta page.
0
kpris_gene
Messages postés
31
Date d'inscription
lundi 25 avril 2016
Statut
Membre
Dernière intervention
21 octobre 2016

12 oct. 2016 à 11:55
voici le résultat lorsque je clique sur une ligne dans ma liste de rendez-vous exemple le courrier 46
Aucun fichier présent

Variables POST:
Array
(
[id_cr_dep] => 46
[reference_dep] => 145/05-2016/AI/SA
[objet_dep] => cotation de fglm
[date_courrier_depart] => 06/10/2016
[fichier] => images (1).jpeg
[commentaire] => rien
[raison_so] => Michel
[contact] => 12-52-74-89
[adresse] => cocody
[mail] => wgghh@yahoo.fr
[enregistrer] => MODIFIER
)


Variables FILES :
Array
(
)


sqlUpdateFile :
0
jordane45
Messages postés
35818
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
6 juillet 2022
358
12 oct. 2016 à 13:24
As tu vu que tu avais deux fois le même "name" pour deux champs INPUT ?
     <div class="form-group col-lg-12">
                <input name="fichier" class="form-control" type="text" id="fichier" value="<?php echo $data['fichier'];?>">
                <img style='width:500px;height:700px; /*margin-left:700px;*/' src="file/<?php echo $data['fichier'] ?>">
            </div>
            <div class="form-group col-lg-12">
             <input name="fichier" class="form-control" type="file" id="fichier" >

Normal qu'il ne sache pas ce que contient ton input FILE alors que tu as un input TEXT avec le même nom.
Je pense que le souci vient de là.
0
kpris_gene
Messages postés
31
Date d'inscription
lundi 25 avril 2016
Statut
Membre
Dernière intervention
21 octobre 2016

12 oct. 2016 à 15:41
ah! oui !je le constate !
je revois ça et je te reviens!
0
kpris_gene
Messages postés
31
Date d'inscription
lundi 25 avril 2016
Statut
Membre
Dernière intervention
21 octobre 2016

12 oct. 2016 à 16:06
j'ai supprimer un input
 <div class="form-group col-lg-12">
<input name="fichier" class="form-control" type="file" id="fichier">
<img class="image" style='width:400px;height:600px; /*margin-left:700px;*/' src="file/<?php echo $data['fichier'] ?>">

normalement il devrait pouvoir m'afficher l'image du fichier et me permettre d'en recharger un autre si je veux le modifier mais le test est encore vide,je continue mes recherches pour voir comment je peux corriger en attendant si vous avez une solution!
merci!
0
kpris_gene
Messages postés
31
Date d'inscription
lundi 25 avril 2016
Statut
Membre
Dernière intervention
21 octobre 2016

13 oct. 2016 à 11:10
salut l'erreur venait de mon formulaire !
c’était ça
enctype="multipart/data"

au lieu de ça
enctype="multipart/form-data"

et ça marche j'arrive a modifier !
merci pour toutes ces leçons que j'ai appris dans ce sujet
et merci de m'avoir consacré votre temps!
0
kpris_gene
Messages postés
31
Date d'inscription
lundi 25 avril 2016
Statut
Membre
Dernière intervention
21 octobre 2016

13 oct. 2016 à 12:52
cepandant il ya encore un souci je peux pas modifier un autre élément si je ne le modifie pas avec un fichier!
0
jordane45
Messages postés
35818
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
6 juillet 2022
358 > kpris_gene
Messages postés
31
Date d'inscription
lundi 25 avril 2016
Statut
Membre
Dernière intervention
21 octobre 2016

13 oct. 2016 à 12:53
C'est à cause de la variable $error du ELSE sur la présence ou non d'un fichier.
Tu peux le retirer
}else{
  //sinon on update pas le champ image 
  $sqlUpdateFile = "";
  $error  ="<div class ='alert'>
              Aucun fichier présent
            </div>";
}
0
kpris_gene
Messages postés
31
Date d'inscription
lundi 25 avril 2016
Statut
Membre
Dernière intervention
21 octobre 2016
> jordane45
Messages postés
35818
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
6 juillet 2022

13 oct. 2016 à 16:21
ok ! c'est bon merci pour tout !!!
0