formail non funziona hosting netsons

  • Creatore Discussione Creatore Discussione student
  • Data di inizio Data di inizio

student

Nuovo Utente
29 Lug 2014
14
0
0
salve ho creato un formail in html e php per farlo funzionare.
il formail funziona benisssimo su altervita,aruba ecc....
l ho messo su netsons non mi funziona
una volta compilato il form invio
e mi esce Errore: Manca il Messaggio!
cioe' risulta che io non scrivo il messaggio.
vi prego di rispondermi il piu' presto possibile e' urgente

programmazione html
HTML:
<form id="form1" name="form1" method="post" action="esito.php">
 <p>
 <label for="nome">Nome</label>
 <input type="text" name="nome" id="nome" />
 </p>
 <p>
 <label for="email">Email&nbsp; </label>
 &nbsp;<input type="text" name="email" id="email" /></p>
 <p>
 <label for="Telefono">Telefono</label>
 &nbsp;<input type="text" name="Telefono" id="Telefono" /></p>
 <p>
 <label for="messaggio">Messaggio</label>
 <textarea name="messaggio" id="messaggio" cols="45" rows="5"></textarea>
 </p>
 <input type="submit" name="submit" id="submit" value="Invia Messaggio" />
 </p>
</form>

php :

PHP:
<?php 

function isValidEmail($email){ 
return eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email); 
} 

if (isset($_POST['submit'])) { 
$nome=$_POST['nome']; 
$email=$_POST['email'];
 $telefono=$_POST['telefono'];
 $messaggio=$_POST['messaggio']; 
if (!empty($nome)) { 
if (!empty($email)) { 
if (isValidEmail($email)) {
 if (!empty($telefono)) {
 if (!empty($messaggio)) { 
$testo_del_messaggio.="Nome: $nome\n"; 
$testo_del_messaggio.="Email: $email\n"; 
$testo_del_messaggio.="Telefono: $telefono\n";
 $testo_del_messaggio.="Messaggio: $messaggio\n"; 
$esito=mail("mia email","Messaggio di $nome ($email)", $testo_del_messaggio); 
if ($esito) { 
echo "Esito: Messaggio inviato, ripsonderemo appena possibile!"; 
} else { 
echo "Errore: Non &egrave; stato possibile inviare il messaggio!"; 
} 
} else { 
echo "Errore: Manca il Messaggio!"; 
} 
} else { 
echo "Errore: Formato Email non corretto!"; 
} 
} else { 
echo "Errore: Manca un indirizzo Email!"; 
} 
} else { 
echo "Errore: Manca il Nome!"; 
} 
} else { 
echo "Errore: Modulo di invio non valido!"; 
} 

?>
 
Ultima modifica di un moderatore:
ciao

la funzione "eregi" viene segnalata come deprecata,

usi la variabile "Telefono" e "telefono", che non sono la stessa cosa,
per cui lo script non procede segnalando errore

nella funzione mail() non hai messo header, la mail non viene inviata con la seguente segnalazione
PHP Warning: mail(): &quot;sendmail_from&quot; not set in php.ini or custom &quot;From:&quot; header missing

per default nei miei script aggiungo
PHP:
ini_set("SMTP"     ,$eM_Host);
ini_set("smtp_port",$eM_Port);
ini_set("username" ,$eM_username);
ini_set("password" ,$eM_password);

ottenendo un risultato positivo,

ti posto un link ... se vuoi leggerne il contenuto
http://forum.mrwebmaster.it/snippet...ettronica-servizio-offerto-vari-provider.html
ed il tuo script come l'ho usato per la prova

ciao
Marino

PHP:
<?php  

function isValidEmail($email){  
return eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email);  
}  

