Upload non renseignée [Résolu]

Signaler
Messages postés
45
Date d'inscription
lundi 23 avril 2007
Statut
Membre
Dernière intervention
4 mai 2011
-
Messages postés
45
Date d'inscription
lundi 23 avril 2007
Statut
Membre
Dernière intervention
4 mai 2011
-
Bonjour à Tous,
je me penche depuis peux à l'upload de fichier couplé à la base de données.
Tous c'est parfaitement passé, alors je voudrais l' améliorer,
Je
voudrais que lorsque l' on enregistre un partenaire dans la BDD et que
le champs d' image n' a pas été renseigné (en clair si l'on ne veu pas
déposer de photo) le champs soit vide (ou conserve celui qui était déja
renseigné si il s' agit d' une modification)

Voici ce que j'ai pour le moment, un simple upload

modifier_partenaire.php

<?php

include('connect.php');

$id_partenaire = $_GET['id_partenaire'];
 $query="SELECT * FROM partenaire WHERE id_partenaire = $id_partenaire";
$result=mysql_query($query);
 while ($ligne=mysql_fetch_object($result)) { ?>
<form action="enregistre_detail_partenaire.php?id_partenaire=<?php echo $id_partenaire; ?>" method="POST" enctype='multipart/form-data'>

    Titre : titre;?>">

Descriptif : descriptif;?>">

  Lien : lien;?>">

  Image : img_chemin;?>" width="150px">

  Modifier le logo :
 
           

 
 
 

id_partenaire?>"/>
   
</form>
 <?php } ?>

enregistre_details_partenaire.php :

<?php
include ("connect.php");
$id_partenaire = $_POST['id_partenaire'];
$titre = nl2br($_POST['titre']);
$descriptif = nl2br($_POST['descriptif']);
$lien = nl2br($_POST['lien']);

$dossier = 'img/partenaire/';
        $fichier = basename($_FILES['fichier']['name']);
        $taille_maxi = 100000;
        $taille = filesize($_FILES['fichier']['tmp_name']);
        $extensions = array('.png', '.gif', '.jpg', '.jpeg', '.JPG', '.JPEG');
        $extension = strrchr($_FILES['fichier']['name'], '.');

//Début des vérifications de sécurité...
        if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
        {
            $erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg...';
        }
        if(($taille)>$taille_maxi)
        {
            $erreur = 'Le fichier est trop gros...';
        }
        if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
        {
            //formatage du nom (suppression des accents, remplacements des espaces par "-")
            $fichier = strtr($fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
            $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
            if(move_uploaded_file($_FILES['fichier']['tmp_name'], $dossier . $fichier)) //correct si la fonction renvoie TRUE
            {
                echo 'Upload effectué avec succès !';
                $chemin = $dossier . $fichier;                mysql_query("UPDATE partenaire SET `titre` '$titre',`img_chemin` '$chemin',`descriptif` = '$descriptif',`lien` = '$lien' WHERE id_partenaire ='$id_partenaire'") or die (mysql_error());

            }
            else //sinon, cas où la fonction renvoie FALSE
            {
                echo 'Echec de l\'upload !';
            }
        }
        else
        {
            echo $erreur;
        }
        ?>

Il vaut mieux une bière dans une main que deux n' importe quoi d' autre

1 réponse

Messages postés
45
Date d'inscription
lundi 23 avril 2007
Statut
Membre
Dernière intervention
4 mai 2011

J' ai trouver

Pour ceux que cela intéresse :

<?php
include ("connect.php");
$id_partenaire = $_POST['id_partenaire'];
$titre = nl2br($_POST['titre']);
$descriptif = nl2br($_POST['descriptif']);
$lien = nl2br($_POST['lien']);

    if($_FILES['fichier']['name']!='')
                                                {
$dossier = 'img/partenaire/';
        $fichier = basename($_FILES['fichier']['name']);
        $taille_maxi = 100000;
        $taille = filesize($_FILES['fichier']['tmp_name']);
        $extensions = array('.png', '.gif', '.jpg', '.jpeg', '.JPG', '.JPEG');
        $extension = strrchr($_FILES['fichier']['name'], '.');

//Début des vérifications de sécurité...
        if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
        {
            $erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg...';
        }
        if(($taille)>$taille_maxi)
        {
            $erreur = 'Le fichier est trop gros...';
        }
        if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
        {
            //formatage du nom (suppression des accents, remplacements des espaces par "-")
            $fichier = strtr($fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
            $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
            if(move_uploaded_file($_FILES['fichier']['tmp_name'], $dossier . $fichier)) //correct si la fonction renvoie TRUE
            {
                echo 'Upload effectué avec succès !';
                $chemin = $dossier . $fichier;                mysql_query("UPDATE partenaire SET `titre` '$titre',`img_chemin` '$chemin',`descriptif` = '$descriptif',`lien` = '$lien' WHERE id_partenaire ='$id_partenaire'") or die (mysql_error());

            }
            else //sinon, cas où la fonction renvoie FALSE
            {
                echo 'Echec de l\'upload !';
            }
        }
        else
        {
            echo $erreur;
        }

                                                }
                                                else
                                                {                                                    mysql_query("UPDATE partenaire SET `titre` '$titre',`descriptif` '$descriptif',`lien` = '$lien' WHERE id_partenaire ='$id_partenaire'") or die (mysql_error());
                                                    header('Location: accueil.php?contenu=partenaire_modif_tmp');
                                                }

?>
       
       

Il vaut mieux une bière dans une main que deux n' importe quoi d' autre