Upload non renseignée

Résolu
cs_winnie39 Messages postés 45 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 4 mai 2011 - 2 mars 2009 à 10:01
cs_winnie39 Messages postés 45 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 4 mai 2011 - 2 mars 2009 à 11:45
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

cs_winnie39 Messages postés 45 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 4 mai 2011
2 mars 2009 à 11:45
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
3
Rejoignez-nous