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

PHP & Base de données Discussion :

Formulaire en php [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 8
    Points : 6
    Points
    6
    Par défaut Formulaire en php
    Bonjour, voici un petit code de formulaire
    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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
        <head>
            <title>Exercice 3</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    		 </head>
        <body>
    <form method="get" action="calcule.php" enctype="multipart/form-data">
    <input type="hidden" name="prix"/><br>
    <input type="hidden" name="quantité"/>
    <input type="submit" value="OK"/>
    </form>
     
     
     
        </body>
    </html>
    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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
        <head>
            <title>Exercice 2</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    		 </head>
        <body>
    <?php
     
    $p = $_POST.['prix'];
    $q = $_POST.['quantité'];
    $ht = $p * $q;
     
    function toutetaxe($ht, $t)
    {
       $ttc = $ht * $t ;
       return $ttc ;
    } 
    $ttc = toutetaxe($ht, 1.196);
     
    echo("Le montant hors taxe est $ht").'<br />'; 
    echo("Le montant TTC est ");
    echo ROUND($ttc,2);
     
    ?>
     
        </body>
    </html>
    Quand je Valide le formulaire sa m'affiche ceci

    Notice: Undefined index: prix in C:\Program Files\wamp\www\TD php\calcule.php on line 10

    Notice: Undefined index: quantité in C:\Program Files\wamp\www\TD php\calcule.php on line 11

    Peut-ton m'aider

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 28
    Points : 31
    Points
    31
    Par défaut
    Tu n'as pas mis de VALUE dans tes variables HIDDEN donc elles ne remontent pas forcement dans le POST. Ensuite pourquoi avoir mis un "." entre $_POST et le "[" ?

  3. #3
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Pour la type de variable je me suis trompé. Enfaite je veux saisir des chiffres. Quelle est le nom de la variable pour les chiffres? pour le "." c'est un erreur. Et pour le "[" pourquoi ne faut-il pas le mettre????

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 56
    Points : 47
    Points
    47
    Par défaut
    Bonjour,

    Ton code comporte quelques erreurs :

    - Concernant la partie html :

    Un input minimum se compose de la façon suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="type_quelconque" name="nom_quelconque" value="valeur_quelconque" />
    L'attribut type peut contenir différentes valeurs comme text (champs de caractères, quels qu'ils soient), submit (bouton d'envoi du formulaire), reset (bouton de réinitialisation du formulaire), button (bouton générique), password (champs de type mot de passe, les caractères sont masqués) ou encore hidden (le champs est caché).

    Cette liste n'est bien entendu pas exhaustive .

    L'attribut name contient un nom quelconque.

    L'attribut value contient la valeur du champs ce champs peut être initialisé à une valeur quelconque ou rester vide.

    Reconstruit déjà ta page html correctement.

    - Concernant la partie php :

    Différentes choses là aussi. Comme l'a dit Chromo, pas de point entre $_POST et les crochets. Mais visiblement c'étais une erreur donc pas de soucis de ce côté tu as déjà du le corriger.

    Ensuite pour répondre à ta question, les crochets font simplement partie de la syntaxe de cet élément donc il n'y a pas a réfléchir . De façon plus complète, la variable $_POST est un tableau et dans un tableau l'accès à un index se fait en utilisant ["nom_de_l'index"].

    La plus grosse erreur de ton code à mon sens est l'inadéquation entre la méthode de soumission du formulaire (method="get" dans la balise <form>) et la méthode de récupération des données du formulaire en php ($_POST)... ou tu utilises l'une ou tu utilises l'autre mais forcément comme ça ça ne marche pas.

    Donc, si tu utilises la méthode POST :
    - html : <form method="post" ...
    - php : $_POST["nom_de_la_variable_a_recuperer"]

    Et si tu utilises la méthode GET :
    - html : <form method="get" ...
    - php : $_GET["nom_de_la_variable_a_recuperer"]

    La différence entre les deux réside principalement dans le mode de transmission des informations du formulaire d'une page à l'autre. La méthode GET passe les paramètres dans l'url de la page de destination. C'est moins sécurisé que la méthode POST.

    Dernier point juste pour chipoter (et coder propre accessoirement), round s'écrit en minuscules même si ça marche en majuscules.

    Bon courage,

    Smiff.

  5. #5
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Merci beaucoup car je galérai. J'avais cherché sur des sites mais j'avais pas compris que fallait utiliser soit "get" ou soit "post". Merci

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

Discussions similaires

  1. formulaire et PHP 5
    Par sezar dans le forum Langage
    Réponses: 4
    Dernier message: 24/03/2006, 19h30
  2. formulaire et php
    Par lolo_bob2 dans le forum Langage
    Réponses: 9
    Dernier message: 16/03/2006, 15h09
  3. [MySQL] Filtre via formulaire HTML/PHP dans Base mySQL
    Par Al3x dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 14/01/2006, 16h27
  4. Recuperer les données d'un formulaire en PHP
    Par mekdar dans le forum Langage
    Réponses: 2
    Dernier message: 29/11/2005, 15h41
  5. récupérer une valeur d'un formulaire en php
    Par feten dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 21/11/2005, 13h29

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