Vai indietro   Scuola forum (scuo.la) - Forum di discussione per le scuole > Materie di Scuola > Informatica



Top 5 Stats
Latest Posts
Discussione    data, Ora  invio  Risposte  Visite   Forum
Vecchio Come eliminare definitivamente messaggio Internet Explorer?  29-04, 17:25  Yves  1  21139   Informatica
Vecchio Come fare per calcolare l'abbondanza isotopica del 63Cu?  27-04, 18:25  Abramo  1  33181   Chimica
Vecchio Quali passaggi per tracciare diagramma potenziale/pH dello zinco?  27-04, 12:44  manuel  1  25997   Chimica
Vecchio Può il medico di famiglia chiedere soldi a paziente per incidente?  27-04, 09:05  Edith  1  24542   Medicina
Vecchio Perchè pompa dell'acqua fa uno strano rumore e non pompa più?  26-04, 09:01  Marsilio  1  27327   Idraulica
Vecchio È possibile rimuovere il vetrino del contatore dell'acqua?  24-04, 07:58  karol  1  54370   Idraulica
Vecchio Come fare per determinare l’acidità degli idrogeni in alfa?  21-04, 17:57  Abramo  1  336   Chimica
Vecchio Quale procedura per trovare il peso atomico del metallo M?  20-04, 08:28  manuel  1  29489   Chimica
Vecchio Quando iniziare attivita fisica dopo intervento appendicite?  19-04, 19:31  Marcos  1  31576   Medicina
Vecchio Quale causa per dolore tra il 1° metatarso e il 1° cuneiforme?  18-04, 18:53  Sigismondo  1  29155   Medicina

Rispondi
 
LinkBack Strumenti della discussione Modalità di visualizzazione
  #1 (permalink)  
Vecchio 05-01-2008, 06:32 PM
Junior Member
 
Registrato dal: May 2008
Messaggi: 2
predefinito Come modificare il form mail in php per fare redirect

Come modificare il form mail in php per fare redirect


Ciao a tutti.
Ho un sito con una form mail in php usata per i contatti che ogni volta che si spedisce un messaggio, rilascia un messaggio di conferma. Io vorrei che oltre al messaggio, facesse un redirect verso la home page dopo 5 secondi, e nel caso vi fossero errori, facesse un indietro del browser dopo 5 secondi in modo da permettere di fare delle correzioni nel form compilato, ovviamente dopo il messaggio di errore.
Il codice php è questo:

codice:
<?php
$nome_mittente = $_POST['nome_mittente'];
$mail_mittente = $_POST['mail_mittente'];
$mail_destinatario = "info@xxx.it";
$messaggio = $_POST['messaggio'];
if ($nome_mittente=="") 
echo "Devi inserire il tuo nome.";
elseif(!ereg("^[a-z0-9][_\.a-z0-9-]+@([a-z0-9][0-9a-z-]+\.)+([a-z]{2,4})",$mail_mittente)) 
echo "Devi inserire un formato di e-mail valido per il mittente.";
else if ($messaggio=="") 
echo "Hai dimenticato il messaggio.";
else
if(mail($mail_destinatario, "Richiesta informazioni  da $nome_mittente", $messaggio, "From:<$mail_mittente>\n"))
echo "Mail inviata con successo, le risponderemo nel più breve tempo possibile.";
else 
echo "Si è verificato un errore durante l'invio.";
?>
Ho provato ad inserire dopo"Mail inviata con successo ecc." la frase "header("Refresh: 5; URL=http://xxx.com/");" ma mi da un errore "Parse error: syntax error, unexpected T_ELSE" e allora mi sono fermato, dal momento che di php so quasi nulla.
Qualcuno mi può aiutare a fare queste due modifiche al codice?
Grazie
Rispondi quotando
  #2 (permalink)  
Vecchio 05-02-2008, 03:30 PM
Junior Member
 
Registrato dal: May 2008
Messaggi: 4
predefinito

Fai così:

codice:
<?php

$nome_mittente = $_POST['nome_mittente'];
$mail_mittente = $_POST['mail_mittente'];

$mail_destinatario = "info@sito.it";
$messaggio = $_POST['messaggio'];

if (($nome_mittente == "") || ($messaggio == "") || (!ereg("^[a-z0-9][_\.a-z0-9-]+@([a-z0-9][0-9a-z-]+\.)+([a-z]{2,4})",$mail_mittente))){

 header("Refresh: 5; URL=javascript:history.back();");
 echo "Dati non corretti!<br>";
 echo "Tra 5 secondi sarai riportato al modulo dei contatti.";
}
else { 

 if(mail($mail_destinatario, "Richiesta informazioni su sito.net da $nome_mittente", $messaggio, "From:<$mail_mittente>\n")){
   header("Refresh: 5; URL=http://www.sito.net/");

 echo "Mail inviata con successo, ti risponderemo nel più breve tempo possibile.<br>";
   echo "Tra 5 secondi sarai reindirizzato al sito.";
   }

 else {
   header("Refresh: 5; URL=javascript:history.back();");
   echo "Si è verificato un errore durante l'invio.<br>";
   echo "Tra 5 secondi sarai riportato al modulo dei contatti.";
   }
} 

