- Home
- Categorie
- Coding e Sistemistica
- Coding
- 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.