2009-10-30 3 views
1

Sur la page principale d'un portail, j'utilise un plug-in de conteneur jQuery et les utilisateurs peuvent masquer un conteneur en cliquant simplement sur le bouton de réduction d'un conteneur.Comment implémenter les préférences utilisateur sur une page PHP jQuery?

Ma question est: comment puis-je enregistrer les préférences de l'utilisateur à cet égard? Ensuite, si le même utilisateur se connecte à nouveau, je souhaite afficher la page en fonction des préférences de l'utilisateur. Par exemple, si un utilisateur cache le "conteneur de nouvelles sportives", il n'apparaîtra pas lors de la prochaine visite des utilisateurs.

+0

Vous devrez utiliser des cookies pour stocker un cookie pour la sélection de l'utilisateur, puis sur pageload, lire le cookie pour décider d'afficher ou non le contenu du conteneur. – BraedenP

+0

@BraedenP, votre solution ne fonctionnera pas avec login/logout –

Répondre

1

Vous avez juste besoin de créer un champ dans la table de base de données des utilisateurs (ou faire quelque chose de plus compliqué, si votre base de données est compliquée).

Ensuite, vous pouvez, si le champ est défini, placer un script sur la page qui masque le conteneur. Et définissez un rappel sur le masquage/ouverture qui enverra une requête Ajax à votre application, ce qui placera le champ à 1 ou 0 (ON ou OFF, peu importe).

1

Je pense qu'il y a fondamentalement 3 options.

Cookies (envoyer un cookie à l'utilisateur avec JavaScript/jQuery ou PHP (setcookie())) et espérer que le cookie est stocké le plus longtemps possible.

Enregistrement de la préférence au niveau de la base de données, par utilisateur. @valya a donné une solution comme ça. L'inconvénient évident ici est que chaque utilisateur du site, que vous voulez avoir des préférences, a besoin d'un login.

Enregistrement de la préférence dans la base de données par IP address. Cette solution est plutôt mauvaise, mais cela dépend de vos utilisateurs. Donc, vous stockez les préférences par adresse IP. Les utilisateurs avec une adresse IP dynamique ou plusieurs utilisateurs sur la même adresse IP auront une mauvaise expérience.

+0

c'est bon aussi, beaucoup beaucoup .. –

+0

Les variables $ _SESSION' sont seulement stockées pour cette session de navigateur. Une fois que le navigateur se ferme ou redémarre, les variables '$ _SESSION' sont détruites. – Nathan

+0

@Nathan vous avez raison, je vais mettre à jour ma réponse. –

Questions connexes