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 :

interactivité JS PHP


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2007
    Messages : 43
    Points : 22
    Points
    22
    Par défaut interactivité JS PHP
    Bonjour,

    Je rencontre un problème sur l'un de mes scripts de géolocalisation.

    Sur ma page d'accueil avant l'affichage de ma page je récupère les informations de localisations de l'utilisateur avec 3 méthode :
    Dans un premier temps via navigateur + google API, si l'utilisateur refuse je test par l'IP et en dernier recours via un prompt.

    Je place le résultat dans un cookie via JS.

    Le problème c'est que pour le restant de ma page le cookie n'est pas lisible par PHP juqu'au prochain rechargement de ma page.
    Auriez vous une idée de ce qu'il faudrait faire ?

    Merci
    Couss

  2. #2
    Membre averti

    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 205
    Points : 409
    Points
    409
    Billets dans le blog
    1
    Par défaut
    Un cookie est posé chez le client par le navigateur, PHP n'en a connaissance qu'au moment où le navigateur lui envoie l'info (dans les entêtes de la requête).
    De plus, le PHP est exécuté côté serveur et le JS côté client, il n'est donc pas possible pour PHP de savoir ce que ton JS fera avant qu'il le fasse...

    Tu as deux solutions donc :
    - recharger ta page
    - passer par une requête AJAX
    si ce post vous a été utile, si votre problème est résolu.
    Pensez-y !
    __________________________________
    Doc officielle PHP | FAQ PHP | Cours PHP

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2007
    Messages : 43
    Points : 22
    Points
    22
    Par défaut
    Oui j'ai bien pensé passé par une requête ajax mais il faut aussi recharger la page pour pouvoir lire le cookie ou même la session

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 382
    Points : 10 410
    Points
    10 410
    Par défaut
    Citation Envoyé par Couscouss sensei Voir le message
    Oui j'ai bien pensé passé par une requête ajax mais il faut aussi recharger la page pour pouvoir lire le cookie ou même la session
    Le fait de faire une requête ajax fait que ton cookie sera lisible par php, du moins par le code php de la page qui est appelée depuis ta requête ajax. Evidemment il faut prendre soin de faire la requête ajax après l'envoi du cookie.

    Sinon une petite question au passage, quel site ou bdd utilises-tu pour faire le test par l'ip ? (je m'intéresse à ce sujet en ce moment).

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2007
    Messages : 43
    Points : 22
    Points
    22
    Par défaut
    en gros il faudrait que je génère le contenu de ma page avec une requête ajax ?

    J'utilise l'API de maxmind mais ce n'est pas la seule.

  6. #6
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 382
    Points : 10 410
    Points
    10 410
    Par défaut
    Citation Envoyé par Couscouss sensei Voir le message
    en gros il faudrait que je génère le contenu de ma page avec une requête ajax ?
    Au minimum la partie qui a besoin du résultat javascript pour être construite.

Discussions similaires

  1. [EDI] Quel est l'éditeur que vous recommandez pour PHP ?
    Par Lana.Bauer dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 400
    Dernier message: 10/04/2018, 20h08
  2. Quel est le meilleur script PHP de portail (CMS) ?
    Par Lana.Bauer dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 187
    Dernier message: 18/10/2012, 07h45
  3. L'avenir est-il au PHP ?
    Par Manolo dans le forum Langage
    Réponses: 468
    Dernier message: 11/02/2008, 18h54

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