begin process at 2010 02 10 13:29:54
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

modification de fiche produit


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

modification de fiche produit

mardi 3 mars 2009 à 14:04:15 | modification de fiche produit

winnie39

Bonjour à tous,
voila j' ai un petit problème,
Dans le site il y a ce que j' appel une fiche produit avec plusieurs photos.
Tout à été gérer pour l' ajout et la suppression.
mon problème concerne la modification,

Je n' arrive pas à faire en sorte que je puisse changer certaines photos, et du coup aucune modification ne s' opèrent...

Voici le code :






<?php
include('connect.php');

$titre = mysql_escape_string($_POST['titre']);
$descriptif = mysql_escape_string($_POST['descriptif']);
$bonne_affaire = mysql_escape_string($_POST['bonne_affaire']);
$prix = mysql_escape_string($_POST['prix']);
$prix_promo = mysql_escape_string($_POST['prix_promo']);



   
    if($_FILES['fichier']['name']!='')
                                                {
                                               
                                               
                                               
                                               
                                               

for ($i = 1 ; $i < 6 ; $i++)
{
    $dossier = 'img/bonnes_affaires/';
    $fichier = basename($_FILES['fichier'.$i]['name']);
    $taille_maxi = 200000;
    $taille = filesize($_FILES['fichier'.$i]['tmp_name']);
    $extensions = array('.png', '.gif', '.jpg', '.jpeg');
    $extension = strrchr($_FILES['fichier'.$i]['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'.$i]['tmp_name'], $dossier . $fichier)) //correct si la fonction renvoie TRUE
        {
            echo 'Upload effectué avec succès !';
            $chemin = 'chemin'.$i;
            ${$chemin} = $dossier.$fichier;
        }
        else //sinon, cas où la fonction renvoie FALSE
        {
            echo 'Echec de l\'upload !';
        }

    }
    else
    {
        echo $erreur;
    }
}
mysql_query("UPDATE produit SET `titre` = '$titre',`descriptif` = '$descriptif',`prix` = '$prix','img_photo1'='$chemin1','img_photo2'='$chemin2','img_photo3'='$chemin3','img_photo4'='$chemin4','img_photo5'='$chemin5',`prix_promo` = '$prix_promo' WHERE id_produit ='$id_produit'") or die (mysql_error());   
    header('Location: accueil.php?contenu=bonnes_affaires_tmp');



                                                }
                                                else
                                                {
                                                    mysql_query("UPDATE produit SET `titre` = '$titre',`descriptif` = '$descriptif',`prix` = '$prix',`prix_promo` = '$prix_promo' WHERE id_produit ='$id_produit'") or die (mysql_error());   
                                                    header('Location: accueil.php?contenu=produit_modif_tmp');
                                                }






?>



Si quelqu' un à la moindre idée ...

Il vaut mieux une bière dans une main que deux n' importe quoi d' autre
mardi 3 mars 2009 à 14:16:44 | Re : modification de fiche produit

chasseur2

il est nessecaire de chmoder votre repertoir $dossier pour permttre de modifier
essai acev ça

 

 


<?php
include('connect.php');

