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 :

Générer par code un formulaire qui se passera les données lui-même


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 36
    Points : 17
    Points
    17
    Par défaut Générer par code un formulaire qui se passera les données lui-même
    Bonsoir,
    l'intitul est un peu long mais résume mon problème.
    Je veux générer par code un formulaire qui s'appellera lui-même avec submit.
    Je dois donc avoir à la sortie une ligne du type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form action='  <?php echo $SERVER['PHP_SELF'];?>  ' method='POST'>
    Mais je n'arrive pas à trouver la bonne manière d'écrie cette ligne pour qu'elle soit générée, du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<form action='  <?php echo $SERVER[\"PHP_SELF\"];?>  ' method='POST'>";
    Mais là j'ai une erreur :You are not authorized to view this page <?php%20echo%20$SERVER["PHP_SELF"];?>

    Vous voyez un peu le mic-mac?

  2. #2
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Bonsoir,

    Soit tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    echo '<form method="post" action="'.$_SERVER['PHP_SELF'].'">
        <input type="text" name="nom" value="Votre nom" />
    </forrm>';
    Soit tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
        <input type="text" name="nom" value="Votre nom" />
    </forrm>
    À bientôt,

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 36
    Points : 17
    Points
    17
    Par défaut
    Merci de ton aide, mais ça ne va pas...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?php 
    echo($_SERVER['PHP_SELF'])?>
    me renvoit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     C:\wamp\www\PhilCarron_PHP_Prj\test.phpC:\wamp\www\PhilCarron_PHP_Prj\test.php
    c'est à dire le bon nom de script mais doublé...
    Bizarre...
    J'obtiens le bon chemin en mettant $_SERVER['SCRIPT_NAME ']
    Mais je n'arrive pas à faire en sorte que le script se rappelle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    echo ($_POST["choix"]);
    if (!isset($_POST["choix"]) or ($_POST["choix"]=="Boucler")){
    	echo '<form action="'.$_SERVER['SCRIPT_NAME'].'" method="POST">
    <input class="boutonsSubmit" type="submit" name="choix" value="Boucler">
    <input class="boutonsSubmit" type="submit" name="choix" value="Quitter">';
    }
    else
    	echo "on quitte";
    ?>
    J'ai bien les deux boutons au départ mais quel que soit mon choix il boucle tout le temps alors qu'avec "Quitter" je devrais voir affiché "on quitte" et basta, non?

  4. #4
    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
    Tu peux aussi faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<form method="post" action="">';
    La difference par rapport a PHP_SELF c'est que cette syntaxe renvoi vers l'URL complète, en particulier avec les variables qu'elle pourrait contenir, ce qui peut etre utile, ou génant.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 36
    Points : 17
    Points
    17
    Par défaut
    ça fonctionne! Avec action="'.$_SERVER['SCRIPT_NAME'].'" comme avec action= ""
    Je pense que j'ai eu un soucis avec eclipse. En testant directement ds firefox c'est tout bon.
    Merci pour les tuyaux!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 13/05/2015, 12h05
  2. Générer (en code JAVA) la méthode equals dans les classes bindées par JAXB2
    Par greatmaster1971 dans le forum Format d'échange (XML, JSON...)
    Réponses: 0
    Dernier message: 11/12/2013, 16h55
  3. [AJAX] N'importe qui peut voir les données de mon fichier XML
    Par KoosMos dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 30/11/2007, 11h48
  4. Formulaire: permettre de corriger les données
    Par Dino501 dans le forum ASP
    Réponses: 5
    Dernier message: 22/02/2006, 17h36
  5. Formulaire qui contient tous les champs d'une table
    Par cakeby dans le forum Access
    Réponses: 2
    Dernier message: 09/01/2006, 09h22

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