begin process at 2012 02 12 08:58:14
  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 upload video [ par joujma5 ] bonsoir,j'ai un bout de code pour uploader des vidéos parfois il marche et parfois nn et je ne sait pas ou est le problème,je travaille avec easyphp 1 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 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è impossible d'ouvrir fichier csv dans page.php [ par tif27940 ] Bonjour, j'ai un programme qui doit ouvrir un fichier vcsv mais voila il ne veut pas l'ouvrir alors que la page et le fichier csv sont dans le même d moteur de recherche en php [ par barrose ] Bonjour à tous,Je developpe un site avec PHP/MYSQL.Mes elements sont des fichiers que j'enregistre dans un repertoires.Mais j'enregistre le nom de cha MYSQL bloquer fichier [ par nbpro ] bonjour, existe-il une option qui permet de na pas afficher tel ou tel fichier lord de l'affichage des données " select ... Moins fichier a caché". upload non renseignée [ par winnie39 ] 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éliore inserrer des fichier ou images dans ma base de donne o en php (base mysql) [ par msi079 ] salut je veux insérer des images des victimes ( la base est créer pour identifier et enregistrer des victimes de guerre ) de guerre mais j'arrive pas. Warning: mysql_result ... [ par homerH ] Bonjour à toutes et tous ! Je penses ne pas m'être trompé de lieu, sinon mes excuses mais j'ai déjà tellement fouillé et sans résultat, je lance un S


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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 : 3,994 sec (4)

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