PHP - Redirect

Il sottotitolo di questo articolo potrebbe anche essere “Drop Down Menu Redirection”!

Vi dico questo perché in realtà l’argomento di questo post è stato già trattato in questo articolo di circa 4 anni fa. Non è sicuramente un’ultima notizia od il trucco del secolo, ma ho trovato che fosse utile in molte occasioni. Anche perché se non sapete nulla di PHP potreste trovare tutte le varie guide (o post su forum) sulla rete che trattano lo stesso argomento ma che contengono svariati errori di programmazione.

Trattiamo ora l’argomento attraverso due esempi pratici.

  1. Abbiamo una macchina con due o più siti/blog/wiki/portali e vogliamo dare la scelta all’utente che deve lavorare su una o più di queste risorse di scegliere, appena si collega al sito, dove andare. Oppure semplicemente di non ricordarsi (ne lui ne i suioi segnalibri) le URL di tutte le risorse ma solo quella principale.
  2. Vogliamo reindirizzare il nostro utente verso un’altra URL (od una più specifica) ma non abbiamo accesso alla configurazione di apache  e nessuna conoscenza di html.

Per il primo esempio abbiamo bisogno di 2 file, per il secondo ci basterà una semplice modifica al secondo file del primo esempio, ma andiamo con calma e con ordine a vedere il codice.

File index.html:

<HTML>
<BODY>
<FORM METHOD=POST ACTION=”redirect.php”>
Dove vuoi andare?<br/>
<SELECT NAME=url SIZE=”3″>
<OPTION SELECTED VALUE=”http://localhost/joomla”> Un sito joomla

<OPTION VALUE=”http://localhost/drupal”> Un sito drupal

<OPTION VALUE=”http://localhost/wiki”> Un wiki
</SELECT>
<INPUT TYPE=”submit” VALUE=”Andiamo!”>
</FORM>
</BODY>
</HTML>

Questa pagina è molto semplice e non fa altro che creare un form con un campo di selezione dove si può scegliere la destinazione. La URL relativa alla destinazione verrà inviata con il metodo POST allo script php “redirect.php”.

File redirect.php:

<?php
$url = $_POST["url"];
header(”Location: $url”);
exit;
?>

Questo script riceve la URL inviata con il metodo POST dalla pagina precedente e la utilizza nel comando header, per attuare la redirezione.

La soluzione al punto due, come già anticipato può essere realizzata modificando lo script “redirect.php”, (dopo averlo rinominato “index.php”) come segue:

<?php
header(”Location: http://localhost/wiki”);
exit;
?>

in questo caso abbiamo rediretto direttamente alla pagina principale del wiki.

Post correlati

Articolo scritto da Larry, di Larry

0 Responses to “PHP - Redirect”


  1. No Comments

Leave a Reply