2010-12-07 33 views
2

Mon problème n'est pas si facile à décrire ... pour moi :-) alors s'il vous plaît soyez indulgent envers moi.Existe-t-il un moyen de passer des variables à l'exception des sessions et d'obtenir des variables?

J'ai plusieurs façons d'afficher une liste. ce qui signifie, il y a quelques possibilités comment arriver et créer la vue qui affiche ma liste. ceci wokrs bien avec les onglets parallèles de navigateur d'opend et est désiré cependant.

Si je clique sur un élément de ma liste, j'arrive à une vue détaillée de cet élément. À cette vue, je veux savoir à partir de quel type de liste le lien a été "appelé". le premier problème est que le référant sera toujours le même et le second: je ne devrais pas ajouter une variable get à l'url. (et il ne devrait pas être un formulaire soumis aussi)

Si je le stocke à la session, je vais écraser mon paramètre de session lorsque vous travaillez dans un onglet parallèle.

ce qui est la meilleure façon de achive toujours mon objectif, de savoir quel mode la liste précédente était.

+0

« Je ne devrais pas ajouter une obtenir variable à l'URL. (Et il ne devrait pas être un formulaire soumis aussi) "Pourquoi pas? – Jere

+0

pour avoir des URLs conviviales (pas d'accès) et pour pouvoir utiliser le bouton Précédent dans tous les navigateurs (pas de formulaire). – helle

+0

Vous devriez regarder dans 'mod_rewrite' - http://httpd.apache.org/docs/current/mod/mod_rewrite.html. – stealthyninja

Répondre

0

Vous devez utiliser quelque chose pour différencier une page d'une autre, sinon votre serveur ne sera pas savoir ce que vous demandez.

Vous pouvez POSTER votre requête: cela masquera les paramètres d'URL, mais entravera la fonctionnalité de votre bouton de retour.

Vous pouvez obtenir votre demande: cela rendra vos URL plus « laid » mais vous devriez être en mesure de travailler autour de ce en passant des identifiants courts, concis comme www.example.com/listDetail?id=12

Si vous pouvez configurer mod_rewrite, alors vous pouvez obtenir des requêtes à une URL comme www.example.com/listDetails/12, et apache réécrira la requête dans les coulisses pour ressembler plus à www.example.com/listDetails?id = 12 mais l'utilisateur ne le verra jamais - ils verront simplement la version originale, propre/conviviale.

Vous avez dit que vous n'avez pas accès à la configuration du serveur - je suppose que c'est parce que vous êtes sur un serveur partagé? La plupart des serveurs partagés ont déjà installé mod_rewrite. Et tandis que le vhost apache est généralement l'endroit le plus approprié pour mettre des règles de réécriture, ils peuvent également être placés dans un fichier .htaccess dans n'importe quel répertoire que vous voulez contrôler. (Parfois, la configuration du serveur désactive, mais généralement sur un hébergement mutualisé, il est activé) Regardez dans la création .htaccess fichiers et comment utiliser mod_rewrite