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 :

Conversion String --> INT


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 265
    Points : 149
    Points
    149
    Par défaut Conversion String --> INT
    Bonjour,

    Je m'arrache le peu de cheveux qui me reste avec le code suivant. J'ai tout essayé (enfin je crois) même en utilisant le casting. Je suis incapable par la suite de faire des opérations sur des string que je pense avoir converti en int et qui donnent toujours comme résultat 0. Je subodore que les strings qui sont retournés par JavaScript doivent avoir une forme très particulière (code page ?) car les tailles de ces strings sont étranges, mais sans doute y a t-il une autre raison.

    Merci de m'aider à résoudre ce problème (si possible). Voici un extrait de mon code.

    Gérard

    test.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
     
     <?php
        function resol()
        {
       	 $resol='<script type="text/javascript">document.write(""+screen.width+"*"+screen.height+"");</script>';
        	return $resol;
        }
        $var_resol=resol();
        $tailles = explode("*",$var_resol);
        $largeur=trim($tailles[0]);
        $hauteur=trim($tailles[1]);
        echo "<br>Type de  \$Largeur --->  ".gettype($largeur)."  et  type de \$Hauteur ---> ".gettype($hauteur);
        echo "<br>Taille de  \$Largeur --->  ".strlen($largeur)."  et  taille de \$Hauteur ---> ".strlen($hauteur);
        echo "<br>Largeur=".$largeur."   Hauteur=".$hauteur;
        $x=intval($largeur);
        $y=intval($hauteur);
        echo "<br>Arpès conversion : \$Largeur=".$x."   \$Hauteur=".$y;
    ?>

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Euh... tu crois que PHP (donc le serveur) est capable d'exécuter du code JavaScript sur le navigateur du client ?

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 265
    Points : 149
    Points
    149
    Par défaut
    Pourtant lorsque j'éxecute la procédure php je récupère bien dans les variables $largeur et $hauteur les tailles de mon écran. Par contre je suis incapable de réaliser des opérations mathématique sur ces variables même si je les convertis en int. Ces variables ont donc un format spécial.

    Voici la sortie de cette procédure php.

    Type de $Largeur ---> string et type de $Hauteur ---> string
    Taille de $Largeur ---> 63 et taille de $Hauteur ---> 29
    Largeur=1440 Hauteur=900 // ça c'est bon.
    Arpès conversion : $Largeur=0 $Hauteur=0



    Merci quand même pour la réponse

    Gérard

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Euh... tu utilises strlen pour afficher la taille de $largeur et $hauteur, autrement dit tu compte le nombre de caractères de tes chaines

    Si tu fais un bête var_dump($tailles), ça donne quoi ?

  5. #5
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Ben... sa fonction renvoie une chaine fixe ('<script type="text/javascript">document.write(""+screen.width+"*"+screen.height+"");</script>'), donc le var_dump renverra
    array (size=2)
      0 => string '<script type="text/javascript">document.write(""+screen.width+"' (length=63)
      1 => string '"+screen.height+"");</script>' (length=29)

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    En fait, ce qui est spectaculaire là-dedans, c'est que malgré tout, dans son code, quand il affiche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<br>Largeur=".$largeur."   Hauteur=".$hauteur;
    ben ça reconstitue la balise script
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    Largeur=<script type="text/javascript">document.write(""+screen.width+"   Hauteur="+screen.height+"");</script>
    avec de bons paramètres et il obtient les bons résultats à l'écran !

    Moralité : la PPC (Programmation Par Chance), des fois, ça marche (enfin... presque) !

  7. #7
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Ah ! j'ai compris !
    Lorsque tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     echo "<br>Largeur=".$largeur."   Hauteur=".$hauteur;
    Dans la source HTML, tu obtiens :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <br>Largeur=<script type="text/javascript">document.write(""+screen.width+"Hauteur="+screen.height+"");</script>
    Ton navigateur exécute le JS et t'affiche :
    Largeur=1440 Hauteur=900
    D'où l'intérêt d'utiliser var_dump ou print_r pour afficher les variables pendant le dev.

    EDIT : et Bovino a compris plus vite que moi

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 265
    Points : 149
    Points
    149
    Par défaut
    Merci pour ces réponses, si je comprends bien en fait mes variables ne sont que du code javascript qui s'éxécute online. Entre-temps j'avais fait un var_dump de mes variables et avais noté cela. Je vais donc essayer par les cookies.

    Merci encore pour votre aide précieuse

    Gérard

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

Discussions similaires

  1. conversion string en int
    Par edenyorke dans le forum C
    Réponses: 15
    Dernier message: 29/10/2006, 21h49
  2. Réponses: 7
    Dernier message: 26/10/2006, 17h50
  3. [C#] Conversion string to int
    Par OpenGG dans le forum C#
    Réponses: 2
    Dernier message: 23/08/2006, 20h08
  4. conversion string vers int
    Par mathher dans le forum C++
    Réponses: 4
    Dernier message: 14/04/2006, 18h52
  5. [FLASH MX 2004] conversion string en int.
    Par calfater dans le forum Flash
    Réponses: 3
    Dernier message: 26/05/2004, 16h00

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