Domanda

Ora l'ho impostato in modo tale che quando le persone vanno a un " grazie " pagina dopo aver compilato un modulo, accedono a una pagina che dice:

   thanks for coming <a href="<?php echo $_SERVER['HTTP_REFERER'] ?>here's a link back to where you came from</a>

Quello che voglio è dire:

   thanks for coming <a href="<?php echo $_SERVER['HTTP_REFERER'] ?>here's a link back to <?php echo TITLE OF REFERRING PAGE ?></a>

C'è un modo semplice per farlo?

È stato utile?

Soluzione

Il modo più semplice è passare il titolo della pagina come variabile di sessione:

<?php

  $_Session["referrerTitle"] = $pageTitle;

 ?>

Se stai lavorando con un file di intestazione includi, potresti avere questa variabile già impostata nella pagina di riferimento.

Quindi nel tuo link:

<p>   thanks for coming <a href="<?= $_SERVER['HTTP_REFERER']"?>here's a link back to <?= $_Session["referrerTitle"] ?></a></p>

Altri suggerimenti

Inserisci un input di tipo nascosto nel modulo, con il titolo della pagina come valore. Quindi utilizzare il valore nascosto inviato.

Se la pagina di riferimento è sotto il tuo controllo, puoi impostare un cookie su ogni pagina del tuo sito, uguale al titolo.

Quindi, nella pagina di ringraziamento, è possibile leggere il cookie fornito dalla richiesta HTTP e inserirlo nel codice HTML.

Allo stesso modo, potresti tenere traccia delle informazioni sulla sessione, quindi il cookie non detiene effettivamente il titolo, ma contiene un ID univoco per ciascun visitatore. Il database potrebbe quindi contenere il titolo dell'ultima pagina per ciascun ID. Questo è un po 'eccessivo, per quello che hai chiesto, ma se è necessario tenere traccia dei dati della sessione, potrebbe essere più pulito.

Entrambe le soluzioni si basano sul browser dell'utente che supporta i cookie.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top