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 :

[PHP-JS] La fonction intval() me renvoie toujours 0


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 117
    Points : 58
    Points
    58
    Par défaut [PHP-JS] La fonction intval() me renvoie toujours 0
    Bonjour, après 48h de recherche sur le web, je n'ai pas trouvé la solution à mon problème, a savoir, transformer une chaine en integer...facile apparement mais....sir je fais ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    $str="0106";
    $new=intval($str);
    echo $new." ".gettype($new);
    ?>
    ça me renvoie bien un entier valant 106, mais sir je fais la même chose dans ma fonction; a savoir :

    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
    function resizePic($aWidth,$aHeight,$aSupportId){
    	// Taille maxi
    	$aWidthMax="<script>document.write(document.getElementById('".$aSupportId."').style.width);</script>";
    	$aHeightMax="<script>document.write(document.getElementById('".$aSupportId."').style.height);</script>";
     
     
                 $new=intval($aWidthMax);
                 echo $new." ".gettype($new);
     
    	.
    .
    .
    .
    .
    .	}
    ?>

  2. #2
    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
    $aWidthMax etant une "vraie" chaine de caracteres, elle renvoit 0.

    Les chaînes de caractères retournent la plupart du temps 0, cela dépend de les caractères à l'extrême gauche de la chaîne de caractères. La règle courante du transtypage d'entier s'applique.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 117
    Points : 58
    Points
    58
    Par défaut
    Vi vi vi mais donc comment faire ?!!! puisque je rappel que j'ai déja essayé le transtypage mais tout ce que j'ai trouvé jusqu'a présent ne donne aucun résultat dans mon cas

  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
    Citation Envoyé par leFred Voir le message
    Vi vi vi mais donc comment faire ?!!!
    La question est plutôt de savoir ce que tu veux faire exactement...
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 117
    Points : 58
    Points
    58
    Par défaut
    Bon, je vais essayé d'etre plus précis :

    je veux :
    Convertir le résultat d'une variable (que je recupère via javascript) comme chaine de caractères (string) en une valeur numérique (entier, integer) afin de m'en servir en tant qu'opérateur de calcul.

  6. #6
    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
    Bon, ben ça va être simple alors : c'est impossible. Tu ne peux utiliser le résultat d'une fonction js dans une fonction php.
    Peut-on lancer une fonction PHP depuis une fonction JavaScript ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 117
    Points : 58
    Points
    58
    Par défaut
    Bon, je reformule autrement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function resizePic($aWidth,$aHeight,$aSupportId){
    	// Taille maxi
    	$aWidthMax="<script>document.write(document.getElementById('".$aSupportId."').style.width);</script>";
    	$aHeightMax="<script>document.write(document.getElementById('".$aSupportId."').style.height);</script>";           
                 $new=intval($aWidthMax);
                 echo $new." ".gettype($new);
    	}
    Je veux convertir une variable de type chaine (que je recupére par un moyen impossible mais qui fonctionne!!!) en integer

  8. #8
    Membre confirmé
    Inscrit en
    Février 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Février 2005
    Messages : 419
    Points : 532
    Points
    532
    Par défaut
    Tu as l'impression que ça fonctionne mais ça ne fonctionne pas.
    Ce que tu veux faire est en effet impossible.

    Quand javascript s'exécute, PHP a déjà fini son travail depuis longtemps.

    Ton navigateur t'affiche donc la bonne valeur puisqu'il execute le javascript, mais PHP ne connait jamais ta largeur.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 117
    Points : 58
    Points
    58
    Par défaut
    Ah ? et quelle serait la démarche a adopter dans ce cas ?

  10. #10
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Citation Envoyé par leFred Voir le message
    Ah ? et quelle serait la démarche a adopter dans ce cas ?
    Pour faire quoi exactement ?

    Parce que ta fonction a beau être nommée resizePic, elle ne fait que récupérer 2 chaines de caractère, tente de transtyper l'une d'entre elle et affiche le type de la variable.

    Tu veux redimensionner une image à l'affichage ? :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
    $img = '/images/img1.jpeg';
    $sizes = getimagesize($img);
    $width = 200; 
    $height = $sizes[1] * ($width / $sizes[0]);
    echo '<img src="'.$img.'" alt="Visuel représentant blablabla" width="'.$width.'" height="'.$height.'" />';
    ?>

  11. #11
    Membre actif
    Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2006
    Messages
    240
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2006
    Messages : 240
    Points : 275
    Points
    275
    Par défaut
    Le meileur moyens serait d'envoyer une requête avec des données en get ou post et de les traiter avec le php, c'est le seule moyens a ma connaissance ... a moins qu'un expert puisse dire mieux
    J'suis loin d'être un expert, seulement un passionné.
    L'humanité de l'homme ne reside que dans son intelligence. Certains l'on compris. D'autres ne le comprendront jamais... (Histrat)

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 117
    Points : 58
    Points
    58
    Par défaut
    Citation Envoyé par ThomasR Voir le message
    Pour faire quoi exactement ?

    Parce que ta fonction a beau être nommée resizePic, elle ne fait que récupérer 2 chaines de caractère, tente de transtyper l'une d'entre elle et affiche le type de la variable.
    Ben oui parce que je vous épargne tout le reste du code, j'ai juste mis le bout qui pose probleme

    Citation Envoyé par ThomasR Voir le message
    Tu veux redimensionner une image à l'affichage ? :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
    $img = '/images/img1.jpeg';
    $sizes = getimagesize($img);
    $width = 200; 
    $height = $sizes[1] * ($width / $sizes[0]);
    echo '<img src="'.$img.'" alt="Visuel représentant blablabla" width="'.$width.'" height="'.$height.'" />';
    ?>
    Pas exactement; disons que j'ai une div "supportImage" (mais qui peut en etre une autre, c'est pour ça que je tente de faire une fonction avec argument) par dessus laquelle je voudrais afficher une image dynamiquement; hors il faut que je retaille cette image en fonction de la taille de la div (supportImage). Pour le redimensionnement pas de probleme je sais faire mais la difficulté viens de récupérer la hauteur et la largeur de la div initialement ?

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 117
    Points : 58
    Points
    58
    Par défaut
    Non parce que ce div ne contient pas d'image, c'est juste un support avec transparence, mais il faut que je connaisse sa taille pour appliquer le même format au div du dessus (qui lui contiendra l'image)

    Tiens?!! le temps de poster ma réponse et le message à disparu ?!!!

  14. #14
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    (désolé j'ai supprimé mon message avant ta réponse)
    Ok je vois ce que tu veux dire,

    Qu'est ce qui rend la taille de ce <div/> variable ? Son contenu ?

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 117
    Points : 58
    Points
    58
    Par défaut
    Non, celui la ne change pas, mais j'aurais besoin d'executer cette fonction a plein d'occasion pour des div de tailles differentes, donc il me faut une fonction générique

  16. #16
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Dans ce cas tu pourrais passer la hauteur et la largeur en paramètre de ta fonction car je crois que tu ne trouveras pas de solution en PHP, pour récupérer la hauteur d'un <div/> à générer.

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 117
    Points : 58
    Points
    58
    Par défaut
    c'est bien ce que j'ai tenté de faire via l'appel de ma fonction mais le probleme est le même puisque ça vient forcement du javascript ce genre de parametre donc il y a forcement l'envoie de valeur de javascript vers php à un moment, mais je n'arrive pas à les recupérer correctement

    PS : ce n'est pas la hauteur et largeur du div a generer que je veux récuperer mais celles d'un div qui existe déja.

  18. #18
    Membre actif
    Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2006
    Messages
    240
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2006
    Messages : 240
    Points : 275
    Points
    275
    Par défaut
    ... Truc bêtes pourquoi tu fais pas une fonction générique en javascript que tu appelles a chaque fois ?
    J'suis loin d'être un expert, seulement un passionné.
    L'humanité de l'homme ne reside que dans son intelligence. Certains l'on compris. D'autres ne le comprendront jamais... (Histrat)

  19. #19
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 117
    Points : 58
    Points
    58
    Par défaut
    J'ai essayé aussi mais pas moyen; apparemment en plus c'est pas conseillé de mettre du js et le probleme de transmission de js à php reste le même et pourtant on me dis que c'est impossible; j'avoue que je désespère, je bloque depuis 2 j la dessus

    J'ai essayé aussi par les champs hidden
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type='hidden' name='node_Support' id='node_Support' value=''>
    mais je ne sais pas comment mettre la valeur à savoir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('supportVignette').style.width
    dans le value ?

  20. #20
    Membre actif
    Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2006
    Messages
    240
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2006
    Messages : 240
    Points : 275
    Points
    275
    Par défaut
    Déjà ... y a un truc qui va pas là ...


    Ce serait plutot :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('node_Support' ).style.width
    J'suis loin d'être un expert, seulement un passionné.
    L'humanité de l'homme ne reside que dans son intelligence. Certains l'on compris. D'autres ne le comprendront jamais... (Histrat)

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. fonction intval ne fonctionne pas toujours ?
    Par ninikkhuet dans le forum Langage
    Réponses: 2
    Dernier message: 24/12/2009, 11h23
  2. Réponses: 2
    Dernier message: 16/04/2005, 21h24
  3. [PHP-JS] pb lecture script php dans une fonction au démarrage
    Par jerome38000 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 09/02/2005, 16h07
  4. [PHP-JS] Arguments PHP d'une fonction javascript
    Par Néo-Tony dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 22/12/2004, 13h06
  5. Fonction utilisateur qui renvoie la date du jour
    Par falcon dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 13/12/2004, 12h03

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