?>
Rispondi quotando
  #3 (permalink)  
Vecchio 05-05-2008, 01:02 AM
Junior Member
 
Registrato dal: May 2008
Messaggi: 2
predefinito

Si, funziona benissimo.
Grazie mille
Rispondi quotando
  #4 (permalink)  
Vecchio 09-14-2010, 10:56 AM
Junior Member
 
Registrato dal: Sep 2010
Messaggi: 4
predefinito

Salve ragazzi, sarei interessato a questo form mail per un mio sito, è possibile averlo??

Grazie in anticipo
Rispondi quotando
  #5 (permalink)  
Vecchio 09-14-2010, 02:43 PM
Senior Member
 
Registrato dal: Jun 2007
Messaggi: 814
predefinito

Scusa, ma non è tutto li? Basta che fai copia/incolla, no? Ho capito male?
Rispondi quotando
  #6 (permalink)  
Vecchio 09-14-2010, 02:48 PM
Junior Member
 
Registrato dal: Sep 2010
Messaggi: 4
predefinito

non sono molto pratico di php e pensavo che i file che servivano erano due: questo era il file in php e poi credevo ci fosse anche il form da inserire nell'html (e nel caso servisse anche quest'ultimo, avevo problemi nel compilarlo).

Quindi basta inserire questo nella mia pagina e salvarla in php?
Grazie
Rispondi quotando
  #7 (permalink)  
Vecchio 09-15-2010, 11:27 AM
Senior Member
 
Registrato dal: Jun 2007
Messaggi: 814
predefinito

No, infatti serve anche la parte da inserire nell'html, magari in un div. Il codice è qualcosa tipo questo:
codice HTML:
<form name="tell" id="tell" method="post" action="cg_form_to_mail.php">
 <table width="80%" border="0" cellpadding="10" cellspacing="0">
 
<tr>
 <td height="30"><div align="left">
 <h3><span class="nomi_form">Nombre:</span></h3>
 </div></td>
 <td height="30"><div align="left"><input name="nome_mittente" type="text" class="form" size="31" />
 </div></td>
 </tr>

 <tr>
 <td height="30"><div align="left">
 <h3><span class="nomi_form">Email:</span></h3>
 </div></td>
 <td height="30"><div align="left"><input name="mail_mittente" type="text" class="form" size="31" />
 </div></td>
 </tr>

 <tr>
 <td height="30" valign="top"><div align="left">
 <h3><span class="nomi_form">Mensaje:</span></h3>
 </div></td>
 <td valign="middle"><div align="left"><textarea name="messaggio" cols="31" rows="11" class="mex"></textarea>
 </div></td>
 </tr>
 
<tr valign="middle"> 
 <td height="30"><div align="left"></div></td>
 <td height="30"><div align="left"><input type="submit" name="Submit" value="Enviar" class="invia" />
 </div></td>
 </tr>

 </table>
 </form>
Poi con il css puoi cambiare alcune proprietà del testo, spaziature ecc.
Ciao
Marco




Rispondi quotando
Rispondi


Regole d'invio
Non puoi inserire discussioni
Non puoi inserire repliche
Non puoi inserire allegati
Non puoi modificare i tuoi messaggi

BB code è attivo
Le smilie sono attive
Il codice IMG è attivo
il codice HTML è disattivato
Trackbacks are attivo
Pingbacks are attivo
Refbacks are attivo


Discussioni simili
Discussione Ha iniziato questa discussione Forum Risposte Ultimo messaggio
Regolare temperatura singola stanza senza modificare i tubi Tiger84 Idraulica 3 02-12-2010 03:42 PM
Redirect 301 per errori 404 che non intacchi gli esistenti Henri Informatica 2 06-24-2009 12:12 AM
Salvare mail da Mozilla Thunderbird con il nome dell'oggetto serse Informatica 0 01-10-2009 05:24 PM
Modificare meta tag di pagina dinamica creata con cms Cecco Informatica 1 07-02-2008 06:48 PM
Come eliminare tutti i destinatari Thunderbird da una mail? Scuola Informatica 2 01-10-2008 09:30 PM


Tutti gli orari sono GMT +2. Attualmente sono le 08:49 AM.


© Copyright 2008-2022 powered by sitiweb.re - P.IVA 02309010359 - Privacy policy - Cookie policy e impostazioni cookie