- Home
- Categorie
- Coding e Sistemistica
- PHP
- come posso reindirizzare a un altra pagina?
-
come posso reindirizzare a un altra pagina?
ho un problema, dopo una compilazione di una form, voglio che dalla pagina sendemail.php (pagina che raccoglie i dati) l' utente venga reindirizzato alla home, ho usato questa funzione ma non succede nulla:
header("Location:homepage.php");
come posso fare?
-
in che senso non succede nulla?
ma sei sicuro di avere inserito questa funzione in una zona del codice che viene raggiunta?
-
ecco, questa è la pagina che dovrebbe reindirizzare alla home!!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
<title>Documento senza titolo</title>
</head>
<body>
<div align="center">
<?php
$tipo_email = "MIME-Version: 1.0\nContent-type: text/html; charset=iso-8859-1";
$destinatario = "[EMAIL="[email protected]"][email protected][/EMAIL]";
$oggetto = "Richiesta informazioni da www.moronigiorgio.com";
$nome = $_POST["nome"];
$email = $_POST["email"];
$domanda = $_POST["domanda"];
$mittente = "From: $email\n$tipo_email";
$messaggio = "<b>Dati utente:</b><br><b>Nome:</b> $nome <br> <b>Email:</b> $email <br> <b>Domanda:</b> $domanda";
mail ($destinatario,$oggetto,$messaggio,$mittente);
echo "<b>Grazie per aver richiesto maggiori informazioni. Entro 24 ore verrai ricontattato<br />
verrai ora reindirizzato alla home.";
?><br />
<?php header("Location:homepage.php"); ?>
<a href="homepage.php">clicca qui</a> se non vieni reindirizzato entro 5 secondi</div>
</body>
</html>
-
ma ti dà un errore?
prova ad inserire all'inizio della pagina <?ob_start();?> (dev'essere proprio alla prima riga!!)
-
i da errore ma non succede niente rimane nella pagina corrente,
a cosa serve il codice <?ob_start();?>
-
l'errore che ti dà probabilmente è qualcosa del tipo "headers have been already sent..", vero?
questo è perché non si può effettuare un reindirizzamento da server dopo aver già inviato una pagina o parte di essa. ob_start(); serve a mandare la pagina al client sono nel momento in cui questa è completa, in pratica... quindi può effettuare il reindirizzamento. In realtà non sono molto ferrato su queste cose tecniche e non so spiegarti nei dettagli come funziona... dovresti leggerti un qualche manuale o tutorial...
-
no non mi da nessun errore, finisce di caricare la pagina e si ferma
-
Non puoi inserire la funzione header dopo un output, di qualsiasi genere esso sia, non funzionerà.
Sposta la funzione al primo rigo e cancella il resto (tanto non serve a niente) e vedrai che funziona.