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 :

Problème HTML + PHP + Include [Débutant(e)]


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Profil pro
    Responsable administration fonctionnelle SAP
    Inscrit en
    Octobre 2003
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable administration fonctionnelle SAP
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2003
    Messages : 60
    Par défaut Problème HTML + PHP + Include
    Bonjour à tous,

    Je suis débutante en php et j’ai besoin de votre aide pour un TP.

    Voilà mon code formulaire (du moins la fin)

    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
             <?php
     
                        switch($operation){
                        case "addition":
                        include ("fonction_addition.php"); // Appel fonction addition
                        break;
                        case "soustraction":
                        include ("fonction_soustraction.php"); // Appel fonction soustraction
                        break;
                        case "multiplication":
                        include ("fonction_multiplication.php"); // Appel fonction multiplication
                        break;
                        case "division":
                        include ("fonction_division.php"); // Appel fonction division
                        break;
                        }
                        ?>
                    </tr>
                </form>
                <!-- Fin du tableau -->
            </table>
        </body>
    </html>

    une de mes fonction php :

    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
    function Calculer($nombre1, $nombre2)
    {
    /* On teste dans l'include si les nombres ne sont pas renseignés
       Si oui alors par défaut variable = 0 */
            include ("variable_vide.php");
     
    /* On vérife que les données saisies sont numériques
      Si non alors on affiche un message d'erreur */
            if(is_numeric($nombre1) != TRUE || is_numeric($nombre2) != TRUE)
            {
                $resultat = 'Saisir un nombre';
            }
     
    /* Sinon, on effectue le calcul
      et on initialise la variable $resultat qui sera retourée à la fin */
            else
            {
                    $reponse_add = $nombre1 + $nombre2 ;
                    $resultat = $nombre1 .  ' + '.  $nombre2 . ' = ' .  $reponse_add ;
            }
    /* On retourne la variable $resultat :
        soit un message d'erreur, soit le résultat du calcul */
            return $resultat;
    }
    ?>
    <td align="center"><input type="text" name="resultat" size="" maxlength="" readonly='true' value="<?php  echo Calculer(($_POST['nombre1']), ($_POST['nombre2'])) ?>">
     </td>
    Ma question : comment puis-je faire pour enlever le code HTML de ma fonction pour le mettre dans mon formulaire (précision, j’ai une fonction par type opération, je suis obligée demandé dans le TP )…


    Merci de votre aide

  2. #2
    Membre très actif
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Turquie

    Informations forums :
    Inscription : Avril 2005
    Messages : 614
    Par défaut
    Ma question : comment puis-je faire pour enlever le code HTML de ma fonction
    voici la fonction que tu donne:
    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
     
    function Calculer($nombre1, $nombre2)
    {
    /* On teste dans l'include si les nombres ne sont pas renseignés
       Si oui alors par défaut variable = 0 */
            include ("variable_vide.php");
     
    /* On vérife que les données saisies sont numériques
      Si non alors on affiche un message d'erreur */
            if(is_numeric($nombre1) != TRUE || is_numeric($nombre2) != TRUE)
            {
                $resultat = 'Saisir un nombre';
            }
     
    /* Sinon, on effectue le calcul
      et on initialise la variable $resultat qui sera retourée à la fin */
            else
            {
                    $reponse_add = $nombre1 + $nombre2 ;
                    $resultat = $nombre1 .  ' + '.  $nombre2 . ' = ' .  $reponse_add ;
            }
    /* On retourne la variable $resultat :
        soit un message d'erreur, soit le résultat du calcul */
            return $resultat;
    }
    Où est ce que tu voit du code html dans ta fonction ?

  3. #3
    Membre confirmé
    Profil pro
    Responsable administration fonctionnelle SAP
    Inscrit en
    Octobre 2003
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable administration fonctionnelle SAP
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2003
    Messages : 60
    Par défaut
    Le code HTML en fait est à la fin de mon include après return...
    Et je voudrais mettre ce code dans mon formulaire mais ça ne marche pas

  4. #4
    Membre confirmé
    Profil pro
    Responsable administration fonctionnelle SAP
    Inscrit en
    Octobre 2003
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable administration fonctionnelle SAP
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2003
    Messages : 60
    Par défaut
    j'ai avancer mais je n'arrive pas à faire apparaitre mon résultat et j'ai une erreur php
    "<input type="text disabled" name="resultat" size="" maxlength="" readonly='true' value="
    Fatal error: Call to undefined function: calculer() in c:\program files\easyphp1-8\www\calculatrice\webcalc.php on line 124"


    QUI PEUT m'aider????

  5. #5
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    C'est la ligne 161 qui merde :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $operation = !isset($_POST['operation'])? NULL : $_POST['operation'];
    c'est pas correct par rapport à ce que tu veux faire : le ! est appliqué au résultat de isset($_POST['operation'])? NULL : $_POST['operation'], donc soit NULL, soit la valeur de $_POST['operation']. Il faut rajouter un niveau de parenthèse pour regrouper proprement le test logique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $operation = (!isset($_POST['operation']))? NULL : $_POST['operation'];

  6. #6
    Membre confirmé
    Profil pro
    Responsable administration fonctionnelle SAP
    Inscrit en
    Octobre 2003
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable administration fonctionnelle SAP
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2003
    Messages : 60
    Par défaut
    merci beaucoup j'ai corrig l'erreur mais comment je fais pour afficher mon résultat, ça marche pas ?

  7. #7
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Donne ton nouveau code, steuplé et explique nous ce qu'il se passe.

  8. #8
    Membre Expert
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable d'équipe développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 419
    Par défaut
    avis perso, je séparerais plus ton code PHP de ton HTML parce que franchement c'est chiant à lire...

    Ton switch et ton test sur la variables post aurait tout a faire leur place tout en haut de ton fichier, bien rassemblé, et aprés, tu met ton code HTML avec juste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    echo $maVarQuiContientInclude;
    ?>
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    include($maVarQuiContientNomDeFichier);
    ?>
    après, je n'ai toujours pas compris ce que tu voulais faire, donc je pense que la première chose serait d'expliquer exactement et en détaillant ce que dois faire.

  9. #9
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Citation Envoyé par pmithrandir Voir le message
    Ton switch et ton test sur la variables post aurait tout a faire leur place tout en haut de ton fichier, bien rassemblé, et aprés, tu met ton code HTML avec juste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    echo $maVarQuiContientInclude;
    ?>
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    include($maVarQuiContientNomDeFichier);
    ?>
    Oui, c'est une bonne façon de faire à défaut de mettre en place un vrai MVC.

  10. #10
    Membre confirmé
    Profil pro
    Responsable administration fonctionnelle SAP
    Inscrit en
    Octobre 2003
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable administration fonctionnelle SAP
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2003
    Messages : 60
    Par défaut
    Alors voilà j'ai une calcultarice à faire en TP (j'ai repris mes études)
    Je dois faire une page formulaire + une page PHP par opération.

    J'avais inclus la balise de retour de mon résultat dans ma page php mais je dois la mettre dans mon formulaire mais depuis que j'ai mis ma variable
    $resultat dans mon formulaire je n'ai plus rien qui s'affiche dans mon champs résultat...

    Voici ma page 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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
     
    <!-- ------------------------------------------------------------ -->
    <!-- On teste l'opérateur choisi -->
    <!-- ----------------------------------------------------------------- -->
     
    <?php
    // Initialisation et mise à jour de la variable opération
    $operation = (!isset($_POST['operation']))? NULL : $_POST['operation'];
    $resultat = "";
    switch($operation){
     case "addition":
    $nombre1=($_POST['nombre1']);
    $nombre2=($_POST['nombre2']);
     break;
     case "soustraction":
    include ("fonction_soustraction.php"); // Appel fonction soustraction
    break;
    case "multiplication":
    include ("fonction_multiplication.php"); // Appel fonction multiplication
    break;
    case "division":
    include ("fonction_division.php"); // Appel fonction division
    break;
    }
    ?>
     
    <html>
     
        <!-- ************************************************* -->
        <!-- Définition de l'entête : Titre de la page -->
        <!-- 
        <head>
            <div align="center"><b>
                    <h1> Calculatrice
                    </h1>
                </b>
            </div>
            <div align="center"><b>
                    <h3
                    </h3>
                </b>
            </div>
        </head>
        <!-- ----------------------------------------------------------------- -->
        <!-- Définition du corps -->
        <!-- ----------------------------------------------------------------- -->
     
        <body bgcolor="#A6CAF0" text="#000000">
            <!-- Début du tableau -->
            <table width="40%" height="40%" border="8" align="center" cellpadding="3" cellspacing="3" bgcolor="#C0C0C0">
                <caption></caption>
                <form method="post" action="WebCalc.php">
                    <!-- ----------------------------------------------------------------- -->
                    <!-- 1ere ligne du tableau : Saisie de la 1ere valeur -->
                    <!-- ----------------------------------------------------------------- -->
                    <tr>
                        <!-- colonne1 -->
                        <td align="center"><b>Valeur 1</b>
                        </td>
                        <!-- colonne2 -->
                        <td align="center"><input type="text" name="nombre1" size="15" maxlength="15">
                        </td>
                    </tr>
     
                    <!-- ----------------------------------------------------------------- -->
                    <!-- 2éme ligne du tableau : Choix de l'opérateur -->
                    <!-- ----------------------------------------------------------------- -->
                    <tr>
                        <td align="center"><!-- choix de l'opérateur -->
                            <b>Choix opérateur</b>
                        </td>
                        <td align="center"> <select name="operation" TABINDEX="4"> >
                                <option value="addition" selected>+</option>
                                <option value="soustraction">-</option>
                                <option value="multiplication">*</option>
                                <option value="division">/</option>
                            </select>
                        </td>
                    </tr>
     
                    <!-- ----------------------------------------------------------------- -->
                    <!-- 3ème ligne du tableau : Saisie de la 2ème valeur -->
                    <!-- ----------------------------------------------------------------- -->
                    <tr>
                        <td align="center"><b>Valeur 2</b>
                        </td>
                        <td align="center"><input type="text" name="nombre2" size="15" maxlength="15">
                        </td>
                    </tr>
     
                    <!-- ----------------------------------------------------------------- -->
                    <!-- 4ème ligne du tableau : Boutons effacer et calculer -->
                    <!-- ----------------------------------------------------------------- -->
                    <tr>
                        <td align="center"><input type="reset" name="reset" value="Effacer" >
                        </td>
                        <td align="center"><input type="button" name="" value="Mémoire">
                        </td>
                    </tr>
                    <tr>
                        <td align="center"><input type="submit" name="button_submit" value="Calculer">
                        </td>
                        <td align="center"><input type="button" name="" value="Réafficher">
                        </td>
                    </tr>
     
                    <!-- ----------------------------------------------------------------- -->
                    <!-- 5ème ligne du tableau : Affichage du résultat -->
                    <!-- ----------------------------------------------------------------- -->
                    <tr>
                        <td align="center"><b>Résultat</b>
                        </td>
                        <td align="center"><input type="text" name="resultat" size="" maxlength="" readonly='true' value="<?php  echo $resultat; ?>">
                        </td>
                    </tr>
                </form>
                <!-- Fin du tableau -->
            </table>
        </body>
    </html>
    Voici une de mes pages php :
    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
    29
    30
    31
     
    <!-- *****************************************************************
    <!-- FONCTION PHP pour calcul
    <!-- 2EME OPERANTE = 1 si division si pas rempli =0
    <!-- ***************************************************************** -->
    <?
    function Calculer($nombre1, $nombre2)
    {
    /* On teste dans l'include si les nombres ne sont pas renseignés
       Si oui alors par défaut variable = 0 */
            include ("variable_vide.php");
     
    /* On vérife que les données saisies sont numériques
      Si non alors on affiche un message d'erreur */
            if(is_numeric($nombre1) != TRUE || is_numeric($nombre2) != TRUE)
            {
                $resultat = 'Saisir un nombre';
            }
     
    /* Sinon, on effectue le calcul
      et on initialise la variable $resultat qui sera retourée à la fin */
            else
            {
                    $reponse_add = $nombre1 + $nombre2 ;
                    $resultat = $nombre1 .  ' + '.  $nombre2 . ' = ' .  $reponse_add ;
            }
    /* On retourne la variable $resultat :
        soit un message d'erreur, soit le résultat du calcul */
            return $resultat;
    }
    ?>
    Merci de votre aide

  11. #11
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Si j'ai bien compris : tu remplis ton formulaire et tu le postes sur lui-même. Là, tu récupères l'opération à effectuer ($operation = (!isset($_POST['operation']))? NULL : $_POST['operation']. Ensuite, tu initialises $resultat. Ensuite, en fonction de la valeur de $operation, tu fais un include d'un certain fichier PHP. Ce fichier PHP ne fait que déclarer une fonction qui s'appelle "Calculer". Et c'est après qu'il y a un pb : tu déclares la fonction mais tu ne l'appelles jamais : il n'y a pas de ligne "$resultat = Calculer($nombre1, $nombre2)". donc forcément, $resultat reste à sa valeur initial, à savoir "".

    Il faut donc que tu rajoutes après tes includes l'appel à cette nouvelle fonction.

  12. #12
    Membre confirmé
    Profil pro
    Responsable administration fonctionnelle SAP
    Inscrit en
    Octobre 2003
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable administration fonctionnelle SAP
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2003
    Messages : 60
    Par défaut
    Mille merci, ça marche, je ne sais pas pourquoi je n'y ai pas pensé avant.

    merci beaucoup pour ta dispo

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

Discussions similaires

  1. [Forum] Problème avec Forum/include/functions.php
    Par BaleinedesSables71 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 22/06/2012, 10h49
  2. HTML & PHP : Problème de gestion des liens
    Par somi69 dans le forum Langage
    Réponses: 11
    Dernier message: 26/07/2011, 14h06
  3. problème formulaire( html+php)
    Par eric204044 dans le forum Langage
    Réponses: 2
    Dernier message: 03/06/2010, 12h04
  4. Réponses: 4
    Dernier message: 03/09/2007, 17h39
  5. Problème session_start() php html !
    Par hidakwon dans le forum Langage
    Réponses: 1
    Dernier message: 23/04/2007, 14h29

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