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 :

Probleme avec Call Stack - isset


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 76
    Points : 45
    Points
    45
    Par défaut Probleme avec Call Stack - isset
    Bonjour,
    J'ai créé un formulaire mais quand j'ouvre la page j'ai des erreurs comme vous pouvez voir sur la capture d'ecran.
    Nom : php-001.PNG
Affichages : 235
Taille : 31,9 Ko
    j'ai essayé avec ISSET mais je ne trouve de solution
    voici le code 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
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    <!--TEST-TEST-TEST-->
       <form action="<?php $_SERVER['PHP_SELF']; ?>" method="get">
     Diametre-Inter: <input type="text" name="Diametre-Inter"><br>
     Diametre-Exter: <input type="text" name="Diametre-Exter"><br>
     Division: <input type="text" name="division"><br>
     <input type = "submit" value = "Calculer">
     </form>
     
    Diametre Interrieur: <?php echo $_GET["Diametre-Inter"]; ?><br>
    Diametre Exterieur: <?php echo $_GET["Diametre-Exter"]; ?><br>
    Division: <?php echo $_GET["division"]; ?><br>
     
    <?php
     
    $rayon_Inter = $_GET["Diametre-Inter"]/2;
    $rayon_Exter = $_GET["Diametre-Exter"]/2;
    $divis = $_GET["division"];
    //if(isset($_GET[$rayon_Inter]) && isset($_GET[$rayon_Exter])){
    for($i=0 ; $i<=360;$i+=360/$divis){
    	$r = deg2rad ($i);
    	$k = cos($r) * $rayon_Inter;
    	$l = sqrt ( pow($rayon_Exter,2)-pow ($k,2));
    	$x = $rayon_Exter - $l;
     
     
    		echo number_format ($x ,1) . " mm<br>";
     
     
    }
    //}
     
     
    echo "<hr>";
    echo $rayon_Inter . "<br>";
    echo $rayon_Exter . "<br>";
    echo "<hr>";
     
    ?>
    	<!--TEST-TEST-TEST-->
    comment puis-je régler ce petit probleme?
    merci d'avance

  2. #2
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Tu as essayé ça ?

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?php echo isset($_GET["Diametre-Inter"]) ? $_GET["Diametre-Inter"] : ""; ?>
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 76
    Points : 45
    Points
    45
    Par défaut
    Merci badaze pour ton aide
    voici le code final:
    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
     
    <form action="<?php $_SERVER['PHP_SELF']; ?>" method="get">
     Diametre-Inter: <input type="text" name="Diametre-Inter"><br>
     Diametre-Exter: <input type="text" name="Diametre-Exter"><br>
     Division: <input type="text" name="division"><br>
     <input type = "submit" value = "Calculer">
     </form>
     <?php
     
     if (isset ($_GET["Diametre-Inter"]) && isset($_GET["Diametre-Exter"])){?>
    Diametre Interrieur: <?php echo $_GET["Diametre-Inter"]; ?><br>
    Diametre Exterieur: <?php echo $_GET["Diametre-Exter"]; ?><br>
    Division: <?php echo $_GET["division"]; ?><br>
     
    <?php
     
    $rayon_Inter = $_GET["Diametre-Inter"]/2;
    $rayon_Exter = $_GET["Diametre-Exter"]/2;
    $divis = $_GET["division"];
    for($i=0 ; $i<=360;$i+=360/$divis){
    	$r = deg2rad ($i);
    	$k = cos($r) * $rayon_Inter;
    	$l = sqrt ( pow($rayon_Exter,2)-pow ($k,2));
    	$x = $rayon_Exter - $l;
     
     
    		echo number_format ($x ,1) . " mm<br>";
     
     
    }
    }
     
    if (isset ($rayon_Inter) && isset($rayon_Exter)){
    echo "<hr>";
    echo $rayon_Inter . "<br>";
    echo $rayon_Exter . "<br>";
    echo "<hr>";
    }
    ?>

  4. #4
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Une bonne pratique est de traiter les paramètres d'une page dès le début. De cette manière tu n'as plus à t'en préoccuper dans le reste du code.

    Code php : 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
     
    <?php 
    $Din = isset($_GET["Diametre-Inter"]) ? $_GET["Diametre-Inter"] : 0;
    $Dex = isset($_GET["Diametre-Exter"]) ? $_GET["Diametre-Exter"] : 0;
    $Div = isset($_GET["division"])       ? $_GET["division"]       : 0;
    ?>
    <form action="<?php $_SERVER['PHP_SELF']; ?>" method="get">
     Diametre-Inter: <input type="text" name="Diametre-Inter"><br>
     Diametre-Exter: <input type="text" name="Diametre-Exter"><br>
     Division: <input type="text" name="division"><br>
     <input type = "submit" value = "Calculer">
     </form>
    Diametre Interieur: <?php echo $Din; ?><br>
    Diametre Exterieur: <?php echo $Dex; ?><br>
    Division: <?php echo $Div; ?><br>
     
    <?php
     
    $rayon_Inter = $Din/2;
    $rayon_Exter = $Dex/2;
    $divis = $Div;
    for($i=0 ; $i<=360;$i+=360/$divis){
     $r = deg2rad ($i);
     $k = cos($r) * $rayon_Inter;
     $l = sqrt ( pow($rayon_Exter,2)-pow ($k,2));
     $x = $rayon_Exter - $l;
     
     
     echo number_format ($x ,1) . " mm<br>";
    }
    }
     
    //if (isset ($rayon_Inter) && isset($rayon_Exter)){ <= Ne sert à rien vu que tu as ces variables en partie gauche d'une expression
    //                                                     elles sont donc définies.
    echo "<hr>";
    echo $rayon_Inter . "<br>";
    echo $rayon_Exter . "<br>";
    echo "<hr>";
    //}
    ?>
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 76
    Points : 45
    Points
    45
    Par défaut
    Merci pour le conseil
    voici le resultat final:
    http://cadtuts.eu/piquage.php

  6. #6
    Membre éprouvé Avatar de Willy_k
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

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

    Informations forums :
    Inscription : Juin 2011
    Messages : 540
    Points : 1 067
    Points
    1 067
    Par défaut
    Salut,
    est-ce normal qu'on puisse rentrer par exemple des valeurs négatives ?
    Le bienfait n'est jamais perdu

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 76
    Points : 45
    Points
    45
    Par défaut
    Citation Envoyé par Willy_k Voir le message
    Salut,
    est-ce normal qu'on puisse rentrer par exemple des valeurs négatives ?
    la c'est un peu compliqué
    je vais essayer de trouver une solution

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 76
    Points : 45
    Points
    45
    Par défaut
    OK,
    J'ai fait un test avec la Fonction is_numeric mais je n'arrive pas a insérer la valeur absolue abs () .
    voici le code du test:

    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
     
    <form action="<?php $_SERVER['PHP_SELF']; ?>" method="get">
     x: <input type="text" name="x"><br>
     y: <input type="text" name="y"><br>
     
     <input type = "submit" value = "ok">
     </form>
     
    <?php
     
    if (isset ($_GET["x"]) && isset($_GET["y"])){
     
    if (is_numeric ($_GET["x"]) && is_numeric ($_GET["y"])){
    echo $_GET["x"] . "<br>";
    echo $_GET["y"] . "<br>";
     
    }else{
     
        echo "pas bon";
    }
     
     
    }
     
    ?>
    Merci pour votre aide

  9. #9
    Membre éprouvé Avatar de Willy_k
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

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

    Informations forums :
    Inscription : Juin 2011
    Messages : 540
    Points : 1 067
    Points
    1 067
    Par défaut
    Pour le abs, $x = abs($_GET['x']); par exemple.
    Si je vous comprend, vous voulez accepter des valeurs négatives mais côté traitement les "convertir" en valeurs positives ?
    Le bienfait n'est jamais perdu

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 76
    Points : 45
    Points
    45
    Par défaut
    Citation Envoyé par Willy_k Voir le message
    Pour le abs, $x = abs($_GET['x']); par exemple.
    Si je vous comprend, vous voulez accepter des valeurs négatives mais côté traitement les "convertir" en valeurs positives ?
    Je voulais que le formulaire accepte que les chiffres positifs et qu'il n'accepte pas les chiffres negatifs et les caracteres. j'ai essayé hier avec abs() et avec une condition if mais c'est compliquer, je ne suis pas programmeur, j'ai acheté le livre PHP 5 pour apprendre mais il faut beaucoup de temps et de patience.
    Pour moi avec ça c'est parfait pour le moment.
    http://cadtuts.eu/piquage.php
    Merci pour votre aide

Discussions similaires

  1. Probleme de call de services avec CXF
    Par fedora8 dans le forum Services Web
    Réponses: 4
    Dernier message: 18/05/2011, 10h45
  2. [Smarty] Probleme avec isset
    Par 0coco0 dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 29/01/2010, 20h36
  3. probleme avec le CALL
    Par domdom974 dans le forum Fortran
    Réponses: 4
    Dernier message: 19/09/2009, 11h43
  4. [MySQL] probleme avec isset
    Par juju03 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 17/06/2008, 09h38
  5. Réponses: 5
    Dernier message: 05/12/2007, 18h20

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