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

Langage PHP Discussion :

ajouter au caddie avec les variables cachées


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2008
    Messages
    90
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 90
    Points : 36
    Points
    36
    Par défaut ajouter au caddie avec les variables cachées
    bonjour tout le monde;

    j'ai un tp à le faire mais j'arrive pas à comprendre son problème;en effet le navigateur doit choisir un produit et après il va se rediriger vers une autre page qui contient un descriptif de ce produit. le problème c'est de conserver de pages en pages le contenu du caddie de l'utilisateur, et lui permettant ainsi de visionner ce contenu depuis n'importe quelle page et pour se faire il y
    on a 3 solutions la première consiste à utiliser Les variables cachées dans
    des formulaires. personnellement j'ai pas compris le concept de cette solution
    et la question demande d'Implémenter une telle solution. On utilisera à bon essient l'insertion des balises <?php dans le code HTML.pouvez vous m'expliquer en quelques mots ce qu'il faut faire pour utiliser cette solution

    merci d'avance :
    voila le code html de la page d'accieul:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <tr><td><a href="L01.html">L01</a></td><td>M. Proust - A la recherche du temps perdu</td><td><a href="FL01.html">FL01</a></td><td>Tomates</td></tr>
     
    		<tr><td><a href="L02.html">L02</a></td><td>Lucrèce - De Natura Rerum</td><td><a href="FL02.html">FL02</a></td><td>Pêches</td></tr>
    		<tr><td><a href="L03.html">L03</a></td><td>Laclos - Les liaisons dangereuses</td><td><a href="FL03.html">FL03</a></td><td>Aubergines</td></tr>
    		<tr><td><a href="L04.html">L04</a></td><td>Lautréamont - Les champs de Maldoror</td><td><a href="FL04.html">FL04</a></td><td>Abricots</td></tr>
    		<tr><td><a href="L05.html">L05</a></td><td>Aristophane - Lysistrata</td><td><a href="FL05.html">FL05</a></td><td>Courgettes</td></tr>
    		<tr><td><!--<input type="hidden" name="test" value="<?php echo "".$_REQUEST['test']."";?>">-->
    	<tr><td>

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 382
    Points : 10 410
    Points
    10 410
    Par défaut
    Dans un formulaire les variables cachées sont les input de type = "hidden".

    Tu en as donc une qui est mise en commentaire entre <!-- et --> vers la fin de ton code.

    Si cet input était à l'intérieur d'un formulaire envoyé par la méthode post,tu pourrais donc récupérer $_POST['test'] à la soumission du formulaire puisque cette variable se nomme "test" dans ton exemple.

    Pour le reste, j'ai un peu de mal à voir l'intérêt de cette méthode pour pouvoir visionner un caddie depuis n'importe qu'elle page... sauf à vous faire comprendre que ce n'est pas la méthode la plus appropriée

  3. #3
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Effectivement, à part faire comprendre aux élèves que c'est pas la bonne méthode je ne vois pas l'intérêt. Un caddie s'implémente avec la variable de session et jamais coté client par des inputs caché ou des cookies.

  4. #4
    Nouveau membre du Club
    Inscrit en
    Novembre 2008
    Messages
    90
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 90
    Points : 36
    Points
    36
    Par défaut
    merci pour vos réponses;
    pouvez vous me détailler les choses par un simple exemple qui utilise les champs cachés pour stocker dans le caddie les informations et en utilisant l'insertion des balises <?php dans le code HTML et qu'est que je vais stocker dans value de la balise input. et merci

  5. #5
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 382
    Points : 10 410
    Points
    10 410
    Par défaut
    Normalement, un caddie c'est un tableau à plusieurs lignes avec pour chaque ligne : reférence, quantité... donc à moins de sérialiser ce tableau et de le passer dans ton input de type "hidden" pour le récupérer de post en post, je vois pas trop. Cela dit cette solution serait un vrai cauchemar et deviendrait vite non fonctionnelle. Rien qu'à y penser ça fait mal à la tête

    Mais peut-être tu ne nous a pas donné suffisamment d'infos ?

    Sans variables de session c'est pratiquement injouable, ou alors il faudrait enregistrer chaque achat au fur et à mesure dans une bdd...

  6. #6
    Nouveau membre du Club
    Inscrit en
    Novembre 2008
    Messages
    90
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 90
    Points : 36
    Points
    36
    Par défaut
    Citation Envoyé par ABCIWEB Voir le message

    Mais peut-être tu ne nous a pas donné suffisamment d'infos ?

    Sans variables de session c'est pratiquement injouable, ou alors il faudrait enregistrer chaque achat au fur et à mesure dans une bdd...
    je sais que l'utilisation des sessions est la solution la plus adéquate pour mon problème mais malheureusement il est signalé dans mon tp qu'il faut travailler avec les variables cachés.je vais bien expliquer les choses:
    Il est évidemment possible de passer d'une page à l'autre via des liens de type <a href=""> mais aussi via des formulaires. Dans ce cas; l'attribut action du formulaire désigne la page suivante. Cette dernière pourra manipuler, via les mécanismes les données soumises par le formulaire. Or, il est possible de passer des données "cachées" avec un formulaire, en utilisant un objet du type <input type="hidden" name="nom_de_variable" value="valeur_de_variable">. Une telle balise n'affiche rien à l'écran mais va passer à la page suivante une variable de requête appelée nom_de_variable qui aura pour valeur valeur_de_variable. Ainsi, en mettant en place une navigation de pages en pages par formulaire, et en passent les données relatives au caddie dans des champs de type hidden, il est possible d'avoir accès à tout moment au contenu du caddie de l'utilisateur

    j'espère que je serai plus clair merci

  7. #7
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 382
    Points : 10 410
    Points
    10 410
    Par défaut
    Rien de nouveau alors, j'avais donc finalement bien compris

    Et tu es certain qu'il ne vous a pas été donné un premier avril ce TP

    Parce que rien qu'une navigation de pages en pages par formulaire, faut pas y penser car pour peu que le visiteur veuille rafraichir sa page ou utilise les boutons de navigation du navigateur, tu auras des messages d'alerte dans tous les sens.

    Bah sinon sur le principe pour chaque nouvelle page tu pourrais lister le $_POST de la page précédente dans des input de type hidden de ton formulaire (on va oublier la sérialisation dont je parlais plus haut).

    Donc dans le formulaire de chacune de tes pages :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <form action="nouvelle_page.php" method = "post">
     
    <!-- dautres champs -->
     
    <?php foreach ($_POST as $key => $value) echo '<input type = "hidden" name = "'.$key.'" value = "'.$value.'" />'?>
     
    <input type = "submit" name = "envoyer" value = "envoyer" />
    </form>

  8. #8
    Membre éprouvé Avatar de vorace
    Homme Profil pro
    Développeur
    Inscrit en
    Août 2010
    Messages
    573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Août 2010
    Messages : 573
    Points : 915
    Points
    915
    Par défaut
    heeeeeeeeeeeeuuuuuuuuuuuu, sans commentaires.
    tordu à souhait et avec ça si ça rentre pas...
    vu la taille de l'input à la fin c'est plus un panier mais un caddie...d'où le titre du post : je comprends mieux !
    Développeur informatique contrarié...

  9. #9
    Nouveau membre du Club
    Inscrit en
    Novembre 2008
    Messages
    90
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 90
    Points : 36
    Points
    36
    Par défaut
    <!-- d'autres champs -->

    d'autres champs veut dire les liens href que j'ai déjà écris en dessus??

  10. #10
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 382
    Points : 10 410
    Points
    10 410
    Par défaut
    Non c'était optionnel. Si c'est pour conserver le contenu du post de page en page en naviguant avec un bouton suivant tu peux faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <form action="L02.php" method = "post">
     
    <?php foreach ($_POST as $key => $value) echo '<input type = "hidden" name = "'.$key.'" value = "'.$value.'" />'?>
     
    <input type = "submit" name = "envoyer" value = "suivant vers L02.php" />
    </form>
    puis sur la page L02.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <form action="L03.php" method = "post">
     
    <?php foreach ($_POST as $key => $value) echo '<input type = "hidden" name = "'.$key.'" value = "'.$value.'" />'?>
     
    <input type = "submit" name = "envoyer" value = "suivant vers L03.php" />
    </form>
    Mais bon je garanti rien car pas facile de comprendre l'intérêt de l'exercice. Tu diras à ton prof de passer à mon bureau à la récré

  11. #11
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Ne rigolez pas mais j'ai déjà vu cette méthode (input cachés) chez un de mes clients... J'ai aussi vu le site d'un étudiant GEII visiblement pas bien au courant de XHTML et CSS qui, pour décaler une image par rapport à du contenu, mettait autant de &nbsp; que nécéssaire et ce partout sur une page immense...

  12. #12
    Membre éprouvé Avatar de vorace
    Homme Profil pro
    Développeur
    Inscrit en
    Août 2010
    Messages
    573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Août 2010
    Messages : 573
    Points : 915
    Points
    915
    Par défaut
    et que dis tu des requêtes dans des champs cachés ou en paramètre dans l'url ?
    Développeur informatique contrarié...

  13. #13
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    Citation Envoyé par ABCIWEB
    Mais bon je garanti rien car pas facile de comprendre l'intérêt de l'exercice. Tu diras à ton prof de passer à mon bureau à la récré
    Tu vas te faire incendier.
    Il va surement évoquer l'art et la manière d'enseigner.
    Prof, c'est un métier, accorde lui au moins de savoir ce qu'il fait en demandant de faire un tel TP, non ?


    Apprendre à programmer ce n'est pas juste apprendre les bonnes pratiques, mais de savoir aussi les mauvaises, celles à éviter, voir même à proscrire.

    Si le prof se contente seulement de le dire ou l'expliquer, pas sûr du tout que les élèves comprennent tout convenablement.
    Donc une mise en pratique (un TP) vaut par moment bien mieux qu'un long discourt.

    Aux élèves donc de déduire tout ce qu'il y a déduire de cette méthode, entre autre la comparer avec les 2 autres techniques, de dresser les avantages et inconvénients par exemple.
    Ce se tient, non ?

    Enfin, je perçois ça ainsi, donc rien d'anormal qu'on demande à réaliser un tel TP.
    De plus, dire à Asprog tous les avantages et inconvénient de ce qui est demandé, c'est un peu couper l'herbe sous le pied du prof, soit que l'élève (Asprog) le fasse de lui même cette liste, et ça sans aide.
    Sans compter que si parmi les objectifs visés par ce TP amenait à faire quelques recherches, là encore on lui a fait perdre une bonne occasion de s'exercer à faire des recherche.
    Les TP sont en grande partie fait pour ça. Ca ne s'arrête pas à faire coder des élèves.


    En gros, si on fait le boulot à sa place, la mission est en partie ratée, voir complètement.



    Citation Envoyé par asprog
    Ainsi, en mettant en place une navigation de pages en pages par formulaire, et en passent les données relatives au caddie dans des champs de type hidden, il est possible d'avoir accès à tout moment au contenu du caddie de l'utilisateur
    Et bien justement, admettons que pour accéder à une page il ne soit pas possible de le faire via un formulaire mais un lien.

    Tu ferais comment pour conserver les données du panier une fois cliqué sur le lien ?
    (sans les session, cookies, ou autre bien sûr).

    Autre question comme ça.
    Est ce que dans cette formation l'étape du référencement (moteur de recherche) à été franchie ?
    Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
    Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]

  14. #14
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Citation Envoyé par vorace Voir le message
    et que dis tu des requêtes dans des champs cachés ou en paramètre dans l'url ?
    Ah pas mal, j'avais déjà vu des requêtes dans du JavaScript aussi

  15. #15
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Prof, c'est un métier, accorde lui au moins de savoir ce qu'il fait en demandant de faire un tel TP, non ?


    Apprendre à programmer ce n'est pas juste apprendre les bonnes pratiques, mais de savoir aussi les mauvaises, celles à éviter, voir même à proscrire.
    Sauf que trop souvent les prof ne sont pas à jour / pas au point sur le cours. C'est d'autant plus vrai en "web" qui évolue très rapidement.
    J'ai fait des études orienté web sur la fin de mon cursus et les cours html/js était d'un ridicule ... genre toutes les balises en majuscule et les événement en ligne. Me souviens encore de la tête de la prof quand je lui ai expliqué que IE6 (référence à l'époque) n'était absolument pas conforme au standard et que la moitié de ses cours / TP ne marchait pas dans la vraie vie
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  16. #16
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    Sauf que trop souvent les prof ne sont pas à jour / pas au point sur le cours. C'est d'autant plus vrai en "web" qui évolue très rapidement.
    Oui, d'accord.

    Mais on fait comment alors ?
    On lui dit qu'il perd son temps à faire ce TP, et même les autres ?
    Sous entendu que de toute manière quand il aura fini son cursus tout sera déjà obsolète.
    Pas très motivant comme réponse, non ?


    Je ne suis pas de cet avis de dresser un tableau noir ainsi, mais plutôt de voir ce qui est positif, le reste est un tout autre débat.

    Et en se qui concerne ce TP, je ne vois que des points positifs.
    -> il est demandé de coder, c'est donc de la pratique.
    -> il demande très certainement de faire quelques recherches. Savoir chercher fait partie de ce métier que je sache.
    -> Une fois le TP réalisé, il demande un certain sens critique sur la solution par rapport au besoin. Solution adaptée ou pas ? Et pourquoi ?


    Est-il si négatif ou absurde que ça de faire ce TP ?
    Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
    Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]

  17. #17
    Membre éprouvé Avatar de vorace
    Homme Profil pro
    Développeur
    Inscrit en
    Août 2010
    Messages
    573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Août 2010
    Messages : 573
    Points : 915
    Points
    915
    Par défaut
    ça revient à tracer un cercle avec une règle...!
    Développeur informatique contrarié...

  18. #18
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Est-il si négatif ou absurde que ça de faire ce TP ?
    Pas plus que de sautiller à cloche-pied pour se rendre compte que c'est plus efficace de marcher normalement. Sensibiliser les élèves aux problématiques du développement web et de la sécurité est une bonne chose, attendu qu'on leur explique les mécanismes sous-jacents.
    Dans le cadre de cet exercice, c'est une question de logique et de bon sens.

  19. #19
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    Je ne suis entouré que de profs, donc le combat est perdu d'avance.

    Je rend les armes.
    Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
    Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]

  20. #20
    Nouveau membre du Club
    Inscrit en
    Novembre 2008
    Messages
    90
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 90
    Points : 36
    Points
    36
    Par défaut
    Citation Envoyé par RunCodePhp Voir le message
    De plus, dire à Asprog tous les avantages et inconvénient de ce qui est demandé, c'est un peu couper l'herbe sous le pied du prof, soit que l'élève (Asprog) le fasse de lui même cette liste, et ça sans aide.
    Sans compter que si parmi les objectifs visés par ce TP amenait à faire quelques recherches, là encore on lui a fait perdre une bonne occasion de s'exercer à faire des recherche.
    Les TP sont en grande partie fait pour ça. Ca ne s'arrête pas à faire coder des élèves.
    Est ce que dans cette formation l'étape du référencement (moteur de recherche) à été franchie ?
    premièrement je dis merci à ABCIWEB de m'avoir aider à réaliser ce tp;j'ai vraiment fais des recherches sur google mais je trouve seulement des solutions avec les sessions et les cookies pour réaliser un caddie,les champs cachées reste toujours la solution jetable par tous le monde c'est pour cela que je me suis redirigée vers le forum de developpez.net merci en tous cas

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [C++] Pb avec les variable static dans les classe
    Par quantik-revolution dans le forum C++
    Réponses: 3
    Dernier message: 03/03/2006, 18h40
  2. Problèmes avec les variables et les unités
    Par christoufe dans le forum EDI
    Réponses: 2
    Dernier message: 22/01/2006, 16h22
  3. [Sécurité] bug avec les variables de session!
    Par ozzmax dans le forum Langage
    Réponses: 7
    Dernier message: 09/12/2005, 19h41
  4. Problèmes avec les variables final
    Par casolaro dans le forum Langage
    Réponses: 7
    Dernier message: 09/12/2004, 14h29
  5. Réponses: 6
    Dernier message: 28/05/2004, 09h39

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