$titre = mysql_escape_string($_POST['titre']);
$descriptif = mysql_escape_string($_POST['descriptif']);
$bonne_affaire = mysql_escape_string($_POST['bonne_affaire']);
$prix = mysql_escape_string($_POST['prix']);
$prix_promo = mysql_escape_string($_POST['prix_promo']);

 

   
    if($_FILES['fichier']['name']!='')
                                                {
                                               
                                               
                                               
                                               
                                               

for ($i = 1 ; $i < 6 ; $i++)
{
    $dossier = 'img/bonnes_affaires/';
    $fichier = basename($_FILES['fichier'.$i]['name']);
    $taille_maxi = 200000;
    $taille = filesize($_FILES['fichier'.$i]['tmp_name']);
    $extensions = array('.png', '.gif', '.jpg', '.jpeg');
    $extension = strrchr($_FILES['fichier'.$i]['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);
        $dossier = chmod($dossier,0777);
        if(move_uploaded_file($_FILES['fichier'.$i]['tmp_name'], $dossier . $fichier)) //correct si la fonction renvoie TRUE
        {
     
            echo 'Upload effectué avec succès !';
            $chemin = 'chemin'.$i;
            ${$chemin} = $dossier.$fichier;
        }
        else //sinon, cas où la fonction renvoie FALSE
        {
            echo 'Echec de l\'upload !';
        }

    }
    else
    {
        echo $erreur;
    }
}
mysql_query("UPDATE produit SET `titre` = '$titre',`descriptif` = '$descriptif',`prix` = '$prix','img_photo1'='$chemin1','img_photo2'='$chemin2','img_photo3'='$chemin3','img_photo4'='$chemin4','img_photo5'='$chemin5',`prix_promo` = '$prix_promo' WHERE id_produit ='$id_produit'") or die (mysql_error());   
    header('Location: accueil.php?contenu=bonnes_affaires_tmp');

 

                                                }
                                                else
                                                {
                                                    mysql_query("UPDATE produit SET `titre` = '$titre',`descriptif` = '$descriptif',`prix` = '$prix',`prix_promo` = '$prix_promo' WHERE id_produit ='$id_produit'") or die (mysql_error());   
                                                    header('Location: accueil.php?contenu=produit_modif_tmp');
                                                }

 

 


?>

 

mardi 3 mars 2009 à 14:29:10 | Re : modification de fiche produit

winnie39

Merci de prendre un peu de temps pour regarder,

cela ne change rien, par contre je viens de découvrir que ce qui posait souci était en fait  le if($_FILES['fichier']['name']!='') situé à la ligne 13

car j' ai une erreur : Undefined index: fichier, mais je ne comprend pas pourquoi...

Il vaut mieux une bière dans une main que deux n' importe quoi d' autre
mardi 3 mars 2009 à 14:44:01 | Re : modification de fiche produit

chasseur2

changer la valeur de chmod par 0600

mardi 3 mars 2009 à 14:54:44 | Re : modification de fiche produit

winnie39

alors j' ai trouver un début d' erreur,
j' avais oublier $id_produit = $_POST['id_produit'];

Mais malgré cela et les modif du chmod, cela ne fonctionne toujours pas

Il vaut mieux une bière dans une main que deux n' importe quoi d' autre
mercredi 4 mars 2009 à 12:10:53 | Re : modification de fiche produit

winnie39

On progresse lentement,
j' avais fait une 2eme erreur bête,
j' avais oublier  enctype='multipart/form-data'> dans le fichier qui transfert les info...

Alors, maintenant je n' ai plus d'erreur, mais toujours pas de modif dans la bdd...

Il vaut mieux une bière dans une main que deux n' importe quoi d' autre
mercredi 4 mars 2009 à 16:05:39 | Re : modification de fiche produit

winnie39

En résumé, avec ce code là je peux effectuer des modifications qui sont effectuées dans la base de données, à la condition que TOUT les champs d' upload soit vide,
Si un seul est rempli cela ne fonction pas et j'ai tout ces messages d' erreurs :


Notice: Undefined index: fichier1 in C:\Program Files\EasyPHP 3.0\www\lescuisinesdemarine\admin\enregistre_detail_modif_bonnes_affaires.php on line 27

Notice: Undefined index: fichier1 in C:\Program Files\EasyPHP 3.0\www\lescuisinesdemarine\admin\enregistre_detail_modif_bonnes_affaires.php on line 29

Notice: Undefined index: fichier1 in C:\Program Files\EasyPHP 3.0\www\lescuisinesdemarine\admin\enregistre_detail_modif_bonnes_affaires.php on line 31
Vous devez uploader un fichier de type png, gif, jpg, jpeg...

Répété 5 fois (autant que de champs d' upload)

Voici le code là où j' en suis




<?php
include('connect.php');

$id_produit = $_POST['id_produit'];
$titre = mysql_escape_string($_POST['titre']);
$descriptif = mysql_escape_string($_POST['descriptif']);
$bonne_affaire = mysql_escape_string($_POST['bonne_affaire']);
$prix = mysql_escape_string($_POST['prix']);
$prix_promo = mysql_escape_string($_POST['prix_promo']);



  
    if($_FILES['fichier']['name']!='')
                                                {
                                              
                                              
                                              
                                              
                                              

for ($i = 1 ; $i < 6 ; $i++)
{
    $dossier = 'img/bonnes_affaires/';
    $fichier = basename($_FILES['fichier'.$i]['name']);
    $taille_maxi = 200000;
    $taille = filesize($_FILES['fichier'.$i]['tmp_name']);
    $extensions = array('.png', '.gif', '.jpg', '.jpeg');
    $extension = strrchr($_FILES['fichier'.$i]['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'.$i]['tmp_name'], $dossier . $fichier)) //correct si la fonction renvoie TRUE
        {
            echo 'Upload effectué avec succès !';
            $chemin = 'chemin'.$i;
            ${$chemin} = $dossier.$fichier;
        }
        else //sinon, cas où la fonction renvoie FALSE
        {
            echo 'Echec de l\'upload !';
        }

    }
    else
    {
        echo $erreur;
    }
}
mysql_query("UPDATE produit SET `titre` = '$titre',`descriptif` = '$descriptif',`prix` = '$prix','img_photo1'='$chemin1','img_photo2'='$chemin2','img_photo3'='$chemin3','img_photo4'='$chemin4','img_photo5'='$chemin5',`prix_promo` = '$prix_promo' WHERE id_produit ='$id_produit'") or die (mysql_error());  
    header('Location: accueil.php?contenu=bonnes_affaires_tmp');



                                                }
                                                else
                                                {
                                                    mysql_query("UPDATE produit SET `titre` = '$titre',`descriptif` = '$descriptif',`prix` = '$prix',`prix_promo` = '$prix_promo' WHERE id_produit ='$id_produit'") ;  
                                                    //header('Location: accueil.php?contenu=produit_modif_tmp');
                            echo'gnia';
                                                }






?>

Il vaut mieux une bière dans une main que deux n' importe quoi d' autre
jeudi 5 mars 2009 à 10:21:28 | Re : modification de fiche produit

winnie39

Encore du progrès,
Maintenant, je peux faire l' uploade ET enregistrer les modification textuelles, mais pas les image ... et ce à la condition que je retire 'img_photo1'='$chemin1','img_photo2'='$chemin2','img_photo3'='$chemin3','img_photo4'='$chemin4','img_photo5'='$chemin5',  de la requête...

Voici le code actuelle ...



<?php
include('connect.php');

$id_produit = $_POST['id_produit'];
$titre = mysql_escape_string($_POST['titre']);
$descriptif = mysql_escape_string($_POST['descriptif']);
$bonne_affaire = mysql_escape_string($_POST['bonne_affaire']);
$prix = mysql_escape_string($_POST['prix']);
$prix_promo = mysql_escape_string($_POST['prix_promo']);



  
   
                                              
                                              
                                              
                                              
                                              

for ($i = 1 ; $i < 6 ; $i++)
{

if($_FILES['fichier'.$i]['name']!='')
                                                {
    $dossier = 'img/bonnes_affaires/';
    $fichier = basename($_FILES['fichier'.$i]['name']);
    $taille_maxi = 200000;
    $taille = filesize($_FILES['fichier'.$i]['tmp_name']);
    $extensions = array('.png', '.gif', '.jpg', '.jpeg');
    $extension = strrchr($_FILES['fichier'.$i]['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'.$i]['tmp_name'], $dossier . $fichier)) //correct si la fonction renvoie TRUE
        {
            echo 'Upload effectué avec succès !';
            $chemin = 'chemin'.$i;
            ${$chemin} = $dossier.$fichier;
        }
        else //sinon, cas où la fonction renvoie FALSE
        {
            echo 'Echec de l\'upload !';
        }

    }
    else
    {
        echo $erreur;
    }
}}
mysql_query("UPDATE produit SET `titre` = '$titre',`descriptif` = '$descriptif',`prix` = '$prix','img_photo1'='$chemin1','img_photo2'='$chemin2','img_photo3'='$chemin3','img_photo4'='$chemin4','img_photo5'='$chemin5',`prix_promo` = '$prix_promo' WHERE id_produit ='$id_produit'") or die (mysql_error());  
 //   header('Location: accueil.php?contenu=bonnes_affaires_tmp');








?>


help please

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


Cette discussion est classée dans : fichier, mysql, titre, prix, produit


Répondre à ce message

Sujets en rapport avec ce message

update et upload [ par winnie39 ] Bonjour à tous,Voila, a force de recherche et de poste (notamment ici),j' ai pratiquement terminé le code que je désire.Voici en quoi il consiste :Je Erreur de syntaxe [ par winnie39 ] Bonjour,Voila j' exécute une requête d' update, seulement une fois la requête exécutée, je me retrouve avec l' erreur suivante : Erreur de syntaxe prè probleme d'insertion des données dans la base de donnée [ par greg975 ] bonsoir à tous j'ai un probleme je n'arrive pas à inserrer les données dans la base de donnée par le bias d'un formulaire. voici le code: inclu insertion des fichiers dans mysql [ par djomsroset ] slt a tousj'aimerais savoir le type de donnees mysql a utiliser quand on veut inserrer dans sa BD un fichier (une image, un fichier PDF, word, wma,mp3 Recherche dans une base [ par shadow1779 ] Bonjour,j'essaye de faire un module sur mon site afin de rechercher toutes les entrées ou l'on trouve une certaine chaine de caractère, pour l'instant inclusion d'une classe provenant d'un autre fichier [ par lilippx ] salut, je me suis mis au php ce matin mais je bute sur un petit truc (dès le premier jour, ce n'est pas motivant...)je n'arrive pas à instancier un ob Script php + mysql top liste titre pour webradio [ par mamure ] Bonsoir tout le monde.Je recherche un script php + mysql pour faire une top liste (20 titres) pour webradio.En fait, le systeme ce serait que l'audite Fonction mail [ par yoarf ] Bonjour,Je voudrais envoyer une newletter par paquets (adresse e-mail dans une table), en utilisant le champs CCI.Pouvez-vous me donner votre avis ? C Les fichiers [ par Bumcello ] Bonjour,Le script suivant sert à uploader des images de types differents. Et donc si je choisis un fichier jpeg cela ne fonctionne pas cela m'affiche inserer donnes dans une base mysql [ par kelm_by ] salut tous le monde,j'ai un fichier txt ou il ya 1000ligne du genre:&#1605;&#1581;&#1605;&#1583;  &#1607;&#1606;&#1610;&#1583;&#1610;&#1605;&#1581;&#1


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,248 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales