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 :

[PHP-JS] input & a href pour le passage de paramètres


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 95
    Points : 60
    Points
    60
    Par défaut [PHP-JS] input & a href pour le passage de paramètres
    Bonjour à tous et toutes,

    voilà habituellement j'emploie pour mes action, menus et redirection des boutons de type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type='submit' value = 'Afficher votre caddie'>
    j'aimerais pouvoir les remplacer par des images du type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href='affiche_panier.php'><img src='../img_cetoine/afficher_caddie.gif'>
    le problème c'est que lorsqu'il s'agit d'un menu tout simple pas de tracas. Mais si un traitement doit-être effectué là les ennuis arrivent car le traitement ne ce fait pas.
    Exemple mon truc habituel tout marche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    echo "<table align='center' width='50%' bordercolor=#FFCC66 bgcolor=#FFFFCC border='1' cellspacing='2' cellpadding='10'>";
    echo "<form action='' method='post'>";
    echo "<tr><td colspan='1' style='text-align: center'>
    	  <p align='center'>
    	  <input type='submit' value = 'Ajouter au caddie'>";
    echo "</td></form>";
     
    echo "<form action='affiche_panier.php' method='post'>";
    echo "<td colspan='1' style='text-align: center'>
             <p align='center'>
             <input type='submit' value = 'Afficher votre caddie'>";
    echo "</td></tr></form>";			 
    echo '</table>';
    Mon nouveau truc le second affiche panier marche mais le 1er marche pas:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    echo "<table align='center' width='50%' bordercolor=#FFCC66 bgcolor=#FFFFCC border='1' cellspacing='2' cellpadding='10'>";
    echo "<tr><td colspan='1' style='text-align: center'><p align='center'><a href='saisie_commande_insectes.php'><img src='../img_cetoine/ajouter_caddie.gif'></a></td></form>";
    echo "<td colspan='1' style='text-align: center'><p align='center'><a href='affiche_panier.php'><img src='../img_cetoine/afficher_caddie.gif'></a></td></tr>";			 
    echo '</table>';
    Il faut savoir que le fichier dans lequel je me trouve s'appelle saisie_commande_insectes.php


    Voilà merci

  2. #2
    Membre averti Avatar de alceste
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    318
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2006
    Messages : 318
    Points : 356
    Points
    356
    Par défaut
    si tu utilises la variable $_POST dans le script que tu appel, ça ne fonctionnera jamais avec le deuxième cas, c'est une requête GET que tu fais au niveau du serveur HTTP et non une requête POST, il te faut utiliser un formulaire pour que ton navigateur envoie une telle requête, c'est pour ça que ton premier cas fonctionne, si toutefois tu te sers de cette variable.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 95
    Points : 60
    Points
    60
    Par défaut
    OK je vais garder mes boutons <input type... tout moche

    merci à toi

  4. #4
    Membre averti Avatar de alceste
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    318
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2006
    Messages : 318
    Points : 356
    Points
    356
    Par défaut
    rien ne t'empêche d'utiliser la méthode $_GET en appelant l'url

    exemple d'appel: http://url/fichier.php?x=2&y=3

    dans ta variable $_GET tu auras deux clé, x et y avec pour valeur respectives 2 et 3 ça fonctionne comme POST mais le passage se fait par l'url

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 95
    Points : 60
    Points
    60
    Par défaut
    Bonjour Alceste,

    Désolé mais je n'ai pas compris ce que tu me proposais de faire. Dans l'exemple que j'ai pris, j'ai des quantités que je doit sauvegarder. Donc pour moi (simple débutant) la méthode pour envoyer des données c'est le post qui fait çà. Toujours pour moi effectivement le get est fait pour envoyer dans une URL des paramètres. Or non seulement je veux pouvoir récupérer mes quantités mais le bouton au lieu qu'il soit standard et issu d'1 formulaire post soit remplacé par une image.
    Si j'ai bien compris tu me proposes de passer une URL avec des paramètres. Je ne vois vraiement pas où cela va me mener. Mais je pense que j'ai pas compris tes explications

  6. #6
    Membre actif
    Inscrit en
    Février 2006
    Messages
    522
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 522
    Points : 282
    Points
    282
    Par défaut
    Si j'ai bien compris Alceste, tu passes en méthode get pour le formulaire

    Donc dc ta nouvelle page, tu ferais plutot $_GET["nom_de_ta_variable"] à la place de $_POST.

    En gros, si ds une URL tu as : http://www.toto.com/index.php?val1=1&val2=2 tu peux récupérer les valeur de val1 et val2 avec $_GET['val1'] et $_GET['val2']

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 95
    Points : 60
    Points
    60
    Par défaut
    Oui ok çà je le sais. Mais qu'est ce que çà à avoir avec une image en remplacement d'un bouton de formulaire?
    Moi je veux bien remplacer tout mes POST par des GET avec passage de paramètres mais çà change quoi? C'est çà que je vois pas.

  8. #8
    Membre actif
    Inscrit en
    Février 2006
    Messages
    522
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 522
    Points : 282
    Points
    282
    Par défaut
    Faudrait quelqu'un de plus calé que moi sur les Post et les get ^^
    Mais on va dire que c'est relativement logique pour moi. Pour créer ton bouton image, tu fais un lien HTML donc tu fais une requete HTTP vers une autre page de ton site. Si tu arrives directement sur une nouvelle page, t'as pas de variable Post qui existe ca me semble normal... Par contre si tu arrives dans une nouvelle page et que tu as des paramètres dans l'url alors oui tu peux récupérer les valeurs.


    Si tu changes de méthode pour le formulaire en commencant par <form method = "get"...>, il me semble qu'en cliquant sur le bouton image, l'url qui sera créée contiendra les valeur de ton formulaire et donc tu pourras récupérer tes valeurs. C'est comme si tu faisais un lien avec mapage.php?val1=1 en cliquant sur ton image

    La méthode POST est utilisée pour transmettre des données via un formulaire et passer en "caché" (via une deuxième requête HTTP, après la première qui demande la page html/php), on ne voit pas les données des variables explicitement. Contrairement à POST, la méthode GET passe les variables via l'url (en une seule requête HTTP), les données sont donc "visible" dans l'adresse de la page.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 95
    Points : 60
    Points
    60
    Par défaut
    ok je me lance je verrai bien ce que çà donne. J evous tiendrais au courrant

    merci

  10. #10
    Membre averti Avatar de alceste
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    318
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2006
    Messages : 318
    Points : 356
    Points
    356
    Par défaut
    Citation Envoyé par pat06 Voir le message
    Oui ok çà je le sais. Mais qu'est ce que çà à avoir avec une image en remplacement d'un bouton de formulaire?
    Moi je veux bien remplacer tout mes POST par des GET avec passage de paramètres mais çà change quoi? C'est çà que je vois pas.
    parce qu'une image n'est pas un élément d'un formulaire, donc ne se retrouve pas dans la variable POST (si toutefois tu utilises la méthode POST pour ton formulaire et non GET, bref le résultat est le même).. si tu veux soumettre le formulaire en cliquant sur une image il te faudra utiliser javascript, pour appeler la méthode submit() du formulaire, ou sinon modifier l'aspect du bouton avec css et y mettre une image, là plus besoin de javascript.

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 95
    Points : 60
    Points
    60
    Par défaut
    Merci Alceste mais je ne maîtrise pas du tout javascript je n'y ai presque jamais touché. Je vais voir du côté des css mais je ne pense pas avoir une assez grande maîtrise pour pouvoir approcher mes "boutons image" actuels.
    Sinon crois-tu que le travail à faire en JS soit important pour aboutir à "appeler la méthode submit() du formulaire"?

  12. #12
    Membre averti Avatar de alceste
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    318
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2006
    Messages : 318
    Points : 356
    Points
    356

  13. #13
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 012
    Points : 1 093
    Points
    1 093
    Par défaut
    J'ai pas tout lu parce que je suis paresseux et fatigué
    Mais si tu veux une image au lieu d'un bouton, ci-dessous un exemple de code que j'utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="image" name="2000" src="album/200000.jpg" alt="galerie" title="galerie" width="64" height="48" tabindex="99">

Discussions similaires

  1. Garder l'URL d'une page pour le passage en paramètres
    Par ForgetTheNorm dans le forum Langage
    Réponses: 3
    Dernier message: 28/10/2011, 08h12
  2. Tickbox et passage de paramètres dans href pour PHP
    Par sxmcrow dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 17/02/2010, 14h07
  3. Comment faire pour le passage des paramètres
    Par dauphin34000 dans le forum Oracle
    Réponses: 14
    Dernier message: 25/04/2006, 14h18
  4. Réponses: 8
    Dernier message: 19/10/2005, 15h06
  5. [Php/MySql/Tpl]Methode ou Demarche pour créer WebSite
    Par Funraill.net dans le forum Langage
    Réponses: 8
    Dernier message: 14/10/2005, 12h46

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