PHP: additionner des variables
Répondre à la discussion
Affichage des résultats 1 à 11 sur 11

PHP: additionner des variables



  1. #1
    invite78f958b1

    PHP: additionner des variables


    ------

    Bonjour,
    j'ai un problème pour additionner des variables dans ma situations.
    En fait, je veux additioner des variables issues toutes les deux d'un formulaires.

    Je m'explique:
    J'ai un formulaire 1 HTML qui demande un nombre (par exemple:
    <input type="text" name="donner_un_nombre">) Puis j'envoie cette variable.

    Après pour un fichier PHP lié à ce formulaire 1, je récupère le nombre premier entré.
    (avec: $chiffre=$_GET["donner_un_nombre"]

    Pour l'instant aucun problème mais c'est là que je vais bloquer.
    Dans ce même fichier php, j'intègre un formulaire 2 qui a la même fonction que le formulaire 1 à savoir juste demander un nombre.
    Toujours avec la même technique et cette valeur sera renvoyer au même fichier php.

    Par conséquent, j'ai 2 variables (1 issu du Formulaire 1 et l'autre du Formulaires 2)

    Je veux faire leur somme
    Comment dois je procéder ?
    Si vous avez une autres techniques qui permet d'additionner 2 variables de deux formulaires différents, je suis preneur.

    Merci

    -----

  2. #2
    invite765732342432
    Invité

    Re : PHP: additionner des variables

    Citation Envoyé par oignon57 Voir le message
    Je veux faire leur somme
    Comment dois je procéder ?
    Si j'ai bien compris, la saisie des deux nombres se fait séparément:
    - saisie chiffre 1
    - submit du formulaire
    - saisie chiffre 2
    - submit du formulaire

    Dans ce cas, il existe 2 solutions:
    - soit tu rajoutes un champ caché (type="hidden") dans ton second formulaire avec la valeur précédemment saisie.
    - soit tu utilises le mécanisme de sessions ( http://www.manuelphp.com/php/function.session-start.php )

    Si c'est juste pour une somme, la première solution sera beaucoup plus simple. Pour des traitements plus complexes, préfère la seconde.

  3. #3
    invite78f958b1

    Re : PHP: additionner des variables

    Merci Faith d'avoir répondu.
    Je pense utiliser la première méthode, mais je ne connais pas trop "hidden" et son utilisation. (on le met dans l'input ? Cela ne sert qu'à cacher des valeurs ?)

    De plus, j'ai eu une "révélation soudaine" sur ce que je devais vraiment faire.
    En fait à la base,
    si mon $donner un nombre (issu du formulaire1) est supérieur ou égal à un $max(arbitraire)----> alors tout est bien

    Sinon TANT QUE (WHILE) $donner un nombre + $nouveau chiffre(issu du formulaire ) n'est pas supérieur ou égal à ce $max, on continu de retaper un nouveau chiffre qui vient s'ajouter dans l'addition

    Le problème est que je n'arrive pas à mettre en forme

    Voici déjà ce que j'ai fais:

    Code PHP:
    <html>
    <body>
    <?php
    $donner_un_nombre
    =$_GET['donner_un_nombre'];

    $retranchement=$donner_un_nombre-3;
    $max=18;

    if(
    $donner_un_nombre>$max){echo "Tout est OK";}


    else {

    echo 
    'Veuillez ajouter un nombre
    <form Method="GET"action="rendu1.php">
    <input type="text"name="nouveau_chiffre">
    <input type="submit"value="envoyer">Pour envoyer ou 
    <input type="reset"value="annuler">pour annuler
    </form>'
    ;

    $som=0;
    $continuer=true;
    while(
    $continuer){

    $n=$_GET["som"];
    $donner_un_nombre=$nouveau_chiffre+$donner_un_nombre;  //J'ai appelé le total $donner_un_nombre comme cela,il subira le test du if
    $continuer=$donner_un_nombre<=$max;}
    echo 
    $donner;}
    Qu'en pensez vous ? Où dois je insérer le hidden ?
    Dernière modification par Philou67 ; 29/11/2010 à 11h08. Motif: Balise PHP au lieu de QUOTE

  4. #4
    invite78f958b1

    Re : PHP: additionner des variables

    Un petite erreur, autant pour moi:

    Code PHP:
    <html>
    <body>
    <?php
    $donner_un_nombre
    =$_GET['donner_un_nombre'];

    $retranchement=$donner_un_nomb re-3;
    $max=18;

    if(
    $donner_un_nombre>$max){ech o "Tout est OK";}


    else {

    echo 
    'Veuillez ajouter un nombre
    <form Method="GET"action="rendu1.php ">
    <input type="text"name="nouveau_chiffre">
    <input type="submit"value="envoyer">Pour envoyer ou 
    <input type="reset"value="annuler">pour annuler
    </form>'
    ;

    $nouveau_chiffre=0;
    $continuer=true;
    while(
    $continuer){

    $nouveau_chiffre=$_GET["nouveau_chiffre"];
    $donner_un_nombre=$nouveau_chiffre+$donner_un_nombre//J'ai appelé le total $donner_un_nombre comme cela,il subira le test du if

    $continuer=$donner_un_nombre<= $max;}
    echo 
    $donner;}
    Qu'en pensez vous ? Où dois je insérer le hidden ?
    Dernière modification par Philou67 ; 29/11/2010 à 11h08. Motif: Balise PHP au lieu de CODE

  5. A voir en vidéo sur Futura
  6. #5
    invite765732342432
    Invité

    Re : PHP: additionner des variables

    Hidden et comme un champ de formulaire quelconque (donc à placer entre les balise FORM:
    Code:
    <input type="hidden" name="nom_du_champ" value="valeur_du_champ">
    Citation Envoyé par oignon57 Voir le message
    Qu'en pensez vous ?
    Qu'il y a une méconnaissance importante du couple php+HTML.
    Visiblement, tu as déjà fait un peu de programmation avec un langage "classique", mais il va falloir t'habituer à ce nouveau mode de conception.
    Ici, il est impossible de demander en cours d'exécution de script une nouvelle valeur à l'utilisateur: il n'est possible d'obtenir de lui des informations qu'en fin de script (lorsque la totalité de la page est affichée et qu'il clique sur le bouton submit)

    Tu ne peux donc pas utiliser un while en espérant qu'à chaque itération l'utilisateur saisisse un nouveau chiffre. Il faut additionner les chiffres 1 par 1, et réafficher la page entière tant que la condition n'est pas terminée.

    Normalement, avec le champ hidden, que tu mets à jour à chaque appel, ça devrait être assez facile.
    Bonne chance

  7. #6
    invite78f958b1

    Re : PHP: additionner des variables

    Merci de votre réponse, au moins je suis fixé (vous m'avez sauvez de longues heures d'énervement )

    Sinon, j'ai essayé mais le résultat n'aboutit, je pense que je me suis trompé mais je ne sais comment corriger:
    (j'ai dû mettre d'autres noms de variables mais le principe est le même).
    Le problème vient je pense de mon addition qui si elle était vrai, voudrait dire que le script m'a attendu pour que je mette ma valeur, ce qui n'est pas possible.
    Je crois qu'une subtilité du hidden m'échappe.

    Code PHP:
    <html>
    <head>
        <title>Rendu</title>
    </head>
    <body>
    <?php

    $paye
    =$_GET["paye"];

    $price=3;
    $rendu=$paye-$price;

    echo 
    "Vous m'avez donné $paye euros";

    if(
    $paye>$price){echo " Merci de votre achat, voici votre monnaie $rendu";}

    else {echo
    'Vous n avez pas assez payé:

    <form Method="GET"action="rendu1.php">
    Votre argent<input type="text"name="paye">
    <input type="hidden" name="ajout" value="paye>
    $paye=$paye+$ajout;

    <input type="submit"value="envoyer">Pour envoyer ou 
    <input type="reset"value="annuler">pour annuler
    </form>'
    ;
    }
    ?>


    </body>
    </html>
    Merci d'avance
    Dernière modification par Philou67 ; 29/11/2010 à 11h09. Motif: Balise PHP au lieu de QUOTE

  8. #7
    invite765732342432
    Invité

    Re : PHP: additionner des variables

    Plusieurs points:
    - le champ action du formulaire: as-tu bien mis le même nom que la page en cours (rendu1.php) ?
    - un champ hidden fonctionne comme un champ normal, autrement dit: $_GET["ajout"] pour l'utiliser, et surtout, l'utiliser en début de script, comme tous les champs de formulaire.
    - la valeur renseignée pour le champ hidden doit être la valeur de $paye

    voilà, ça devrait te permettre d'avancer un peu.

  9. #8
    invite55f0222a

    Re : PHP: additionner des variables

    il suffit de le maitre dans un session c'est un peu pres comm jee
    merci

  10. #9
    invite78f958b1

    Re : PHP: additionner des variables

    Bonjour,
    Plusieurs points:
    - le champ action du formulaire: as-tu bien mis le même nom que la page en cours (rendu1.php) ?
    - un champ hidden fonctionne comme un champ normal, autrement dit: $_GET["ajout"] pour l'utiliser, et surtout, l'utiliser en début de script, comme tous les champs de formulaire.
    - la valeur renseignée pour le champ hidden doit être la valeur de $paye
    -Oui j'ai bien mis rendu1.php
    Code PHP:
    - <html>
    <head>
        <title>Rendu</title>
    </head>
    <body>
    <?php

    $paye
    =$_GET["paye"];
    [
    B]$ajout=$_GET["ajout"];[/B]
    $price=3;
    $rendu=$paye-$price;

    echo 
    "Vous m'avez donné $paye euros";

    if(
    $paye>$price){echo " Merci de votre achat, voici votre monnaie $rendu";}

    else {echo
    'Vous n avez pas assez payé:

    <form Method="GET"action="rendu1.php">
    Votre argent<input type="text"name="paye">
    <input type="hidden" name="ajout" value=[B]"paye"[/B]>

    $paye=$paye+$ajout;

    <input type="submit" value="envoyer">; Pour envoyer ou 

    <input type="reset" value="annuler">pour annuler
    </form>'
    ;
    }
    ?>




    </body>
    </html>
    Il y a forcement un problème, non ?
    Si je met $_GET["ajout"] au début, il y aura forcement un message d'erreur disant que la fonction n'est pas défini, ce qui est normal car je n'ai pas encore rempli le formulaire.
    Pouvez vous m'indique mon erreur ou les zones où je dois placer vos instructions ?

    C'est plus compliqué, Redando, apparemment avec les sessions, non ?

    Merci à vous deux
    Dernière modification par Philou67 ; 29/11/2010 à 11h09. Motif: Balise PHP au lieu de QUOTE

  11. #10
    invite765732342432
    Invité

    Re : PHP: additionner des variables

    Citation Envoyé par oignon57 Voir le message
    Si je met $_GET["ajout"] au début, il y aura forcement un message d'erreur disant que la fonction n'est pas défini
    Soyons précis: ce sera un warning indiquant que la variable n'est pas définie. C'est pour cela que la fonction isset() existe

    Pouvez vous m'indique mon erreur ou les zones où je dois placer vos instructions ?
    Non, je pense avoir donner suffisamment de piste pour cet exercice scolaire.
    Un dernier point important cependant:
    tu écris
    Code:
    <input type="hidden" name="ajout" value="paye">
    La valeur de cette variable sera donc la chaine de caractère "paye", et non pas, comme tu le voudrais, le contenu de la variable $paye

    Un dernier conseil: après chaque affectation de variable, mets (temporairement) un printf("#%s#<br>\n", $ma_variable);
    Ca te permettra de mieux comprendre le fonctionnement de ton script

    Bon courage.

  12. #11
    Philou67

    Re : PHP: additionner des variables

    Merci d'utiliser la balise [PHP] (icône ) au lieu de la balise de citation pour insérer du code PHP.
    Philou67 pour la modération.
    :'( Plus j'apprends, et plus je mesure mon ignorance

Discussions similaires

  1. Influence des variables d'une fonction à 2 variables
    Par invitee2a62e92 dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 18/07/2008, 01h54
  2. Réponses: 5
    Dernier message: 29/02/2008, 08h37
  3. comment additionner des images
    Par invite08108e1f dans le forum Matériel astronomique et photos d'amateurs
    Réponses: 7
    Dernier message: 10/12/2006, 23h26
  4. Php/MySQL - Ordonner des résultats
    Par invite17c77fd5 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 1
    Dernier message: 22/03/2006, 08h34
  5. Insérer une page php avec variables (ex : page.php?nom=jean) grâce au javascript
    Par invite991c0955 dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 21/05/2005, 17h37