if (isset($_POST['submit'])) {  
  $nome=$_POST['nome'];  
  $email=$_POST['email']; 
  $telefono=$_POST['telefono']; 
  $messaggio=$_POST['messaggio'];  
  if (empty($nome))
    echo "Errore: Manca il Nome!";  
  else {
    if (empty($email))
      echo "Errore: Manca un indirizzo Email!";  
    else {
      if (!isValidEmail($email))
        echo "Errore: Formato Email non corretto!";  
      else {
        if (empty($telefono))
          echo "Errore: Manca un recapito telefonico!";  
        else {
          if (empty($messaggio))
            echo "Errore: Manca il Messaggio!";  
          else {
            $testo_del_messaggio ="Nome: $nome\n";  
            $testo_del_messaggio.="Email: $email\n";  
            $testo_del_messaggio.="Telefono: $telefono\n"; 
            $testo_del_messaggio.="Messaggio: $messaggio\n";  

require_once 'Config_MAIL.php';
SMTPservice(1);

$eM_header = "MIME-Version: 1.0\r\n";
$eM_header.= "Content-type: text/html; charset=utf-8\r\n";
$eM_header.= "From: <".$eM_username.">\r\n";

ini_set("SMTP"     ,$eM_Host);
ini_set("smtp_port",$eM_Port);
ini_set("username" ,$eM_username);
ini_set("password" ,$eM_password);

            $esito=mail($eM_TO1, "Messaggio di $nome ($email)", $testo_del_messaggio, $eM_header);
            if ($esito) {  
              echo "Esito: Messaggio inviato, risponderemo appena possibile!";  
            } else {  
              echo "Errore: Non &egrave; stato possibile inviare il messaggio!";  
            }  
          }
        }  
      }  
    }  
  }  
}  
else {
?> 

<form id="form1" name="form1" method="post" action="esito.php">
 <p>
 <label for="nome">Nome</label>
 <input type="text" name="nome" id="nome" />
 </p>
 <p>
 <label for="email">Email&nbsp; </label>
 &nbsp;<input type="text" name="email" id="email" /></p>
 <p>
 <label for="telefono">Telefono</label>
 &nbsp;<input type="text" name="telefono" id="telefono" /></p>
 <p>
 <label for="messaggio">Messaggio</label>
 <textarea name="messaggio" id="messaggio" cols="45" rows="5"></textarea>
 </p>
 <input type="submit" name="submit" id="submit" value="Invia Messaggio" />
 </p>
</form>

<?php  
}  
?>
 
buongiorno sig marino grazie gentilissimo per la risposta. allora devo copiare lo scriptc creato da lei invece di quello che avevo fatto io?
grazie di tutto
Ossequi
 
ho provato ma non funziona lo script di marino 51

lo script che ti ho postato è sicuramente funzionante perché provato e la mail ricevuta,

la mail a cui inviare il messaggio è nella variabile "$eM_TO1"

prova anche a guardare nel log di php se trovi messaggi di errore

fammi sapere
ciao
Marino
 
signor marino51 scusa se disturbo
forse sbaglio qualcosa e non funziona
mi dici il file html da creare
e il file php completo da creare in 1 solo file.
Se gentilmente mi dici dove devo modificare nel php unico file

grazie
 
Ultima modifica:
signor marino51 scusa se disturbo
ciao,

il "signor Marino51", in realtà sono Marino,
trovo utile darti un supporto se mi è possibile e se ne sono capace, quindi non arrechi nessun disturbo,

ho rivisto ciò che hai postato, riprendendolo in una forma, che a me è congeniale per trovare errori (disattenzioni)
e per non dover aprire molti file quando faccio le prove,

ora se controlli lo script come l'ho postato io,
vedi nella prima metà la parte php e nella seconda la parte html

lo puoi salvare tutto in un unico file dal nome "esito.php" come si legge nella riga "form"
<form id="form1" name="form1" method="post" action="esito.php">

puoi inserire direttamente i valori costanti al posto delle variabili, in particolare
le variabili che iniziano con "$eM_" sono quelle che ho inserito io

ed infine lo esegui, come esegui normalmente un qualunque script php,
ti si apre il form,
lo compili
e poi con il bottone "Invia Messaggio" vedi l'effetto che fa ....

se poi, vuoi continuare a mantenere i tuoi script divisi,
non avrai nessun problema (penso) nel copiare le due parti nei rispettivi files
oppure nel riportare le variazioni ai tuoi script originali

fammi sapere
ciao
Marino
 

Discussioni simili