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 :

[Tableaux] Pb de division par zéro...


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 494
    Par défaut [Tableaux] Pb de division par zéro...
    J'ai fait une page avec un formulaire, un script et un tableau (dans lequel se trouve les données qui ont été calculées grâce aux valeurs du formulaire.

    Je déclare dans ma page une variable de la sorte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $var = intval(LARGEUR_PAPIER / $largeur);
    La variable $largeur provient du formulaire, mais à l'affichage personne ne l'a encore remplit du coup j'ai un message d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Warning: Division by zero in /.../...
    J'ai donné en premier lieu "1" comme valeur à cette variable.
    Le problème c'est que mon tableau tient déjà compte de cette valeur au lancement de la page.

    Comment je fais pour éviter ce problème ?

  2. #2
    FFF
    FFF est déconnecté
    Membre éclairé Avatar de FFF
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 342
    Par défaut
    avec un if mettant à l'écart la valeur 0, ou bien en gérant les exceptions:
    try {
    }
    catch() {}

  3. #3
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 358
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 358
    Billets dans le blog
    17
    Par défaut
    Si $largeur provient d'un formulaire il faut y accéder par $_GET ou $_POST.
    Pour tester si la valeur existe ou non fait un isset( ).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if ( isset($_POST['largeur']) ) {
        // Un <form> a été soumis, $_POST['largeur'] est valorisé
        // On vérifie qd même s'il n'est pas égal à 0
        // Et on fait les traitements qui vont bien
    }

  4. #4
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    isset teste l'existence de la variable
    is_numeric teste si c'est un entier ou flottant
    (int) te permet de caster en entier
    == 0 permet de savoir si ta variable est égale à 0.

    Avec ça tu devrais t'en sortir

  5. #5
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 494
    Par défaut
    Eh ben que de réponses
    Merci

    Je viens de penser à quelque chose étant donné que ce ne sont que des warnings et que mon script ne sera utilisé que par moi, y a pas moyen d'enlever les warnings tout simplement, surtout que sur mon serveur en local, il me dit rien, c'est avec mon hébergeur que ca gueule...

  6. #6
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 358
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 358
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par blueice
    Je viens de penser à quelque chose étant donné que ce ne sont que des warnings et que mon script ne sera utilisé que par moi, y a pas moyen d'enlever les warnings tout simplement, surtout que sur mon serveur en local, il me dit rien, c'est avec mon hébergeur que ca gueule...
    Je vais faire comme si je n'avais rien lu...

  7. #7
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    oui il y a un moyen, non je ne te le dirais pas. Si tu veux par contre je veux bien te dire comment les afficher chez toi

    Il est très mauvais de cacher les erreurs à mon avis. Quand tu fais le ménage chez toi, tu mets pas la poussière sous le tapis... En php c'est pareil

  8. #8
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 494
    Par défaut
    J'ai fait une petite moulinette, bien évidemment, que je pourrais faire ca plus proprement, mais je n'ai pas le temps.

    Pour enlever les warnings, je parle de faire ca dans ma page PHP pas sur le serveur, je suis sur serveur mutualisé..

    Sur ma bécane suffit d'aller dans php.ini

  9. #9
    FFF
    FFF est déconnecté
    Membre éclairé Avatar de FFF
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 342
    Par défaut
    http://fr.php.net/exceptions

    mais il te faut php 5

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

Discussions similaires

  1. division par zéro depuis certains postes
    Par momentz dans le forum Access
    Réponses: 7
    Dernier message: 03/07/2006, 16h32
  2. Division par zéro
    Par soltani1 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 18/05/2006, 10h42
  3. [CR][VS.NET]Division par zéro
    Par San Soussy dans le forum SDK
    Réponses: 2
    Dernier message: 31/08/2005, 15h40
  4. [CR8.5] Problème de division par zéro sur formule
    Par franck.cvitrans dans le forum Formules
    Réponses: 3
    Dernier message: 10/06/2004, 14h41
  5. probleme avec une division par zéro
    Par jcharleszoxi dans le forum Langage SQL
    Réponses: 2
    Dernier message: 26/03/2003, 19h14

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