IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

ajout dans un panier


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2012
    Messages : 275
    Points : 70
    Points
    70
    Par défaut ajout dans un panier
    Bonjour,
    Je suis en train de créer un site e-commerce. J’aimerais maintenant créer un panier pour que le client puisse choisir ce qu'il veut mais je suis perdue et j’ai quelques questions :
    1. En faisant une recherche, j’ai trouvé cette remarque « la création d’une boutique en ligne prend du temps à synchroniser les sessions php. En effet il faut des bases en SESSION pour le panier et les comptes utilisateurs ». J’ai essayé d’utiliser les SESSION avec les comptes utilisateurs mais je n’ai pas réussis à faire ça avec le panier. Merci de m’aider à corriger ce code et de me mettre sur le bon chemin.
    J’ai créé une table dans la base de données nommée panier contenant les colonnes suivantes : id, login, referenceArticle, prix, quantité, prixTotal
    produits.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href='ajoutpanier.php?reference=$reference'>Ajouter au panier</a>
    ajoutpanier.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    <?php
    session_start();
    $mysqli = new mysqli("localhost", "root", "", "DBST");
    /* Vérification de la connexion */
    if (mysqli_connect_errno()) {
        printf("Échec de la connexion : %s\n", mysqli_connect_error());
        exit();
    }
    $login=$_SESSION['login'];
    $reference=$_GET["reference"];
    $requete="select * from produits where reference='$reference'";
    $result=$mysqli->query($requete);
    $var=mysqli_fetch_array($result);
    $prix = $var["prix"];
    $quantite="1";
    $requ="select * from panier where referenceArticle ='$reference' and login='$login'";
    $resul=$mysqli->query($requ);
    $nombre = $resul->num_rows;
    if($nombre!=0)
    echo "Cet article existe déjà dans votre panier";
     else{
    $requete = "INSERT INTO panier VALUES('','".$login."','".$reference."','".$prix."',".$quantite.",'".$prix."')";
    $my=$mysqli->query($requete);
    if($my){
    die("article ajouté");
    header('Location: panier.php);
    }
    else
    die("erreur");
    }
    $mysqli->close();
    ?>

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Déjà nomme tes variables explicitement parce que $p, $q, $r ... on va faire tout l'alphabet et on ne sait pas du tout ce qu'elles représentent.
    Ensuite le mot de passe n'a rien à faire en session.
    Par contre il devrait y avoir l'id de l'utilisateur.

    Et cet id doit être dans ta table panier pour associer les articles à l'utilisateur.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2012
    Messages : 275
    Points : 70
    Points
    70
    Par défaut
    Merci j'ai modifié les noms des variables dans le code mais j'ai utilisé le login au lieu de l'id et j'ai enlevé cette ligne $mp=$_SESSION['password'];

  4. #4
    Invité
    Invité(e)

  5. #5
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2012
    Messages : 275
    Points : 70
    Points
    70
    Par défaut
    Merci,
    J'ai vu ce cours en faisant une petite recherche mais je n'ai pas arrivé à comprendre la différence entre l'utilisation d'un tableau à l'aide de array et l'utilisation d'un tableau panier dans la base de données. Quelle est la meilleur méthode et pourquoi?

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    La session PHP est détruite quand on ferme le navigateur.
    Le panier en base de données est conservé sans limite.

    Au délà de l'aspect fonctionnel, si ton hebergement limite l'utilisation de la base de donnée, les sessions sont peut être un meilleur choix.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2012
    Messages : 275
    Points : 70
    Points
    70
    Par défaut
    Salut merci
    donc si j'ai bien compris c'est mieux d'utiliser la base de données mais je n'ai pas bien cette remarque. Comment l'hebergement peut-il limiter l'utilisation de la base de donnée
    Citation Envoyé par sabotage Voir le message
    Au délà de l'aspect fonctionnel, si ton hebergement limite l'utilisation de la base de donnée, les sessions sont peut être un meilleur choix.

  8. #8
    Invité
    Invité(e)
    Par défaut
    Bonjour Marie,
    si tu avais vraiment LU ATTENTIVEMENT le tutoriel au lieu de le survoler, tu aurais compris l'intérêt de l'un ET de l'autre, et leur complémentarité.

    Pour prendre un exemple simple :

    1/ tu fais les courses au supermarché et remplis ton caddie.
    Les produits sont virtuellement à toi, mais pas encore ; tu peux en changer, en ajouter.... :
    => ils sont mis en SESSION... provisoirement.

    Si tu sors du supermarché (=> tu fermes le navigateur), tu laisses le caddie plein à l'intérieur, les produits sont remis en rayon par un commis énervé...
    => la SESSION est perdue

    2/ par contre, quand tu passes à la caisse
    => La commande est enregistrée et stockée en base de données.

    3/ une fois payés, ils sont réellement à toi ; tu peux les mettre dans ton coffre de voiture et rentrer chez toi.
    => on peux supprimer la SESSION

    4/ en cas de réclamation, ton ticket de caisse (liste des produits, prix, date,...) pourra être comparée à celle enregistrée en base de données.

Discussions similaires

  1. Réponses: 12
    Dernier message: 17/06/2008, 10h49
  2. Ajout d'un article dans un panier
    Par spawns dans le forum Langage
    Réponses: 5
    Dernier message: 03/02/2008, 23h58
  3. Ajout quantité à l'envoi dans le panier
    Par sayes1 dans le forum Langage
    Réponses: 9
    Dernier message: 25/01/2008, 17h08
  4. [Conception] Ajout des produits dans un panier
    Par ghyosmik dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 22/09/2006, 11h17
  5. [MySQL] Ajout d'un nouveau produit dans un panier
    Par ghyosmik dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 07/09/2006, 15h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo