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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Exercice surface php


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2009
    Messages : 10
    Points : 2
    Points
    2
    Par défaut Exercice surface php
    Bonjour tout le monde... Voilà je suis débutant en PHP et j'ai un problème. LOL... Pas très étonnant!!!!

    C'est un exercice pour calculer la surface et le périmètre d'un quadrilatère... Mais je bug.

    Et je ne sais pas où est l'erreur. :-(
    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
     
    <html>
     
    <head>
    <title>Exercice rectangle</title>
    </head>
     
    <body>
     
    <p><font face="verdana" size="5" color="black"</font><b>Exercice rectangle</b></p>
     
    <form method ="POST" action="rectangle.php"> 
     
    exercice rectangle<br>
    longueur: <input type="text" name="longueur" size="10"><br>
    largeur: <input type="text" name="largeur" size="10"><br>
     
    <p><input type="submit" value="calculer" name="B1">
    <p><input type="reset" value="effacer" name="B2">
    </form>
    </body>
    </html>
     
     
    <?php
    if (isset ($_POST ['longueur']))
    {
    $longueur=$_POST['longueur'];
    $largeur=$_POST['largeur'];
    $surface=$longueur*$largeur;
    $perimetre=($longueur+$largeur)*2;
    $diagonale=sqrt(($longueur*$longueur)+($largeur*$largeur))
    }
     
    echo 'Longueur ='.$longueur.'<br>';
    echo 'largeur ='.$largeur.'<br>';
    echo 'surface ='.$surface.'<br>';
    echo 'perimetre ='$perimetre.'<br>';
    echo 'diagonale ='$diagonale.'<br>';
     
    ?>

    Meme en local avec easy php!!! Il ne veut meme pas me l'afficher...

    Je ne sais pas si vous voyez une erreur!!! Mais il y en a... C'est sur...

    Merci d'avance...

  2. #2
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    Bonjour,
    Il faudrait nous dire ce qui se passe.....qu'on arrive à déceler l'erreur sans analyser brutalement ton code
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2009
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    Parse error: parse error in C:\Program Files\EasyPHP 3.0\www\rectangle.php on line 32


    Le serveur apache m'indique ceci...

    Il ne veut pas afficher... Dès que j'ai entré les lignes de php!! Cela bug...

  4. #4
    Invité
    Invité(e)
    Par défaut
    Salut,

    tu as déjà oublié un ;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $diagonale=sqrt(($longueur*$longueur)+($largeur*$largeur));

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2009
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    Merci merci!!!! Mais j'ai tjs le même problème. Tjs ce message d'erreur. le serveur apache ne veut rien afficher en web local...

    Je suis désolé mais comme je suis débutant. J'ai du mal à comprendre mon erreur et voir où elle se trouve.

  6. #6
    Membre émérite
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 563
    Points : 2 390
    Points
    2 390
    Par défaut
    Tu as également oublié des points de concaténation pour les variables (avant les $) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    echo 'perimetre ='$perimetre.'<br>';
    echo 'diagonale ='$diagonale.'<br>';
    (regarde à la ligne indiqué par l'erreur et cherche le problème (souvent une erreur de syntaxe)
    Zend Certified PHP Engineer

    « Crois-tu comprendre le monde juste en matant le 20H Ou connaître l'histoire en ayant lu que l'angle des vainqueurs ? » Keny Arkana

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2009
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    Merci bcp j'avais corrigé...

    Parse error: parse error in C:\Program Files\EasyPHP 3.0\www\rectangle.php on line 32

    Toujours à la ligne 32. Mais je vois pas ce que c'est...
    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
     
    <html>
    <head>
    </head>
    <body>
     
    <p><font face="Arial" size="4">Exercice 1</font></p>
    <form method="POST" action="rectangle.php">
     
    	<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="30%" id="AutoNumber1">
    		<tr>
    		  <td width="25%" ><font face="Arial" size="4">Longueur :</font></td>
     
    		  <td width="75%" bgcolor="#FFFF00" >
    			<input type="text" name="longueur" size="10">
    		  </td>
    		</tr>
    		<tr>
    		  <td width="25%" ><font face="Arial" size="4">Largeur :</font></td>
    		  <td width="75%" bgcolor="#FFFF00" >
    			<input type="text" name="largeur" size="10">
     
    		  </td>
    		</tr>
    		<tr>
    		  <td width="25%"><font face="Arial" size="4"></font></td>
    		  <td width="75%"  >
    			<input type="submit" value="Envoyer" name="B1">
    			<input type="reset" value="Rétablir" name="B2">
    		  </td>
    		</tr>
        </table>
    	</form>
     
    	<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="30%" id="AutoNumber1">
    		<tr>
    		  <td width="25%" align="right"><font face="Arial" size="4">Longueur</font></td>
    		  <td width="75%" bgcolor="#FFFF00" align="center"><b><font face="Arial">
    		  mm</font></b></td>
     
    		</tr>
    		<tr>
    		  <td width="25%" align="right"><font face="Arial" size="4">Largeur</font></td>
    		  <td width="75%" bgcolor="#FFFF00" align="center"><b><font face="Arial">
    		  mm</font></b></td>
    		</tr>
    		<tr>
    		  <td width="25%" align="right"><font face="Arial" size="4">Type</font></td>
     
    		  <td width="75%" bgcolor="#FF0000" align="center"><b><font face="Arial" color="#ffffff">
    		  </font></b></td>
    		</tr>
    		<tr>
    		  <td width="25%" align="right"><font face="Arial" size="4">Surface</font></td>
    		  <td width="75%" bgcolor="#FFFF00" align="center"><b><font face="Arial">
    		    mm²</font></b></td>
     
    		</tr>
    		<tr>
    		  <td width="25%" align="right"><font face="Arial" size="4">Périmètre</font></td>
    		  <td width="75%" bgcolor="#FFFF00" align="center"><b><font face="Arial"> mm</font></b></td>
    		</tr>
    		<tr>
    		  <td width="25%" align="right"><font face="Arial" size="4">Diagonale</font></td>
     
    		  <td width="75%" bgcolor="#FFFF00" align="center"><b><font face="Arial"> mm</font></b></td>
    		</tr>
    	  </table>
     <?php 
     
    if(isset($_POST['longueur']))
       {
        $longueur=$_POST['longueur'];
    	$largeur=$_POST['largeur'];
    	$surface=$longueur*$largeur;
    	$perimetre=($longueur+$largeur)*2;
    	$diagonale=sqrt(($longueur+$longueur)*($largeur+$largeur));
       }
     
    echo 'Longueur ='.$longueur.'<br>';
    echo 'largeur ='.$largeur.'<br>';
    echo 'surface ='.$surface.'<br>';
    echo 'perimetre ='.$perimetre.'<br>';
    echo 'diagonale ='.$diagonale.'<br>';
     
     
     
    ?>
    </body>
    </html>
    J'ai refait une partie du code...

    Mnt j'ai d'autres erreur avec les echo!

    Notice: Undefined variable: longueur in C:\Program Files\EasyPHP 3.0\www\rec.php on line 79
    Longueur =

    Notice: Undefined variable: largeur in C:\Program Files\EasyPHP 3.0\www\rec.php on line 80
    largeur =

    Notice: Undefined variable: surface in C:\Program Files\EasyPHP 3.0\www\rec.php on line 81
    surface =

    Notice: Undefined variable: perimetre in C:\Program Files\EasyPHP 3.0\www\rec.php on line 82
    perimetre =

    Notice: Undefined variable: diagonale in C:\Program Files\EasyPHP 3.0\www\rec.php on line 83
    diagonale =

  8. #8
    Invité
    Invité(e)
    Par défaut
    Hello,

    Oui ces warnings t'indiquent que les variables mentionnées ne sont pas définies.

    Une manière de corriger ce problème est soit de les définir en les initialisant.

    exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $var='';
     
    echo $var;
    soit on vérifie si la variable en question est définie:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if(isset($var))
             {
             echo $var;
             }

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2009
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    Je suis complètement largué... Le problème c'est qu'une fois les données entrée... par exemple 15 en largeur et 16 en longueur. Cela va calculer le périmètre, la surface et la diagonale du quadrilatère.

    Mais le problème c'est qu'une fois les données entrées, il n'affiche rien. Je n'arrive récupérer les données rentrées. J'ai pas eu bcp d'heures de cours. Et je patauge énormément!!!!
    :-(
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <?php 
     
    if(isset($_POST['longueur']))
       {
        $longueur=$_POST['longueur'];
    	$largeur=$_POST['largeur'];
    	$surface=$longueur*$largeur;
    	$perimetre=($longueur+$largeur)*2;
    	$diagonale=sqrt(($longueur+$longueur)*($largeur+$largeur));
       }
     
        ?>
    Je lui donne toute les formules pour réaliser l'exercice. Mais si j'ai le malheur d'afficher un echo... Bah ça plante totalement. Je ne sais meme pas ou le mettre.

    Et sinon j'ai l'autre erreur à la ligne 32 juste avt l'ouverture du php...

  10. #10
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Comme te l'indique mygale, ton echo doit être dans ton if : tu ne peux afficher ton resultat que si tu as recu longueur et largeur.

    Sinon des messages comme "quand je met un echo, j'ai une erreur", ca ne nous permet pas du tout de t'aider.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  11. #11
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2009
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    Merci pour toute l'aide fournie...

    Mais je n'y arrive pas. Même quand je clic sur envoyer une fois que je rentre des données... Il me remet

    "Parse error: parse error in C:\Program Files\EasyPHP 3.0\www\rectangle.php on line 32"

    Donc c'est que j'ai une erreur à la ligne 32 juste après mon </table> et avant <php

    j'ai beau cherché des cours un peu partout... Comparer plusieurs exercices!!!! C'est la galère...

    Car un exercice affiche les echo à la fin après le if. D'autres dans le if.

    Merci pour tout...

    Dsl pour le dérangement.

  12. #12
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Dans le code que tu nous as montré
    - il n'y a pas d'erreur de parse
    - la ligne 32 n'est pas celle que tu décris
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  13. #13
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2009
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    alors pourquoi?????? Quand je clic sur envoyer!!!! Il m'écrit parse error????????

  14. #14
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    le fichier rectangle.php n'est pas celui que tu nous montres.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  15. #15
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2009
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    Pourtant je n'ai pas d'autres code que celui là.... C'est tout ce que j'ai...

  16. #16
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu parles de quelle version ?
    Dans celle corrigé il n'y a pas d'erreur.
    Dans celle de départ il manque un ; ligne 31
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  17. #17
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2009
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    Voilà j'ai enfin trouvé!!!!!! L'erreur parse error!!!!

    Tout fonctionne très bien... Sauf un petit détail... Comment puis je faire pour que les réponse apparaissent dans le second tableau????

    Voici le code:
    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
     
    <html>
    <head>
    </head>
    <body>
     
    <p><font face="Arial" size="4">Exercice 1</font></p>
    <form method="POST" action="rectangle.php">
     
    	<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="30%" id="AutoNumber1">
    		<tr>
    		  <td width="25%" ><font face="Arial" size="4">Longueur :</font></td>
     
    		  <td width="75%" bgcolor="#FFFF00" >
    			<input type="text" name="longueur" size="10">
    		  </td>
    		</tr>
    		<tr>
    		  <td width="25%" ><font face="Arial" size="4">Largeur :</font></td>
    		  <td width="75%" bgcolor="#FFFF00" >
    			<input type="text" name="largeur" size="10">
     
    		  </td>
    		</tr>
    		<tr>
    		  <td width="25%"><font face="Arial" size="4"></font></td>
    		  <td width="75%"  >
    			<input type="submit" value="Envoyer" name="B1">
    			<input type="reset" value="Rétablir" name="B2">
    		  </td>
    		</tr>
        </table>
    	</form>
     
    	<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="30%" id="AutoNumber1">
    		<tr>
    		  <td width="25%" align="right"><font face="Arial" size="4">Longueur</font></td>
    		  <td width="75%" bgcolor="#FFFF00" align="center"><b><font face="Arial">
    		  mm</font></b></td>
     
    		</tr>
    		<tr>
    		  <td width="25%" align="right"><font face="Arial" size="4">Largeur</font></td>
    		  <td width="75%" bgcolor="#FFFF00" align="center"><b><font face="Arial">
    		  mm</font></b></td>
    		</tr>
    		<tr>
    		  <td width="25%" align="right"><font face="Arial" size="4">Type</font></td>
     
    		  <td width="75%" bgcolor="#FF0000" align="center"><b><font face="Arial" color="#ffffff">
    		  </font></b></td>
    		</tr>
    		<tr>
    		  <td width="25%" align="right"><font face="Arial" size="4">Surface</font></td>
    		  <td width="75%" bgcolor="#FFFF00" align="center"><b><font face="Arial">
    		    mm²</font></b></td>
     
    		</tr>
    		<tr>
    		  <td width="25%" align="right"><font face="Arial" size="4">Périmètre</font></td>
    		  <td width="75%" bgcolor="#FFFF00" align="center"><b><font face="Arial"> mm</font></b></td>
    		</tr>
    		<tr>
    		  <td width="25%" align="right"><font face="Arial" size="4">Diagonale</font></td>
     
    		  <td width="75%" bgcolor="#FFFF00" align="center"><b><font face="Arial"> mm</font></b></td>
    		</tr>
    	  </table>
     <?php 
     
    if(isset($_POST['longueur']))
    {
     
    {   
    $longueur=$_POST['longueur'];
    $largeur=$_POST['largeur'];
    $perimetre=$longueur+$largeur;
    $surface=($longueur+$largeur)*2;
    $diagonale=sqrt(($longueur*$longueur)+($largeur*$largeur));
     
    echo 'LONGUEUR : '.$longueur. '<br>';
    echo 'LARGEUR : '.$largeur. '<br>';
    echo 'Le PERIMETRE de votre quadrilatère est de : '.$perimetre. '<br>';
    echo 'La SURFACE de votre quadrilatère est de : '.$surface. '<br>';
    echo 'La diagonale de votre quadrilatère est de : '.$diagonale. '<br>';
    }
    if ($longueur==$largeur)
    {
    echo 'Votre quadrilatère est un CARRE.';
    }
    else
    {
    echo 'Votre quadrilatère est un RECTANGLE.';
    }
     
    }
    ?> 
     
    </body>
    </html>

  18. #18
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2009
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    C'est bon j'ai réussi... A tout faire... merci bcp pour toute l'aide... Cela ouvre l'esprit...

    Ben c'est pas facile d'apprendre ainsi sans avoir un minimum d'assistance derrière nous.

    Merci bcp de votre patience.
    3 jours que je suis sur ce petit truc basique pour vous.

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

Discussions similaires

  1. Exercices pour PHP
    Par Aymenxy dans le forum Langage
    Réponses: 9
    Dernier message: 23/12/2014, 16h19
  2. Quelques pistes pour exercices PHP
    Par ceroxan dans le forum Langage
    Réponses: 5
    Dernier message: 08/04/2009, 09h56
  3. [MySQL] Important | exercice noté php
    Par MisterMacPhisto dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 25/05/2007, 17h31

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