Je dois détecter l'endroit où l'utilisateur vient de cliquer, car mon contenu AJAX doit être affiché différemment en fonction de la page source dans laquelle il doit être inséré.
S'il doit être inséré dans about.php, il ne doit contenir que des données, mais s'il doit être inséré dans about-main.php, il doit contenir toute la colonne centrale et doit donc être entouré d'un en-tête et d'un pied de page.
Le code HTML appelé via AJAX est contenu dans une page php qui utilise ce code pour savoir qui pose la question, puis formate la réponse HTML de manière appropriée.
$array[] = "/cf/about.php";
$array[] = "/cf/about/about-main.php";
$array[] = "/cf/about/other-page.php";
$ispage = "";
foreach ($array as $value) {
if ($_SERVER['HTTP_REFERER'] != $value) {
$ispage = "";
} else {
$ispage = "woot";
}
}
if ($ispage == "woot") {
echo $content;
} else {
include_once 'about-header.php';
echo $content;
include_once 'about-footer.php';
}
Le problème est que... HTTP_REFERER semble être un peu aléatoire. Il fonctionne parfaitement lorsque je suis au travail sur le réseau, mais je l'ai essayé sur mon ordinateur à la maison et il est évident qu'il ne fonctionne pas du tout - les résultats sont horribles :o
Existe-t-il un autre moyen d'y parvenir ? Je suppose que l'on pourrait utiliser des variables de session, mais je n'ai pas beaucoup d'expérience dans ce domaine !
Tous les conseils sont les bienvenus ;) Merci !
éditer :
La page est en fait une page de profil du personnel. Son emplacement normal est about.php et la div de la deuxième colonne affiche une grille de vignettes qui, lorsqu'elles sont cliquées, chargent le profil à cet endroit via AJAX. Tout est simple et agréable - le bouton "retour" recharge la grille de photos.
Le problème est que chaque membre du personnel a également besoin d'une page statique. Je les ai créées à about/staff-name.php. Le contenu est cependant LE MÊME. Je veux que le serveur détecte si quelqu'un est venu directement sur la page about/staff-name.php et si c'est le cas, qu'il l'entoure d'un header/footer.
Si la requête provient de la grille de photos (c'est-à-dire AJAX), elle n'a pas besoin de l'en-tête/pied de page.
Est-ce que c'est clair ? :o
1) Si requête AJAX - pas de wrapper 2) S'il n'y a pas de requête AJAX - ajouter un wrapper d'en-tête/pied de page