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 :

Récupération des données du formulaire


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    371
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 371
    Points : 45
    Points
    45
    Par défaut Récupération des données du formulaire
    Bonjour tout le monde;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <form action="test4.php" method="POST">
    NOM: <input type="text" name="editbox" />
    <input type="submit" name="send" value="submit" />
    </form>
     
    <?php
     
      if(isset($_POST['send']))
    {
    echo $_POST["editbox"]; 
    }
    ?>
    j'ai cherché partout ça marche comme ça, mais quand je teste j'obtiens cette erreur:
    ( ! ) Notice: Undefined index: editbox in C:\wamp\www\test3.php on line 10
    Call Stack
    # Time Memory Function Location
    1 0.0005 672024 {main}( ) ..\test3.php:0
    cela dit que la condition ne marche pas, et le nom editbox n'est pas reconnu !!!

    que dois je faire, merci d'avance

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    C'est un peu normal...

    Dans ton script PHP (c'est-à-dire côté serveur, avant qu'il n'ai été envoyé au navigateur), tu demandes l'affichage du formulaire puis de traiter les données de celui-ci. Sauf qu'à priori, l'utilisateur n'a pas vraiment eu le temps de voir le formulaire, donc en particulier, ni de le remplir, ni de le soumettre.
    Il est donc logique que les données associées au formulaire ne soient pas disponibles avant qu'elles n'aient été renseignées.

    C'est dans le script correspondant à la valeur de l'attribut action du formulaire qu'il faut traiter les données reçues.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    en fait la syntaxe semble correcte pour un formulaire et traitement sur la meme page (test4.php).

    Question : as-tu un AUTRE formulaire avec un input «send» ?

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Undefined index: editbox in C:\wamp\www\test3.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form action="test4.php" method="POST">
    Donc non, ce n'est pas la même page.

    Ensuite, si on se fie au nom du champ (editbox), on peut raisonnablement considérer qu'il s'agit d'un champ d'édition de valeur existante, de là à considérer qu'il a fallu valider un formulaire sur la page précédente pour indiquer le champ à éditer et que ce formulaire soit soumit via un bouton nommé send, ça donne une explication plausible de l'erreur.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bien vu, Bovino !
    J'ai arrété de lire à
    ...Undefined index: editbox
    Je n'étais pas encore bien réveillé !

    Cela dit, j'étais sur la bonne piste avec mon histoire d'"AUTRE formulaire"...

  6. #6
    Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    371
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 371
    Points : 45
    Points
    45
    Par défaut
    merci pour tout mais que dois-je faire dans mon code ?

  7. #7
    Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    371
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 371
    Points : 45
    Points
    45
    Par défaut
    Citation Envoyé par Bovino Voir le message
    C'est un peu normal...

    Dans ton script PHP (c'est-à-dire côté serveur, avant qu'il n'ai été envoyé au navigateur), tu demandes l'affichage du formulaire puis de traiter les données de celui-ci. Sauf qu'à priori, l'utilisateur n'a pas vraiment eu le temps de voir le formulaire, donc en particulier, ni de le remplir, ni de le soumettre.
    Il est donc logique que les données associées au formulaire ne soient pas disponibles avant qu'elles n'aient été renseignées.

    C'est dans le script correspondant à la valeur de l'attribut action du formulaire qu'il faut traiter les données reçues.
    oui mais j'ai defini une condition pour que le script ne s’exécute que quand je valide par l'appui sur le bouton send mais là ça ne marche pas :/

  8. #8
    Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    371
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 371
    Points : 45
    Points
    45
    Par défaut
    j'ai enleve action et ça marche --' alors que je veux bosser avec les sessions bref voici mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php session_start(); ?><form action="test4.php" method="POST">
    NOM: <input type="text" name="editbox" />
    <input type="submit" name="send" value="submit" />
    </form>
     
    <?php
     
      if(isset($_POST['send']))
    {
    $_SESSION['mynom'] = $_POST["editbox"]; 
    }
    ?>
    et dans ma 2eme page:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    session_start();
    echo $_SESSION['mynom'];
    ?>
    mais ça ne marche pas, soit il me donne cette erreur, soit il me donne l'ancien valeur

    ( ! ) Notice: Undefined index: mynom in C:\wamp\www\test4.php on line 3
    Call Stack
    # Time Memory Function Location
    1 0.0004 671624 {main}( ) ..\test4.php:0

  9. #9
    Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    371
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 371
    Points : 45
    Points
    45
    Par défaut
    j'ai fait beaucoup des testes, mes requets sont juste le probleme c'est ma condition:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if(isset($_POST['send']))
    {
    $_SESSION['mynom'] = 53;
    }
    else
    {
    $_SESSION['mynom'] = 55;
    }
    j'ai fait donc directement pour voir la valeur que j'ai fait entré dans Input mais je recoi le message
    d'erreur Notice: Undefined index: send
    pourquoi il passe toujours par else (valeur 55) !? meme si je remplie <input> il passe par else le problème c'est ici isset($_POST['send']) mais je ne sais pas quoi faire pour le résoudre help please

  10. #10
    Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    371
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 371
    Points : 45
    Points
    45
    Par défaut
    oook $_POST marche dans une autre page (test4.php dans mon cas) mais comment récupérer une valeur input afin de pouvoir faire des conditions hmmm

  11. #11
    Nouveau Candidat au Club
    Homme Profil pro
    apprentit développeur web
    Inscrit en
    Février 2014
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : apprentit développeur web

    Informations forums :
    Inscription : Février 2014
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Salut,

    en même temps si tu essai d'avoir la valeur du bouton de type submit... ça donnera ceci :

    submit
    Soit ce qu'il y a dans l'attribut value.

  12. #12
    Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    371
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 371
    Points : 45
    Points
    45
    Par défaut
    pour les curieux j'ai trouvé comment récupérer la valeur depuis une source Captcha il faut ajouter @ donc ca devient
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo @$_POST['variable'];

  13. #13
    Invité
    Invité(e)
    Par défaut
    Non.
    l'arobase (@) ne sert ici qu'à MASQUER le message d'alerte en cas d'erreur !

    Il faut un VRAI test !

  14. #14
    Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    371
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 371
    Points : 45
    Points
    45
    Par défaut
    et beiin j'ai fait ça et un jolie message UNDEFINED ce voit par contre si je met echo @$_POSTE[]... elle m'envoi la valeur essaye et dis moi ^^

  15. #15
    Invité
    Invité(e)
    Par défaut
    Le traitement d'un formulaire s'egfectue dans le fichier défini par l'attribut action=... de la balise <form>.

    Donc ici dans test4.php et pas ailleurs.

    C'est clair ?

  16. #16
    Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    371
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 371
    Points : 45
    Points
    45
    Par défaut
    oui frere, j'ai pigé après mes essayes que le traitement POST se fait dans une autre page web mais je re et dire que pour afficher la valeur il faut ajouter @en tous cas merci beaucoup

  17. #17
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    pour afficher la valeur il faut ajouter @
    Quoi ?

    Ca n'a rien à voir !
    Le signe @ permet juste d'éviter d'afficher les erreurs ! C'est en tout cas la pire des techniques pour faire croire que le code fonctionne.
    La meilleure des technique restant toujours de corriger les erreurs de code au lieu de les masquer...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 16/01/2015, 15h33
  2. Réponses: 4
    Dernier message: 14/04/2014, 23h29
  3. Récupération des données du formulaire.
    Par rey55 dans le forum Langage
    Réponses: 10
    Dernier message: 22/05/2013, 13h49
  4. Récupération des données de formulaire dans une page JSP
    Par fauthie dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 16/09/2009, 14h02
  5. Réponses: 3
    Dernier message: 26/09/2008, 13h10

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