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 :

Récupérer une variable javascript vers php a l'aide de cookies


Sujet :

Langage PHP

  1. #1
    Membre confirmé Avatar de zool.bzh
    Homme Profil pro
    peintre industriel
    Inscrit en
    Octobre 2023
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : peintre industriel
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2023
    Messages : 128
    Par défaut Récupérer une variable javascript vers php a l'aide de cookies
    Bonjour
    voici mon code
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <script>
     document.cookie = "namex = " + screen.width;
     document.cookie = "namey = " + screen.height;
     </script>
     <?php 
     $resox = $_COOKIE['namex'];
     
     if ($resox){
    	 if ($resox < 500) {
             header("location: /min/");
           }
     }
     ?>

    Warning: Undefined variable $namex in /htdocs/min/index.php on line 6

    les cookies sont apparemment lu en second plan, lors du rafraîchissement de la page
    je voudrais que les cookies soient intégrer directement
    comment faire ?

  2. #2
    Membre confirmé Avatar de zool.bzh
    Homme Profil pro
    peintre industriel
    Inscrit en
    Octobre 2023
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : peintre industriel
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2023
    Messages : 128
    Par défaut
    Après maintes tergiversations je me suis rendu compte que les cookies n'étaient pas définit au premier Ã* bord
    voici ce que ça donne avec mes cookies slidex et slidey, coookies réalisés pour une bonne pagination du 9eme Cercle mais sur smatphone voyez avec l'exemple qui suit :-> oOo.
    la première fois vierge de tout cookie j'ai :

    Warning: Undefined array key "slidex" in /htdocs/demo/cook-js/index.php on line 10

    Warning: Undefined array key "slidey" in /htdocs/demo/cook-js/index.php on line 11
    Quand on rafraichie la page tout rentre dans l'ordre
    Code html : 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
    <!DOCTYPE html>
     
    <head>
        <title>Le 9eme Cercle</title>
        <script> 
                document.cookie = "slidex = " + screen.width + "; SameSite=Strict";
                document.cookie = "slidey = " + screen.height + "; SameSite=Strict"; 
            </script>
     <?php
        $resox = $_COOKIE['slidex'];
        $resoy = $_COOKIE['slidey'];
        $resox = $resox-20;
            echo $resox." ".$resoy; 
        echo '<a href="/demo/cook-js">&nbsp;&nbsp;&nbsp; clik me &nbsp;&nbsp;&nbsp; </a>'; 
    ?>
        <meta name="viewport" content="width=<?php echo $resox ?>, initial-scale=1" />
    </head>
    <body>
       <?php
           $mult = 276/500;
           $resoy_head =round($mult*$resox);
            ?>
        <div style="width: <?php echo $resox; ?>px;"> 
            <img src="header.jpg" align="left" height="<?php echo $resoy_head; ?>" width="<?php echo $resox; ?>"/>
        </div>
    </body>
    </html>
    je ne vois pas de solutions, qu'en pensez-vous ?

  3. #3
    Nb
    Nb est déconnecté
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 160
    Par défaut
    Bonjour,
    Je pense que tu n'as pas compris comment fonctionne une page web.
    Le js s'execute côté client et le php côté serveur et donc par definition le premier exécuté est le php qui donc à la première execution ne peut pas récupérer tes cookies puisqu ils n ont pas encore été créés.

    Je ne sais pas pourquoi tu veux passer par des cookies pour gérer la resolution du client, mais en général et sauf cas particulier, on peut faire ca avec du css.

  4. #4
    Membre confirmé Avatar de zool.bzh
    Homme Profil pro
    peintre industriel
    Inscrit en
    Octobre 2023
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : peintre industriel
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2023
    Messages : 128
    Par défaut
    Ok merci
    mes recherches s'aboutissent là :
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    @media only screen and (max-width: 500px) {
     
        <meta name="viewport" content="width=???, initial-scale=1" />
     
    }
    Comment trouver la largeur de l'écran de mon mobile en css ??

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2024
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2024
    Messages : 2
    Par défaut
    Hello,

    Si ton souci est purement l'affichage depuis un écran plus petit, je te conseillerai de regarder de plus près le responsive design et les media query sur lesquelles tu es déjà tombé.
    Tu n'as pas forcément besoin de connaître à proprement parler la taille de ton écran.

    Globalement, on part du principe qu'il y a plus ou moins 3 tailles d'écran en général PC ( >1024px ) , Tablette ( > 600px ) , Smartphone ( > 320px ), de ce constat-là, tu peux éditer les règles qu'il faut pour adapter ton site ou ton affichage.

    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    @media screen and (max-width:599px){
      body{
        /* Tes règles CSS quand l'écran de l'utilisateur est inférieur à 599px */
        }
    @media screen and (max-width:1024px){
      body{
        /* Tes règles CSS quand l'écran de l'utilisateur est inférieur à 1023px */
      }
    }

    En ajoutant ces règles à ton css tu t'assures que ton site va s'adapter au périphérique tu client.

    Je pense qu'il existe une autre solution avec window.innerWidth en JS, qui récupère la taille de l'écran du client, il faudrait ensuite créer des classes dans ton CSS que tu vas appliquer à ton body par exemple en fonction de la taille récupérée par window.innerWidth, mais cette solution me parait vraiment plus compliqué que les media query .

  6. #6
    Membre confirmé Avatar de zool.bzh
    Homme Profil pro
    peintre industriel
    Inscrit en
    Octobre 2023
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : peintre industriel
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2023
    Messages : 128
    Par défaut
    Ok merci

    Mais comment recupers-tu la variable js en css ?

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2024
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2024
    Messages : 2
    Par défaut
    Si tu fais tout ça en Responsive via le CSS, tu n'as pas besoin de les récupérer en JS, en gros, c'est implicite, le navigateur qui visite ta page sait quelle média query utiliser en fonction de sa propre taille, il lit juste la déclaration que tu as fait dans ton CSS et l'applique.

  8. #8
    Membre confirmé Avatar de zool.bzh
    Homme Profil pro
    peintre industriel
    Inscrit en
    Octobre 2023
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : peintre industriel
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2023
    Messages : 128
    Par défaut
    Bonjour a tous

    j'ai une solution, pour mobile, je ne sais pas si c'est la bonne mais ça fonctionne :

    je crée lien logo en index avec les cookies js width et height.
    Je récupère les cookies dans la page "accueil.php".
    J'installe le tous dans une table mysql valabla...

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

Discussions similaires

  1. Transfert d'une variable JavaScript vers PHP
    Par iparcos dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 20/11/2015, 17h46
  2. Récupérer une variable javascript vers php sans formulaire
    Par NewDew dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 27/10/2015, 13h53
  3. Réponses: 9
    Dernier message: 09/07/2014, 12h13
  4. [PHP-JS] Transmettre une variable javascript vers php
    Par phpaide dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 20/05/2006, 08h30
  5. [PHP-JS] variable javascript vers PHP
    Par nicoaix dans le forum Langage
    Réponses: 3
    Dernier message: 17/03/2006, 21h28

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