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 :

Comment récupérer une variable javascript en php?


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 488
    Points : 134
    Points
    134
    Par défaut Comment récupérer une variable javascript en php?
    Bonjour,

    Je fais un test qui m'ajoute l'un ou l'autre fichier suivant la résolution de l'écran.

    dans un premier fichier je récupère la résolution de l’écran:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <script language="JavaScript">
     
    var w = screen.width;
    var h = screen.height;
     
    </script>
    et dans un autre je fais mon 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
    $width = "<script>document.write(w);</script>";
    $height = "<script>document.write(h);</script>";
    echo $width.",".$height;
     
    if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false)
    {
        if (($width==1024) && ($height==768)){
     
            $this->headScript()->appendFile(PUBLIC_PATH . 'js/jquery/cars/cars3.ini.js', $type = 'text/javascript');
        }
    else {
     
    ....}
    }
    Vu que le php s’exécute côté serveur, php ne récupère pas la valeur de mes variables, comment faire pour résoudre ce problème?

    Merci d'avance

  2. #2
    Membre régulier Avatar de LeGnome12
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2008
    Messages : 98
    Points : 109
    Points
    109
    Par défaut passage par hidden
    Salut,

    Je présume qu'il existe une navigation entre tes pages.
    Si c'est le cas, l'idée que je peux te suggérer "je l'accorde n'est pas très académique" c'est de créer dans ton HTML un input type hidden.

    Ensuite, tu appelles ton JavaScript qui met à jour le contenu du hidden. document.MyHiddenId.value=

    C'est l'idée, après il faut adapter.

  3. #3
    Membre habitué Avatar de ilalaina
    Homme Profil pro
    Inscrit en
    Mai 2007
    Messages
    341
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2007
    Messages : 341
    Points : 187
    Points
    187
    Par défaut
    Bonjour,
    Tu peux faire comme ceci :
    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
     
    <?php
    if(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false)
    {
        $flagBrowser = 'NONIE';
    }
    else
    {
        $flagBrowser = 'IE';
    }
    ?>
    <script type="text/javascript">
    	// Contenu de ton fichier JS
        function maFonction(flagBrowser)
        {
            var w = screen.width;
            var h = screen.height;
            if(flagBrowser == 'IE' && w == 1024 && h == 768)
            {
                // ...
            }
        }
    </script>
    <?php
    $this->view->headScript()->captureStart();
    ?>
    // Appel de la fonction JS dans ton controleur ...
    maFonction('<?php echo $flagBrowser; ?>');
    <?php
    $this->view->headScript()->captureEnd();
    ?>
    " ... On naît, on vit, on meurt, mais exister est un honneur ... "

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 488
    Points : 134
    Points
    134
    Par défaut
    Voilà ce que je fais Ilalaina:

    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    /**** Carrousel 3D ****/
    $this->headScript()->appendFile(PUBLIC_PATH . 'js/jquery/carrousel/cloud-carousel.1.0.4.js', $type = 'text/javascript');
     
     
    if(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false)
    {
        $flagBrowser = 'NONIE';
    }
    elseif (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 6') !== false)
    {
        $flagBrowser = 'IE6';
    }
    elseif (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 7') !== false)
    {
    	$flagBrowser = 'IE7';
    }
    elseif (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 8') !== false)
    {
    	$flagBrowser = 'IE8';
    }
    ?>
    <script type="text/javascript">
    	// Contenu de ton fichier JS
        function maFonction(flagBrowser)
        {
            var w = screen.width;
            var h = screen.height;
     
            if(flagBrowser == 'IE6' || flagBrowser == 'IE7' || flagBrowser == 'IE8' && w == 1024 && h == 768)
            {
               <?php $this->headScript()->appendFile(PUBLIC_PATH . 'js/jquery/carrousel/carousel3.ini.js', $type = 'text/javascript');?>
            }
     
                        if (flagBrowser == 'IE6' || flagBrowser == 'IE7' && w != 1024 && h != 768)
    		{
    			<?php $this->headScript()->appendFile(PUBLIC_PATH . 'js/jquery/carrousel/carousel2.ini.js', $type = 'text/javascript'); ?>
    		}
     
                        if (flagBrowser == 'IE8' && w != 1024 && h != 768)
    		{
    			<?php $this->headScript()->appendFile(PUBLIC_PATH . 'js/jquery/carrousel/carousel.ini.js', $type = 'text/javascript'); ?>
    		}
     
                        if (flagBrowser == 'NONIE')
    		{
    			<?php $this->headScript()->appendFile(PUBLIC_PATH . 'js/jquery/carrousel/carousel.ini.js', $type = 'text/javascript'); ?>
    		}
        }
    </script>
    <?php
     
     
    $this->headScript()->appendFile(PUBLIC_PATH . 'js/jquery/carrousel/jquery.mousewheel.js', $type = 'text/javascript');
    /**** Carrousel 3D ****/
    et dans mon contrôleur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $this->view->headScript()->captureStart();
     
    ?>
    <script type="text/javascript">
      maFonction('<?php echo $flagBrowser; ?>');
    </script>
    <?php
        $this->view->headScript()->captureEnd();
    Malheureusement mon carrousel ne s'affiche pas du tout!

    Je veux juste lui dire que quand la résolution est en 1024 x 768 il me charge un fichier...

    une autre solution?

  5. #5
    Membre habitué Avatar de ilalaina
    Homme Profil pro
    Inscrit en
    Mai 2007
    Messages
    341
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2007
    Messages : 341
    Points : 187
    Points
    187
    Par défaut
    C'est que javascript ne peut pas interpreter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->headScript()->appendFile
    alors que tu le mets dans du javascript
    " ... On naît, on vit, on meurt, mais exister est un honneur ... "

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 488
    Points : 134
    Points
    134
    Par défaut
    que faire alors?

  7. #7
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    Citation Envoyé par sheira Voir le message
    que faire alors?
    faire un vrai style passe partout

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 488
    Points : 134
    Points
    134
    Par défaut
    Ce serait l'idéal c'est sûr...mais il n'y a que le centrage du carrousel qui pose problème.

  9. #9
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    Citation Envoyé par sheira Voir le message
    Ce serait l'idéal c'est sûr...mais il n'y a que le centrage du carrousel qui pose problème.
    Il y a un lien vers ta page où on pourrait voir le problème ?

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 488
    Points : 134
    Points
    134
    Par défaut
    oui :
    www.portailinterim.com en 1024X768
    Le carrousel est en bas.


    Je peux pas faire un include à la place de mon appendfile ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    include ( <?php echo PUBLIC_PATH; ?> + 'js/jquery/carrousel/carousel2.ini.js');

  11. #11
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    Citation Envoyé par sheira Voir le message
    oui :
    www.portailinterim.com en 1024X768
    Le carrousel est en bas.


    Je peux pas faire un include à la place de mon appendfile ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    include ( <?php echo PUBLIC_PATH; ?> + 'js/jquery/carrousel/carousel2.ini.js');
    il suffit de fixer la taille minimum du bloque parent
    et commençe par validé ton site
    368 Errors, 131 warning(s)
    et
    30 erreurs CSS avec 559 avertissements
    , et encore il n'y a pas tout les style que tu as mis dans le HTML direct...

  12. #12
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 488
    Points : 134
    Points
    134
    Par défaut
    Vous avez vu toutes ces erreurs où?

  13. #13
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    Citation Envoyé par sheira Voir le message
    Vous avez vu toutes ces erreurs où?
    http://validator.w3.org/
    http://jigsaw.w3.org/css-validator/



    indispensable quand on fait du web, une fois les pages validés et sans fautes, la on peut regarder les choses qui ne vont pas.

  14. #14
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 488
    Points : 134
    Points
    134
    Par défaut
    Je connaissais le validateur w3c mais celui du css non.
    Merci!

Discussions similaires

  1. Comment récupérer une variable javascript dans PHP
    Par pierrot10 dans le forum Langage
    Réponses: 1
    Dernier message: 08/10/2010, 06h08
  2. [PHP-JS] comment récupérer une valeur javascript
    Par mioke dans le forum Langage
    Réponses: 5
    Dernier message: 25/08/2008, 12h19
  3. [PHP-JS] Récupérer une variable Javascript en PHP
    Par Gamil dans le forum Langage
    Réponses: 3
    Dernier message: 07/12/2007, 13h40
  4. [PHP-JS] Récupérer une variable javascript
    Par -Neo- dans le forum Langage
    Réponses: 1
    Dernier message: 01/06/2007, 16h52
  5. Réponses: 2
    Dernier message: 05/05/2007, 23h11

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