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.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  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