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 :

Transtypage vers int depuis du string en JS [PHP 7]


Sujet :

Langage PHP

  1. #1
    Membre éclairé Avatar de ypcman
    Homme Profil pro
    Retraité codeur !
    Inscrit en
    Janvier 2011
    Messages
    595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité codeur !
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2011
    Messages : 595
    Points : 879
    Points
    879
    Par défaut Transtypage vers int depuis du string en JS
    Bonjour.
    Je me tape un peu la tête contre les murs pour un trans-typage qui ne devrait pourtant pas être bien compliqué :
    Je récupère la largeur d'une fenêtre depuis un script en Javascript. Cette valeur est un String que je souhaite convertir en entier, et là ça coince, que je passe par (int) ou par intval() ...

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $largeur="<script language='java-script'>document.write(window.innerWidth);</script> ";
    $largeur=trim($largeur);
    echo "<p>".gettype($largeur)."____".$largeur."____</p>";                       
    $largeur_=(int) $largeur;             
    echo "<p>".gettype($largeur_)."____".$largeur_."____</p>";  
    $largeur__=intval($largeur);     
    echo "<p>".gettype($largeur__)."____".$largeur__."____</p>";

    J'obtiens :
    string____1636____

    integer____0____

    integer____0____
    Quelqu'un a une idée ?

    Merci d'avance
    Participez vous aussi !
    Message utile
    Discussion résolue

  2. #2
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 848
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 848
    Points : 6 535
    Points
    6 535
    Par défaut
    Moi ce qui m'inquiète dans cette histoire c'est que tu penses récupérer le résultat d'un script Javascript (qui s'execute coté client) dans un script PHP (qui s'exécute coté serveur) juste en le plaçant dans une chaîne de caractères.

    Toute la partie PHP est exécuté coté serveur en premier, donc ta variable PHP $largeur ne contiendra jamais le résultat du script Javascript.
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

  3. #3
    Membre éclairé Avatar de ypcman
    Homme Profil pro
    Retraité codeur !
    Inscrit en
    Janvier 2011
    Messages
    595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité codeur !
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2011
    Messages : 595
    Points : 879
    Points
    879
    Par défaut
    Ça renvoie pourtant bien 1636 qui est la largeur de la fenêtre et qui varie si je diminue dynamiquement la fenêtre
    Participez vous aussi !
    Message utile
    Discussion résolue

  4. #4
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 848
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 848
    Points : 6 535
    Points
    6 535
    Par défaut
    Ça ne renvoie pas 1636, mais ton browser l'affiche car ton premier echo écrit <script language='java-script'>document.write(window.innerWidth);</script> qui est envoyé tel quel au client qui ensuite l'interprète. Tu le verras si tu affiches le code de ta page dans ton browser. PHP quant à lui n'aura jamais connaissance de la largeur de la fenêtre. Pour lui $largeur est une chaîne sans le moindre chiffre et basta.
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

  5. #5
    Membre éclairé Avatar de ypcman
    Homme Profil pro
    Retraité codeur !
    Inscrit en
    Janvier 2011
    Messages
    595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité codeur !
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2011
    Messages : 595
    Points : 879
    Points
    879
    Par défaut
    Tu as tout a fait raison, j'ai le cerveau qui s'embrume ...
    Discussion close, merci.
    Participez vous aussi !
    Message utile
    Discussion résolue

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

Discussions similaires

  1. Conversion String vers Int ?
    Par manworms2 dans le forum C++Builder
    Réponses: 1
    Dernier message: 08/12/2008, 09h36
  2. Conversion de String vers int
    Par CyberSlan dans le forum C++
    Réponses: 21
    Dernier message: 30/05/2008, 09h39
  3. conversion string vers int
    Par canary dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 11/05/2008, 19h35
  4. [convertion]String vers int
    Par laclac dans le forum Langage
    Réponses: 4
    Dernier message: 12/04/2007, 11h49
  5. conversion string vers int
    Par mathher dans le forum C++
    Réponses: 4
    Dernier message: 14/04/2006, 18h52

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