Formulaire & $_FILES

cs_DjChat Messages postés 69 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 25 novembre 2010 - 3 juin 2008 à 15:21
emperor01 Messages postés 25 Date d'inscription lundi 10 novembre 2003 Statut Membre Dernière intervention 7 juin 2008 - 5 juin 2008 à 14:17
Bonjour a tous, j'ai fait un formulaire d'edition d'un enregistrement d'une BDD MySQL, il y a un upoad d'image et j'aurai aimer que si pendant l'editon il n'y pas un nouvelle upload d'image pour ce champ il ne ce passe rien pour lui.


J'ai mi un empty pour voir si il y a quelque chose dans ma variable $_FILES avec une condition if else, mais il reste toujours dans mon if qu'il y est un upload ou non...




J'arrive pas trouver mon erreur, pouvez vous m'aider?




case "edit_manif" :
  
   require_once('connec_bdd.php');
   
   
  
   
    $type=$_FILES['affiche']['type'];
    
    
    if(($type!="image/jpeg")&&($type!="image/pjpeg")&&($type!=""))
  {
  
  echo "Erreur le fichier que vous telecharger n'est pas dans le bon format";
    
    echo '<SCRIPT LANGUAGE="JavaScript">
          function redirect() {
       window.location="select_edit_manifestation.php"
      }
      setTimeout("redirect()",3000);     </SCRIPT>';
  
  
    }
  else
  
  
    {
    
    if(!empty($_FILES['affiche']))
    {
    
        $requet "select affiche from manifestation WHERE titre '".$_SESSION['titre_manif']."' ";
  
    $result = mysql_query($requet);
    
    while ($row = mysql_fetch_row($result))
  
    {
  
    $affich = $row[0];
  
    }
    
    
      unlink($affich);


      $aff=$_FILES['affiche']['name'];
      
      $image_destination = "../images/affiche_manif/".$aff;
    
      $affiche = move_uploaded_file($_FILES['affiche']['tmp_name'],$image_destination);
     
      $titre=mysql_real_escape_string($_POST['titre']);
      
      $contenu=mysql_real_escape_string($_POST['contenu']);
      
    
    
    $requete = "UPDATE manifestation set titre='".$titre."', contenu='".$contenu."', affiche='".$image_destination."' WHERE titre = '".$_SESSION['titre_manif']."' ";
    
    
    
    $resultat = mysql_query($requete) or die(mysql_error());
    
    
  {
  
 
  
  echo "L'insertion a bien été effectué";
  
  echo '<SCRIPT LANGUAGE="JavaScript">
        function redirect() {
     window.location="corine.php"
    }
    setTimeout("redirect()",3000);     </SCRIPT>';
  
  }
  
 
  
  }
  
  else
  
  { 
  
      $titre=mysql_real_escape_string($_POST['titre']);
      
      $contenu=mysql_real_escape_string($_POST['contenu']);
      
    
    
    $requete = "UPDATE manifestation set titre='".$titre."', contenu='".$contenu."' WHERE titre = '".$_SESSION['titre_manif']."' ";
    
    
    
    $resultat = mysql_query($requete) or die(mysql_error());
    
    
  {
  
  
  
  echo "L'insertion a bien été effectué";
  
  echo '<SCRIPT LANGUAGE="JavaScript">
        function redirect() {
     window.location="corine.php"
    }
    setTimeout("redirect()",3000);     </SCRIPT>';
  
  }
  
 
      
  }
  }
  
     break;



 


Merci d'avance!!! 

3 réponses

emperor01 Messages postés 25 Date d'inscription lundi 10 novembre 2003 Statut Membre Dernière intervention 7 juin 2008
5 juin 2008 à 03:52
A mon avis pour voir si il est vide utilise plutot isset() non ?

$type!="")) ======> isset($_FILES['affiche'])
0
cs_DjChat Messages postés 69 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 25 novembre 2010
5 juin 2008 à 09:33
$type je l'ai mi pour verifier le format du fichier, j'ai mi empty, mais j'avais essayé avec isset et j'ai le meme resultat...
0
emperor01 Messages postés 25 Date d'inscription lundi 10 novembre 2003 Statut Membre Dernière intervention 7 juin 2008
5 juin 2008 à 14:17
Pour savoir si $_FILES est vide tu as essaye de tester $_FILES['affiche']['size']==0

ca revient au même je crois ?
0
Rejoignez-nous