Index undefined help

Eléphanteau du PHP | 29 Messages

11 mars 2006, 15:34

Ben voilà... j'ai travaillé avec filemaker pro et access pendant longtemps pour développer des bases de données... mais là j'avais plus le choix, force est d'avouer que mysql avec php... il fallait que je m'y mette pour pouvoir créer ce que je voulais. Et me voilà dans le beau monde de la programmation. Connait rien au html, rien au php et rien à mysql. Vous pouvez pas avoir plus débutant que moi. J'ai donc commencé il y a une semaine avec un livre... et ca-va très bien... mais là j'ai un petit bug qui me travail que voici:

J'ai créé le formulaire (calculateur.html) suivant:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 TRANSITIONAL//EN"
          "http://WWW.w3.org/TR/2000/REC-xhtml1-20000126/DTD/
           xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<html>
<head>
 <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
 <title>Calculateur de coût</title>
</head>
<body>

<!-- Script 2.6 - calculateur.html -->

<form action="traite_calculateur.php?source=calculateur.html" method="post">

<select name"quantite">
        <option value="">choisissez une quantité :</option>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="6">6</option>
</select>

<div align="left"><input type="submit" name="submit" value="Total !" /></div>

<input type="hidden" name="prix" value="19.95" />
<input type="hidden" name="taxe" value=".05" />

</form><!--Fin du formulaire-->

</body>
</html>

Ce formulaire devrait être traitable avec le bout de programmation(traite_calculateur.html):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 TRANSITIONAL//EN"
          "http://WWW.w3.org/TR/2000/REC-xhtml1-20000126/DTD/
           xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<html>
<head>
 <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
 <title>Calculateur de coût</title>
</head>
<body>
<?php

# Script 2.7 - traite_calculateur.php

if (isset($_GET ['source']))
   {if ($_GET['source'] == 'calculateur.html')
       {if (is_numeric($_POST['quantite']))
       {$total= ($_POST['quantite'] *  $_POST['prix'])*($_POST['taxe']+1);
        $total= number_format ($total, 2, ",", " ");
        echo "Vous achetez <b>{$_POST['quantite']}</b> machin(s) d'un coût
        unitaire de <b>{$_POST['prix']}€.</b><br>";
        echo "Le montant TTC de votre achat s'élève à <b>$total</b>
        €.\n";}
        else
        {echo '<p><b>Saisissez uen quantité correcte, svp</b></p>';}}
   else
   {echo '<p><b>Vous avez illégalement accédé à cette page</b></p>';}}
else
{echo '<p><b>Vous avez illégalement accédé à cette page</b></p>';}

?>
</body>
</html>

Le tout ne marche pas. Je reçois le message:
Notice: Undefined index: quantite in c:\program files\easyphp1-8\www\calculateur\traite_calculateur.php on line 17

C,est quoi le bug?! J'ai checker toutes mes lignes... et je vois pas pourquoi mon traite_calculateur.html veut pas récupérer l'info de calculateur.html. Je sais que c'est un problème d'index ... mais comment je peux le résoudre?!?!? :?: Et puis je comprend pas pourquoi dans mon livre il me dit pas de créer le document traite_calculateur.html en php et non pas en html?! Ouffffff...
Modifié en dernier par yoggiz le 11 mars 2006, 17:17, modifié 1 fois.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

11 mars 2006, 16:02

Bienvenue à toi, puisque tu t'es inscrit tu peux éditer ton message pour mettre en évidence le code des 2 pages grâce aux balises
 (boutons au dessus de la zone de saisie du message).

Sinon est-ce que le fichier de traitement du formaulaire "traite_calculateur" a une extension .php ou .html ? tu laisse supposer les deux  :? 

Il faut biensur que ce fichier soit en .php puisque le fichier contient du code php  :wink: 

Comment accède tu à la page de traitement ?

Si tu veux apprendre d'avantage tu peux aussi faire quelques tutoriaux:
[url=http://www.phpfrance.com/tutoriaux/index.php/toc/home]phpfrance[/url]
[url=http://www.siteduzero.com/tuto-3-4-0-un-site-dynamique-avec-php.html]Siteduzero[/url]

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphanteau du PHP | 29 Messages

11 mars 2006, 16:12

Merci pour ta réponse rapide. Je vais surment faire les tutoriaux... j'en ai définitivement de besoin!!! :lol:

D'après ce que je comprend, c'est ma page de traitement qui doit aller chercher l'info dans mon formulaire puisque j'ai le programme:

<form action="traite_calculateur.php?source=calculateur.html" method="post">

inséré en haut de mon formulaire. Sinon, j'accède à mon traitement de page avec mon navigateur? (Mozilla) Quand je sélectionne mon chiffre dans mon formulaire et que j'appui sur 'total', mon traite_calculateur.php est supposé s'activer et me renvoyer le total de ma sélection...

Je sais pas si ca clarifie un peu ma question?

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

11 mars 2006, 16:33

Tu sembles avoir loupé ce passage:
puisque tu t'es inscrit tu peux éditer ton message pour mettre en évidence le code des 2 pages grâce aux balises
 (boutons au dessus de la zone de saisie du message).[/quote]

Pas grave mais l'erreur aurait sauté aux yeux... je te propose donc a nouveau d'éditer ton message puis de verifier la coloration du code qui n'est pas respectée au niveau de [b]la liste des quantités[/b].

Je ne te donne pas l'erreur étant donné qu'elle ne semble pas bien difficile, un [b]petit oubli[/b], et ce ne sera que plus bénéfique pour toi si tu trouves seul  :wink: 

L'erreur indique que la variable correspondante à la liste n'existe pas il y a donc un problème au niveau de la définition de la liste.

si tu ne trouves vraiment pas dis le quand même hein  :)

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphanteau du PHP | 29 Messages

11 mars 2006, 17:27

Je cherche toujours.... mais je te remercie pour le coup de pouce. C'est donc dire que le bug est vraiment dans mon traite_calculateur.php. J'ai de la misère à voir quoi... il doit y avoir quelque chose que je ne sais pas. Mais comme tu dis... il faut bien chercher un peu pour apprendre!!! 8)

Eléphanteau du PHP | 29 Messages

11 mars 2006, 17:52

:oops: Trouve pas?!? Est-ce que c'est l'index qu'il faut que je définisse dans le code de traite_calculateur au niveau de la quantité ou il y a une erreur dans la programmation de mon formulaire?

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

11 mars 2006, 18:04

enfaite manque juste un = ici :
<select name="quantite">
:wink:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphanteau du PHP | 29 Messages

11 mars 2006, 18:11

:oops: :oops: :oops: :oops:


Merci...