- Home
- Categorie
- Coding e Sistemistica
- PHP
- Problema con header
-
Problema con header
Ciao, ragazzi.
Sulla pagina contatti.html ho un form che permette, dopo essere stato compilato, di inviare una mail.
Questa, viene inviata da un'altra pagina, richiamata dall'azione "invia" della Form, cioè richiesta.php.Ora, in questa pagina ho questa parte di script:
else{ echo"<script language='Javascript'>alert('Attenzione: Riempire i campi obbligatori')</script>"; header("Location: contatti.html"); }
La sua funzione è chiara. Il problema, però, è che dopo la conferma (OK) sulla finestra di alert, il reindirizzamento verso la pagina contatti.html non viene effettuato.
Qualcuno ha voglia di spiegarmi dove sbaglio?
-
Il problema è dato dal fatto che nn è possibile utilizzare la funzione header() dopo aver già inviato output html.
Io risolverei "alla semplice" con un redirect javascript.
[php]
else{
echo"<script language='Javascript'>alert('Attenzione: Riempire i campi obbligatori')</script>";sleep(1);
echo "<script type="text/javascript">
location.href = "contatti.html";
</script>";}[/php] Ciao!
-
ottimo
Grazie, probid, perfettamente funzionante
-
Ciao!
-
Mi permetto di fare una piccola nota
La sintassi JS del redirect è meglio metterla con le parentesi :
location.href=("dove_vuoi.php");Questo perchè alcune versioni di Firefox potrebbero non interpretarla correttamente
-
@Threepwood said:
Mi permetto di fare una piccola nota
La sintassi JS del redirect è meglio metterla con le parentesi :
location.href=("dove_vuoi.php");Questo perchè alcune versioni di Firefox potrebbero non interpretarla correttamente
Ciao
dunque, dici anche senza gli \ prima degli apici?
Cioè:
echo "<script type=\"text/javascript\">location.href = ('contatti.html');</script>";
-
Premesso che io con gli slash mi perdo sempre.
Il risultato anzichè esserelocation.href="pagina.php"; oppure location.href="pagina.php";
Dovrebbe essere
location.href=("pagina.php"); oppure location.href=("pagina.php");
Tutto qui