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 :

attribut action dans un formulaire


Sujet :

Langage PHP

  1. #1
    En attente de confirmation mail
    Inscrit en
    Septembre 2009
    Messages
    269
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 269
    Points : 96
    Points
    96
    Par défaut attribut action dans un formulaire
    Bonjour,

    Je poursuis mon apprentissage du php avec Mysql, je ne sais pas si j'ai le droit de citer le livre que j'utilise seulement, il y est dit quelque chose de bizarre :
    la soumission de ce formulaire demande le même script que celui qui l'a produit, le script controleur index.php.
    le regarde cet index.php et je ne vois rien qui me permette de comprendre cette phrase, cela évoque-t'il une idée évidente à quelqu'un(e) ?

    Maintenant quelque chose de plus humain (apparament) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <form action = "?" method = post>
    .....
    .....
    </form>
    Il est dit dans le texte autour :

    Vous remarquez que l'attribut action n'est pas vide (" "), mais initialisée avec "?"
    L'URL utilisée pour afficher le formulaire utilisera une chaine de requête, action avec "?" la supprimera lors de la soumission
    Pouvez vous m'expliquer ça, s'il vous plait ?

    Je demande beaucoup, je sais,

    Merci beaucoup,

    Philippe

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 748
    Points : 1 022
    Points
    1 022
    Par défaut
    ca veux surement dire, que normalement, tout POST envoyé en dehors de "?" ne sera pas pris en compte ?

    chacun son truc, moi par exemple mon mot clé c'est AJAX , quand je fais de l'ajax, eux c'est "?" , wat else.....

  3. #3
    En attente de confirmation mail
    Inscrit en
    Septembre 2009
    Messages
    269
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 269
    Points : 96
    Points
    96
    Par défaut
    oui, mais c'est quoi "?" ?

  4. #4
    En attente de confirmation mail
    Inscrit en
    Septembre 2009
    Messages
    269
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 269
    Points : 96
    Points
    96
    Par défaut
    action a pour contenu une URL, une page php, s'il n'a rien, à quoi sert le formulaire ?

  5. #5
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 748
    Points : 1 022
    Points
    1 022
    Par défaut
    c'est la base de verification;

    si le post["submit"] != "?" => exit ( enti pirate )

    ou surement c'est plus complexe

    regle = add ,del
    symbole = ?

    si le post["submit"] != symbole et si aucun attribut ne corespond a regle => exit ( enti pirate )


    mais si tu fais un truc a ta toi, tu peux mettre ton symbole perso, par exemple remplacer ? par moncodeamoi

  6. #6
    Membre éprouvé Avatar de patrickbaras
    Homme Profil pro
    Informaticien (à sa mémère).
    Inscrit en
    Septembre 2010
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien (à sa mémère).
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 525
    Points : 1 103
    Points
    1 103
    Par défaut
    action est url (la page) vers laquelle le formulaire va être envoyé.
    si dans index.php tu a :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <form action="" method="post">
    ...
    <input type="submit">
    </form>
    si action est vide "" par defaut c'est la page elle-même
    donc si ton formulaire est dans index.php il envois les informations a ... index.php

    donc si tu tape dans l'adresse du navigateur tu vois ton formulaire si tu click sur submit tu vois la même page (logique)

    maintenant si tu tape
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    index.php?test=mavaleur&test2=masecondevaleur
    tu vois ton formulaire si tu click sur submit tu vois la même page et l'url contient toujours
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    index.php?test=mavaleur&test2=masecondevaleur
    (re-logique)

    si dans index.php tu a :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <form action="?" method="post">
    ...
    <input type="submit">
    </form>
    maintenant si tu tape
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    index.php?test=mavaleur&test2=masecondevaleur
    tu vois ton formulaire si tu click sur submit tu vois la même page et l'url contient toujours
    (le ? a effacé les valeurs d'originales)

  7. #7
    En attente de confirmation mail
    Inscrit en
    Septembre 2009
    Messages
    269
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 269
    Points : 96
    Points
    96
    Par défaut
    ascito dit :

    si le post["submit"] != "?" => exit ( enti pirate )
    mais si
    si post["submit"] == "?" => alors quoi ?

  8. #8
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 748
    Points : 1 022
    Points
    1 022
    Par défaut
    #patrickbaras >
    KE dall, tout est sur index.php, et se serait vraiment étrange qu'ils aient choisi le "?" pour faire une protection et aussi l'utiliser comme passage de variable par url.

  9. #9
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 748
    Points : 1 022
    Points
    1 022
    Par défaut
    Citation:
    ascito dit :

    si le post["submit"] != "?" => exit ( enti pirate )
    mais si
    Citation:
    si post["submit"] == "?" => alors quoi ?

    si le symbole est présent, la pour toi c'est "?" , et bien on continu, on traite le formulaire

  10. #10
    Membre éprouvé Avatar de patrickbaras
    Homme Profil pro
    Informaticien (à sa mémère).
    Inscrit en
    Septembre 2010
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien (à sa mémère).
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 525
    Points : 1 103
    Points
    1 103
    Par défaut
    Citation Envoyé par ascito Voir le message
    si le post["submit"] != "?" => exit ( enti pirate ) )
    dans le formulaire en question (methode post) je ne vois pas comment tu fait la liaisons entre action="?" et post["submit"] = "?"

    pour avoir un post["submit"] = "?"
    il te faut un champ (<input> ou autre) avec le nom "submit" qui a la valeur "?"

  11. #11
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 748
    Points : 1 022
    Points
    1 022
    Par défaut
    Bonjour,

    Je poursuis mon apprentissage du php avec Mysql, je ne sais pas si j'ai le droit de citer le livre que j'utilise seulement, il y est dit quelque chose de bizarre :
    Citation:
    la soumission de ce formulaire demande le même script que celui qui l'a produit, le script controleur index.php.
    le regarde cet index.php et je ne vois rien qui me permette de comprendre cette phrase, cela évoque-t'il une idée évidente à quelqu'un(e) ?

    Vous remarquez que l'attribut action n'est pas vide (" "), mais initialisée avec "?"
    L'URL utilisée pour afficher le formulaire utilisera une chaine de requête, action avec "?" la supprimera lors de la soumission


    alors , on a le même synopsis, ce serait dommage de pas avoir un fond commun..

  12. #12
    En attente de confirmation mail
    Inscrit en
    Septembre 2009
    Messages
    269
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 269
    Points : 96
    Points
    96
    Par défaut
    Voici le code exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <form action="?" method = "post">
     
    <div><input type = "submit" value="ajouter"/></div>

  13. #13
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 748
    Points : 1 022
    Points
    1 022
    Par défaut
    le "?", tu doit le remplacer par un truc a toi....

    style "?monid=unmotcle"

    ou

    carement
    "?/page/connexion/"
    "/page/connexion/"

    mais nous ne savons pas ton niveau.. ni ton tp, ni le boukin

  14. #14
    Membre éprouvé Avatar de patrickbaras
    Homme Profil pro
    Informaticien (à sa mémère).
    Inscrit en
    Septembre 2010
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien (à sa mémère).
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 525
    Points : 1 103
    Points
    1 103
    Par défaut
    démonstration:
    soit le fichier index2.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
    <?
    /* affiche l'url demandée */
    echo "<hr>".$_SERVER["REQUEST_URI"]."<br/>";
    /* affiche les valeurs recues par $_GET */
    echo "<hr>GET<hr>";
    foreach($_GET as $key => $val)
    {
    	echo "".$key."=>".$val."<br/>";
    	if(is_array($val))
    	{
    		echo var_dump($val);
    	}
    }
    /* affiche les valeurs recues par $_POST */
    echo "<hr>POST<hr>";
    foreach($_POST as $key => $val)
    {
    	echo "".$key."=>".$val."<br/>";
    	if(is_array($val))
    	{
    		echo var_dump($val);
    	}
    }
    echo "<hr>FORMULAIRE<hr>";
    ?>
    <form action='' method='post'>
    <input type='text' name='input_text_1' value='test1'><br/>
    <input type='text' name='input_text_2' value='test2'><br/>
    <input type='submit'>
    </form>
    form action=''
    on tape index2.php
    affichage:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    /developpez/multi-form2/index2.php
    GET
    POST
    FORMULAIRE
    on click sur le bouton
    affichage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    /developpez/multi-form2/index2.php
    GET
    POST
    input_text_1=>test1
    input_text_2=>test2
    FORMULAIRE
    on tape l'url index2.php?test1=mavaleur
    affichage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    /developpez/multi-form2/index2.php?test1=mavaleur
    GET
    test1=>mavaleur
    POST
    FORMULAIRE
    on click sur le bouton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    /developpez/multi-form2/index2.php?test1=mavaleur
    GET
    test1=>mavaleur
    POST
    input_text_1=>test1
    input_text_2=>test2
    FORMULAIRE
    on change action="?"
    on tape l'url index2.php?test1=mavaleur
    affichage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    /developpez/multi-form2/index2.php?test1=mavaleur
    GET
    test1=>mavaleur
    POST
    FORMULAIRE
    on click sur le bouton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    /developpez/multi-form2/index2.php?
    GET
    POST
    input_text_1=>test1
    input_text_2=>test2
    FORMULAIRE
    et désolé pas de trace de post["submit"]

  15. #15
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 748
    Points : 1 022
    Points
    1 022
    Par défaut
    et désolé pas de trace de post["submit"]
    ca c'est un langage, pas une preuve, ni une existence.. c'est une matière que tout le monde comprends.. post["submit"] == j'ai lancé une requête vers le serveur, et il a réceptionné un formulaire, et je sais que le formulaire a été envoyé par un bouton submit;;

    c'est clair

  16. #16
    Membre éprouvé Avatar de patrickbaras
    Homme Profil pro
    Informaticien (à sa mémère).
    Inscrit en
    Septembre 2010
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien (à sa mémère).
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 525
    Points : 1 103
    Points
    1 103
    Par défaut
    Citation Envoyé par ascito Voir le message
    ca c'est un langage, pas une preuve, ni une existence.. c'est une matière que tout le monde comprends.. post["submit"] == j'ai lancé une requête vers le serveur, et il a réceptionné un formulaire, et je sais que le formulaire a été envoyé par un bouton submit;;

    c'est clair
    oui expliqué comme ca c'est clair, suffit de le dire, pas de soucis.

  17. #17
    En attente de confirmation mail
    Inscrit en
    Septembre 2009
    Messages
    269
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 269
    Points : 96
    Points
    96
    Par défaut
    ascito a dit :

    le "?", tu doit le remplacer par un truc a toi....

    style "?monid=unmotcle"

    ou

    carement
    "?/page/connexion/"
    "/page/connexion/"

    mais nous ne savons pas ton niveau.. ni ton tp, ni le boukin
    Je suis très soucieux de ne pas déroger aux règles : ais-je le droit de citer un livre et son auteur ?
    mon niveau est celui du forum, moi, je débute
    votre discussion me dépasse sur le niveau,

    ce que je crois avoir compris c'est dans une réponse de patrickbarras : le "?" masque la requête dans la barre d'adresse, mais en même temps, je ne vois pas comment il reconnait le destinataire du form, qui est bien le script lui-même, mais comme action n'a plus une valeur vide, comment le sait-il ?

  18. #18
    Membre éprouvé Avatar de patrickbaras
    Homme Profil pro
    Informaticien (à sa mémère).
    Inscrit en
    Septembre 2010
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien (à sa mémère).
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 525
    Points : 1 103
    Points
    1 103
    Par défaut
    Citation Envoyé par philippe6 Voir le message
    mais comme action n'a plus une valeur vide, comment le sait-il ?
    parce que c'est ""+? donc "" => la page elle même + ? => index2.php?

  19. #19
    Membre éprouvé Avatar de patrickbaras
    Homme Profil pro
    Informaticien (à sa mémère).
    Inscrit en
    Septembre 2010
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien (à sa mémère).
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 525
    Points : 1 103
    Points
    1 103
    Par défaut
    dans le même ordre d'idée tu peux passer a la fois des informations par POST et GET
    <form action="?mavariableGet=xyz" method="POST">
    ....
    </form>
    si tu reprend le code d'exemple avec action="?mavariableGet=xyz"
    tu obtient
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    /developpez/multi-form2/index2.php?mavariableGet=xyz
    GET
    mavariableGet=>xyz
    POST
    input_text_1=>test1
    input_text_2=>test2
    la valeur aprés le ? à été passé en GET mais le reste du formulaire en POST

  20. #20
    En attente de confirmation mail
    Inscrit en
    Septembre 2009
    Messages
    269
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 269
    Points : 96
    Points
    96
    Par défaut
    patrickbarras dit :

    dans le même ordre d'idée tu peux passer a la fois des informations par POST et GET
    <form action="?mavariableGet=xyz" method="POST">
    ....
    </form>
    si tu reprend le code d'exemple avec action="?mavariableGet=xyz"
    tu obtient

    Code :Sélectionner tout - Visualiser dans une fenêtre à part123456 /developpez/multi-form2/index2.php?mavariableGet=xyz
    GET
    mavariableGet=>xyz
    POST
    input_text_1=>test1
    input_text_2=>test2 la valeur aprés le ? à été passé en GET mais le reste du formulaire en POST
    Je donne à "?" le role des parentheses qui contiennent les paramètres d'une fonctions, si les parenthèses ne contienent pas de paramètres ici c'est comme si tu donnais à "?" le rôle d'un pointeur comme en langage C qui pointerais sur "" (le script lui-même)

    « Nous ne pouvons pas prédire où nous conduira la Révolution Informatique. Tout ce que nous savons avec certitude, c’est que, quand on y sera enfin, on n’aura pas assez de RAM. »
    Aurais-je un tera de RAM et les petites données seraient-elles intimidées à se cacher comme elle le font ?

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

Discussions similaires

  1. [W3C] Ajout des paramètres dans l'attribut action d'un formulaire
    Par anaranjado dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 15/04/2010, 13h24
  2. [Form] deux actions dans un formulaire ?
    Par FraK dans le forum Balisage (X)HTML et validation W3C
    Réponses: 21
    Dernier message: 16/07/2007, 15h11
  3. Deux actions dans un formulaire ?
    Par Timalounet dans le forum Langage
    Réponses: 1
    Dernier message: 03/04/2007, 18h16
  4. l'attribut ACTION dans la balise FORM
    Par coco-sup dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 23/02/2007, 12h02
  5. Récupérer l'attribut action d'un formulaire
    Par boubouh dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 04/02/2006, 15h19

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