Formulaire PHP

fLEXIJUJU -  
 kalamit -
Bonjour à tous, merci pour vos réponse de la derniere fois qui m'ont permis de bien avancer.
J'ai encore un probleme pour récuperer le contenu d'un champ HTML en PHP.

ya une erreure : "variable indéfinie " dans le code suivant :

<?php if($mon_champ) { ?>

Votre champ contenait :

<b><?php echo $mon_champ; ?></b>

<br><br>
<?php } ?>

<form method="POST">
<input name="mon_champ">
<input type="submit" value="OK">
</form>

Tout est dans la meme page, est ce corect ? ou est ma faute ? que dois-je faire ?

est ce important de mettre .php ou .php3 Ya une différence ?
merci

16 réponses

  1. Alain
     
    
    <?php if($mon_champ) {
    echo " Votre champ contenait : <b> $mon_champ</b>";
    } ?>  
    
    <br><br> 
    
    <form method="POST"> 
    <input name="mon_champ"> 
    <input type="submit" value="OK"> 
    </form> 
    
    
    0
  2. Alain
     
    voici une autre version qui marche aussi, mais faire attention aux accolades

    
    <?php if($mon_champ) {} ?> 
    
    
    Votre champ contenait : 
    
    <b><?php echo $mon_champ; ?></b> 
    
    <br><br> 
    
    
    <form method="POST"> 
    <input name="mon_champ"> 
    <input type="submit" value="OK"> 
    </form> 
    
    0
  3. flexijuju
     
    Merci de ta réponse, je viens de faire un copier/coller de ton texte et j'ai encore la meme erreur :

    Variable indéfinie a cette ligne : <?php if($mon_champ) {

    Que faire ? il y a des choses a rajouter ?
    Le programme ne connait pas la variable mon_champ...

    Je viens de voir ta deuxieme réponse, je teste et je te dis
    merci
    0
  4. flexijuju
     
    Toujours la meme probleme, je pense qu'il doit y avoir un probleme.

    Le code que tu me donne, je dois juste le mettre entre les balises <body> ? c'est ca ?

    et je dois enregistrer mon code en .php ?

    il doit y avoir un truc qui ne va pas, mais je ne sais pas koi

    le programme ne reconnait pas la variable mon_champ
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. floopy Messages postés 124 Statut Membre 9
     
    essaye ça
    <?php
    $mon_champ=$POST['mon_champ'];
     if($mon_champ) {
    echo " Votre champ contenait : <b> $mon_champ</b>";
    } ?>  <br><br> <form method="POST"> <input name="mon_champ"> <input type="submit" value="OK"> </form> 


    sous easyphp 1.7 , il faut définir avec $_POST ou $_GET ( selon la
    method 
    du form )
    0
  7. Alain
     
    Sur ma machine ca marche bien

    selon la config d'apache sauvegarer le fichier en .php ou .php3 mais le plus souvent par default c'est .php

    le test est effectué avec easyphp 1.6
    0
  8. Alain
     
    Sur ma machine ca marche bien

    selon la config d'apache sauvegarer le fichier en .php ou .php3 mais le plus souvent par default c'est .php

    le test est effectué avec easyphp 1.6
    0
  9. flexijuju
     
    Merci pour vos conseils, ca marche presque à l'exeption d'un détail.
    J'ai bien défini le $_post mais j'ai encore une phrase au début qui me dit : "Notice : Undefined index mon_champ sur la ligne : $mon_champ=$_post['mon_champ'];

    J'ai donc un message d'erreur mais sinon le script fonctionne bien, mais c'est tout de meme pas trés trés propre ce message d'erreur, vous savez comment faire en sorte qu'il disparaisse ?
    merci de vos reponses.
    a bientot
    Julien
    0
  10. flexijuju
     
    Bonjour est ce que kkun sait me dire comment afficher un texte sur le navigateur en PHP (fonction echo) simplement aprés que l'utilistateur est cliqué sur un bouton "ok" et pas au chargement de la page......

    Autre probleme :

    Avec la ligne <? echo $_post['nom']; j'ai une erreur du type Notice : indefined index nom
    je ne sais pas comment l'enlever.
    J'utilise easy PHP 1.7

    Merci de votre aide.
    0
  11. kalamit
     
    Salut,

    Tu es situé dans la meme page ? Si c'est le cas, ce n'est pas possible puisque le php est executé avant l'envoi de la page au navigateur. Il te faudrait du javascript pour faire ca... :/

    Dans le cas ou tu es sur ta page de validation, <? echo $_POST['nom']; ?> est censé fonctionné. (Il faut bien respecté minuscules/majuscules)

    Kalamit,
    Parle à ma culasse, mon carter est malade. :)
    0
  12. Seb31 Messages postés 24 Statut Membre 6
     
    Il est possible d'afficher un message après la validation du formulaire. Pour ça, il te suffit de tester la valeur de bouton, du genre
    if  ($_post['BA_OK'] == "OK") {echo ...}
    avec
    <input type="submit" name="BA_OK" value="OK">

    ça va meme enlever ton erreur si ton echo se trouvait ds ce bout de code...

    Seb
    Ne pas avoir de but est aussi un but. 
    0
  13. flexijuju
     
    Merci pour ta réponse, j'ai fait deux pages et ca marche trés bien, mais j'ai encore un petit probleme.

    j'arrive trés bien a afficher les données de la page précedentes et je voudrais logigiquement les insérer dans une requette SQL mais la ca ne marche plus.

    Voici mon code :

    <?
    echo "Nom : ";
    echo $_POST['nom'];
    ?>
    <br>

    <?

    $req='INSERT INTO `article` ( `Numero` , `Nom` , `Prix` , `Categorie` ) '
    . ' VALUES ( \'6\', \'TEST\', \'TEST\', \'TEST\' );'
    . ' ';

    $result=mysql_query ($req);
    ?>

    Je voudrais pouvoir rajouter a la place de TEST la valeur du champ de la page précedente (donc $_POST['nom']) mais ca ne marche pas, est ce que c'est un probleme de syntaxe ?

    ceci est ce correct ?

    $req='INSERT INTO `article` ( `Numero` , `Nom` , `Prix` , `Categorie` ) '
    . ' VALUES ( \'6\', \'$_POST['nom']\', \'TEST\', \'TEST\' );'
    . ' ';

    En tout cas ca ne marche pas.
    Merci pour ta réponse

    Julien
    0
  14. Seb31 Messages postés 24 Statut Membre 6
     
    Essaye plutot:
    $req = "INSERT INTO article (numero, nom, prix, categorie) VALUES ('6', '".$_POST['nom']."', 'TEST', 'TEST')";

    ça marchera mieux

    Seb
    Ne pas avoir de but est aussi un but. 
    0
  15. flexijuju
     
    Merci pour ta réponse, le sql marche trés trés bien.
    Je suis trés content, ce forum c'est vraiment trop génial.
    j'ai encore quelques petits soucis.

    Je voudrais creéer une liste déroulante qui affiche tous les articles présents dans ma base.

    est ce que je dois utiliser le code suivant ?

    <? while ($row = mysql_fetch_row($result))
    {

    $nom=$row[1];

    ?>
    <select name="liste" size =3>
    <option value ="$nom">
    </select>

    <?
    }
    ?>

    Enfin ca ne marche pas, je pense que je dois ouvrir et fermer PHP mais je ne sais pas ou, vous pouvez m'aider ?

    Résumé : afficher une liste avec tous les articles de ma base de donéees qui sont dans $nom

    Merci a tous
    0
  16. ali
     
    salut tout le monde
    je suis debutant de php.
    j'ai essaye le programme pour le formulaire avec easyphp1.7 et avec extension php3 mais il reconnait pas les variables transmises par le formulaire et je sais pas comment je pourrais faire .
    merci
    0
    1. Flexijuju
       
      deux choses à faire.

      1) dans la page ou tu as tes formulaires tu dois nommer chaque champ.

      2) En haut de la page qui recoit les variable (aprés validation), tu dois ecrire la ligne de code

      $nouveau_nom=$_POST['nom_champ'];

      Tu dois mettre une ligne comme celle ci pour chaque champ de ton formulaire.

      Vérifie bien dans ta premiere page que tu utilise bien la méthode post pour envoyer ton formulaire.

      Hésite pas à me dire si ca marche pas.
      0
      1. Jayce > Flexijuju
         
        J'ai egalemnt le meme probleme et donc j'ai chercher chercher et j'ai trouver ta solution et ca ne marche pas pourtant il n'y pas d'erreur dans la code.
        J'ai pas d'erreur sur ma page mais tout mes champs sont vide... je sais pas koi faire

        <input type="text" name="NOM"> sur ma page de formulaire
        $name=$_POST['NOM']; sur ma page de reponse

        et kan je fait : echo"$name"; rien, nada

        merci de votre aide
        0
      2. kalamit > Jayce
         
        Mets l'integralité de tes sources, la page du formulaire et la page de traitement, stp.

        Kalamit,
        14 jours avant le soleil, la mer et les mouettes. :)
        0
  17. ali
     
    en fait ca marche
    bien joue et merci bcp c tres sympa.
    0