Paramètre PHP $_SESSION['var'] à l'aide de jQuery
J'ai besoin de configurer PHP $_SESSION variable à l'aide de jQuery. SI l'utilisateur clique sur une image que je veux enregistrer un morceau de l'information associée à cette image comme une variable de session en php.
Je pense que je peux le faire en appelant une page php ou de la fonction et en ajoutant que le morceau de l'info à la chaîne de requête.
Toutes les idées. J'ai trouvé peu d'aide par le biais de google.
merci
mike
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas le faire par le biais de jQuery seul; vous en aurez besoin d'une combinaison de l'Ajax (que vous pouvez faire avec jQuery) et PHP back-end. Une version très basique pourrait ressembler à ceci:
HTML:
Javascript:
PHP (backend.php):
Voudrez peut-être essayer de mettre la fonction PHP sur une autre page PHP, et d'utiliser un appel AJAX pour définir la variable.
Quoi que vous cherchez est jQuery Ajax. Et puis il suffit de configurer une page php pour traiter la demande.
Beaucoup de réponses ici sont aborder le comment mais pas le pourquoi.
PHP $_SESSION paires clé/valeur sont stockées sur le serveur. Cela diffère d'un cookie qui est stocké sur le navigateur. C'est pourquoi vous êtes en mesure d'accéder à valeurs dans un cookie à partir de PHP et en JavaScript.
Pour aggraver les choses, les requêtes AJAX à partir du navigateur ne comprennent pas tout de les témoins, vous avez défini pour le site web. Ainsi, vous devrez faire en JavaScript tirez le cookie de Session et de les inclure dans chaque requête AJAX au serveur pour être en mesure de faire des têtes ou queues de il. Sur le côté positif, Sessions PHP sont conçus pour échouer sur un HTTP GET ou POST variable si les cookies ne sont pas envoyés avec les en-têtes HTTP.
Je veux le regarder dans quelques-uns des principes de web RESTful applications et utiliser des modèles de conception qui sont communes avec ces types d'applications, au lieu d'essayer de coder avec le gestionnaire de session.
dans (backend.php) assurez-vous d'inclure inclure
session_start();
-Taylor
http://www.hawkessolutions.com
J'ai également conçu une "session php valeur setter" de la solution par moi-même (similaire à Luke de Dennis solution. Pas de gros problème ici), mais après ma session de la valeur, de mes besoins "sauter sur l'autre .php fichier". Ok, je l'ai fait, à l'intérieur de mon code jquery... Mais quelque chose n'a pas bien fonctionné...
Mon problème a été plutôt facile:
-Après "$.post" vos valeurs sur la petite .fichier php, vous devriez attendre un certain "réussite/échec" valeur de retour, et SEULEMENT APRÈS la LECTURE de CE SUCCÈS de la VALEUR, effectuer le saut. Si vous venez de sauter immédiatement sur la prochaine grande .php fichier, votre session de valeur peut pas devenir mis sur les sessions php moteur d'exécution, et vous avez probablement lu "vide" lorsque vous faites $_SESSION["ma_var"]; à partir de la destination .fichier php.
Dans mon cas, pour corriger cette situation, j'ai changé mon jQuery $.poste le code de cette façon:
Bien sûr, votre "set_session_value.php" fichier, doit retourner 'echo "0"; " ou " echo "1"; " (ou quel que soit le succès valeurs que vous pourriez avoir besoin).
Salutations.
Similaire à la réponse de Luc, mais avec GET.
Place ce code php dans php-page, ex. getpage.php:
Puis l'appeler avec un script jQuery comme ceci:
D'accord avec Federico. Dans certains cas, vous risquez de rencontrer des problèmes à l'aide de la POSTE, alors vous ne savez pas si il peut être liés au navigateur.
Il fonctionne sur firefox, si vous modifiez onClick() de la souris() dans la partie javascript.
JS: