php tips

Php redirect header location con Refresh

Come fare con php redirect ? Di seguito analizzeremo due dei metodi maggiormente utilizzati per riuscire in questa operazione

Primo metodo
si tratta di un redirect diretto senza fronzoli. Quando verrà eseguita questa linea di codice il redirect sarà immediato. Vediamo il codice necessario:

$id_utente=1234;
header("Location: //miosito.it/?ID=" . $id_utente );

Attenzione, come avete visto non è stata utilizzata la forma http://miosito.it ma solamente //miosito.it. Sebbene sia possibile lo sconsigliamo in quanto se si dovrà effettuare un upgrade al vostro dominio da http ad https vi troverete delle pagine non sicure all’interno di un dominio sicuro pertanto nella barra dell’indirizzo del browser non vedrete l’icona con il lucchetto chiuso (sito sicuro).

Perfetto, ma se volessimo passare una variabile nel redirect in php?
Vediamo il codice necessario e supponiamo di voler passare anche una variabile ID il cui contenuto è a sua volta richiamato dalla variabile $id_utente.

// la nostra variabile 
$id_utente=1234;

header("Location: //miosito.it/?ID=" . $id_utente );

Secondo metodo
Sebbeno il primo si di gran lunga il più utilizzato a volte sarà necessario aspettare qualche secondo prima di richiedere il redirect vero e proprio. Ad esempio se chiamiamo un’operazione MySQL e subito dopo un redirect può capitare che il redirect sia eseguito prima che la chiamata SQL sia conclusa annullandone di fatto le operazioni previste. Per fare in modo chi effettuare un redirect ed attendere ad esempio 3 secondi prima che venga effettivamente eseguito, il codice da utilizzare è un qualcosa del genere:

$id_utente=1234;
$newpage = "//miosito.it/?ID=" . $id_utente . "";
// il 3 vicino al comando Refresh indica 3 secondi di ritardo
header('Refresh: 3; url=' . $newpage);

// Mostra un messaggio sullo schermo
echo ″Tra 3 secondi verrai reindirizzato. Se non vuoi aspettare <a href="″ . $newpage . ″">clicca qui</a>″;

A voi non resta che mettere un pi piace se questo articolo vi è stato di aiuto.