Mail non si invia

  • Creatore Discussione Creatore Discussione Shyson
  • Data di inizio Data di inizio

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
Compilato il form invio ma la mail di notifica non parte nonostante esce che l'invio è partito


PHP:
...

if($errore==""){ 
echo "Il tuo ordine è stato inviato"
 }
else {
echo $errore;

$headersG1  = "MIME-Version: 1.0\r\n";
$headersG1 .= "content-type: text/html; charset=utf-8\r\n";
$headersG1 .= "X-Mailer: PHP\n"; 
$headersG1 .= "From: Me stesso <mestesso@gmail.com>\r\n"; 

//Invio email di avviso a me
$meG = "Me <mestesso@gmail.com>"; 
$oggettoG = "Grazie"; 
$messaggioM = "<html>
<head>
</head>
<body>
<table>
<tr>
<td>
<i>$messaggioG</i></div>
</td>
</tr>
</table> 
</body>
</html>";
//Invio dell'email 
mail ($meG,$oggettoG,$messaggioM,$headersG1);
}
 }
?>
//QUI CI STA IL FORM
 
Ultima modifica:
IMAP, questo codice lo uso già con altri form e funzionano, forse questo codice va posizionato in un altro punto della pagina, ma non mi sembra questo il problema.
 
ho preso il tuo codice che invia la mail, ho inserito,
gli ini_set necessari,
il from corretto,
ho inserito l'indirizzo "$meG"
ho inserito qualche carattere nella variabile "$messaggioG"
ho eseguito ... ed il messaggio é arrivato
vedi tu dove può essere l'errore
ciao
Marino
 
PHP:
$headers = "From: "email"\nreply-To: noreply\r\n";
$subject = "titolo";
$messaggio = "Quello che vuoi\n";
@mail($email, stripslashes($subject),stripslashes($messaggio),$headers);

$email = sarebbe l'email del destinatario

Io ho sempre fatto così e non ho mai riscontrato problemi

PS: Io inserirei la parte di codice php sempre sotto il codice html, ha più leggibilità ed efficienza, potresti riscontrare dei problemi in alcuni casi (solo l'apri sessione va inserito in testa al codice), almeno questo è un mio consiglio.
 
Ultima modifica:
Probabimente non funziona perché entra in conflitto con l'altro form, quest'altro invece funziona
 
Ricorda che non sempre l'errore sta nel codice php, tante volte anche un errore banale nel html può farti impazzire notevolmente!
 
o forse devi rovesciare questa condizione ....
mandi la mail in caso di errore

PHP:
if($errore==""){ 
echo "Il tuo ordine è stato inviato"
 }
else {
echo $errore;

$headersG1  = "MIME-Version: 1.0\r\n";
$headersG1 .= "content-type: text/html; charset=utf-8\r\n";
ciao
Marino
 
PHP:
$headers = "From: "email"\nreply-To: noreply\r\n";
$subject = "titolo";
$messaggio = "Quello che vuoi\n";
@mail($email, stripslashes($subject),stripslashes($messaggio),$headers);

$email = sarebbe l'email del destinatario

Io ho sempre fatto così e non ho mai riscontrato problemi

PS: Io inserirei la parte di codice php sempre sotto il codice html, ha più leggibilità ed efficienza, potresti riscontrare dei problemi in alcuni casi (solo l'apri sessione va inserito in testa al codice), almeno questo è un mio consiglio.

Io ho sempre saputo che il php va messo all'inizio della pagina, però non so. Non sono ancora riuscito a farlo funzionare. Posto tutta la pag

PHP:
<?php
//Richiama i parametri di connessione al db
require_once "connessione.php";
include ("funzioni1.php");  

if(isset($_POST['inviaG'])) {
$data_locale = time(); //Stampa nel db la data numerica es. 1360585588 
$nomeG = htmlspecialchars(addslashes(ucfirst(trim($_POST['nomeG']))));
$cognome = htmlspecialchars(addslashes(ucfirst(trim($_POST['cognome']))));
$via = htmlspecialchars(addslashes(ucfirst(trim($_POST['via']))));
$n = htmlspecialchars(addslashes(ucfirst(trim($_POST['n']))));
$loc = htmlspecialchars(addslashes(ucfirst(trim($_POST['loc']))));
$pro = htmlspecialchars(addslashes(ucfirst(trim($_POST['pro']))));
$cap = htmlspecialchars(addslashes(trim($_POST['cap'])));
$naz = htmlspecialchars(addslashes(ucfirst(trim($_POST['naz']))));
$email = htmlspecialchars(strtolower($_POST['email']));
$email = str_replace(" ","",$email); // Toglie gli spazi interni nell'email
$tel = htmlspecialchars(addslashes(trim($_POST['tel'])));
$messaggioG = htmlspecialchars(addslashes(ucfirst(trim($_POST['messaggioG'])))); 
$validatorG = htmlspecialchars(trim($_POST['validatorG']));

$_SESSION['nomeG'] = $nomeG;
$_SESSION['cognome'] = $cognome;
$_SESSION['via'] = $via; 
$_SESSION['n'] = $n;
$_SESSION['loc'] = $loc;
$_SESSION['pro'] = $pro;
$_SESSION['cap'] = $cap;
$_SESSION['naz'] = $naz; 
$_SESSION['email'] = $email;
$_SESSION['tel'] = $tel;
$_SESSION['messaggioG'] = $messaggioG;

//dichiaro la variabile e la rendo vuota, altrimenti da errore
$errore = ''; 

//strlen = numero di byte occupati dalla stringa, questo significa compresi gli spazi interni fra le parole
if (strlen($nomeG) > 20) { 
$errore .= "&bull;&nbsp;&nbsp;NOME: max 20 caratteri<br><br>";
}
if (strlen($cognome) > 30) { 
$errore .= "&bull;&nbsp;&nbsp;COGNOME: max 30 caratteri<br><br>";
} 
if (strlen($via) > 30) { 
$errore .= "&bull;&nbsp;&nbsp;VIA: max 30 caratteri<br><br>";
}
if (strlen($n) > 10) { 
$errore .= "&bull;&nbsp;&nbsp;N°: max 10 caratteri<br><br>";
} 
if (strlen($loc) > 30) { 
$errore .= "&bull;&nbsp;&nbsp;LOCALITÀ: max 30 caratteri<br><br>";
}
if (strlen($pro) > 30) { 
$errore .= "&bull;&nbsp;&nbsp;PROVINCIA: max 10 caratteri<br><br>";
} 
if (strlen($cap) > 10) { 
$errore .= "&bull;&nbsp;&nbsp;CAP: max 10 caratteri<br><br>";
}
if (strlen($naz) > 20) { 
$errore .= "&bull;&nbsp;&nbsp;NAZIONE: max 20 caratteri<br><br>";
} 
if (strlen($email) > 320) { 
$errore .= "&bull;&nbsp;&nbsp;EMAIL: max 320 caratteri<br><br>";
}
if (strlen($tel) > 20) { 
$errore .= "&bull;&nbsp;&nbsp;TEL: max 20 caratteri<br><br>";
}
// Non conteggia le new line
if (strlen(str_replace(array("\n", "\r"),"", $messaggioG)) > 200) { 
$errore .= "&bull;&nbsp;&nbsp;MESSAGGIO: max 200 caratteri<br><br>";
}
if (strlen($validatorG) > 4 ) { 
$errore .= "&bull;&nbsp;&nbsp;CODICE: max 4 caratteri<br><br>";
}

//Nome (Campo obbligatorio)
if(!empty($_POST['inviaG'])) { 
if ($nomeG == "") { 
$errore .= "&bull;&nbsp;&nbsp;Inserire il Nome<br><br>"; 
 }
  }
//Cognome (Campo obbligatorio)
if(!empty($_POST['inviaG'])) { 
if ($cognome == "") { 
$errore .= "&bull;&nbsp;&nbsp;Inserire il Cognome<br><br>"; 
}
 }
//Via (Campo obbligatorio)
if(!empty($_POST['inviaG'])) {  
if ($via == "") { 
$errore .= "&bull;&nbsp;&nbsp;Inserire la Via<br><br>"; 
}
 }
//Numero (Campo obbligatorio)
if(!empty($_POST['inviaG'])) {  
if ($n == "") { 
$errore .= "&bull;&nbsp;&nbsp;Inserire il Numero<br><br>"; 
}
 }
//Località (Campo obbligatorio)
if(!empty($_POST['inviaG'])) { 
if ($nome == "") { 
$loc .= "&bull;&nbsp;&nbsp;Inserire la Località<br><br>"; 
}
 }
//Provincia (Campo obbligatorio)
if(!empty($_POST['inviaG'])) { 
if ($pro == "") { 
$errore .= "&bull;&nbsp;&nbsp;Inserire la Provincia<br><br>"; 
}
 }
//CAP (Campo obbligatorio)
if(!empty($_POST['inviaG'])) {  
if ($cap == "") { 
$errore .= "&bull;&nbsp;&nbsp;Inserire il CAP<br><br>"; 
}
 }
//Email (Campo obbligatorio)
if(!empty($_POST['inviaG'])) {  
if ($email == "") { 
$errore .= "&bull;&nbsp;&nbsp;Inserire l'Email<br><br>"; 
}
 } 
//Valida email
if ($email) { 
if (!preg_match("/^[^.-]([.]?[^.-]+)*([-][^.-])?([.]?[^.-])*@(.*)[^.](\.[a-z]{2,6})$/",$email)) {
$errore .= "&bull;&nbsp;&nbsp;Email non valida<br><br>";
 }
  }
//Telefono (Campo obbligatorio)
if(!empty($_POST['inviaG'])) {  
if ($tel == "") { 
$errore .= "&bull;&nbsp;&nbsp;Inserire il Telefono<br><br>"; 
}
 }
//Validatore (Campo obbligatorio)
if(!empty($_POST['inviaG'])) { 
if ($validatorG == "") {  
$errore .= "&bull;&nbsp;&nbsp;Inserire il Codice<br><br>"; 
} 
 }
//Controlla che il codice Captcha inserito corrisponda a quello che appare nell'immagine
if(!empty($_POST['inviaG'])) {  
if ($_SESSION['rand_code'] != strtolower(trim($_POST['validatorG']))) {
$errore .= "&bull;&nbsp;&nbsp;Codice errato!<br><br>";
}
 }
if($errore==""){ 
echo "<div class=\"traspG\"></div><div class=\"inviatoG\"><div style=\"margin-top:25px; margin-bottom:30px; text-align:center;\"><img src=\"immagini/ok.png\" width=\"60\" height=\"60\" alt=\"Ok\" title=\"Ok\"></div><span style=\"font-size:19px;\">Il tuo ordine è stato inviato!</span></div>"; 
echo "<meta http-equiv='refresh' content='1; url=".htmlspecialchars($_SERVER['PHP_SELF']) ."'>";
 }
else {
echo "<div class=\"traspG\"></div><div class=\"alertG\"><div style=\"margin-top:25px;margin-bottom:30px;text-align:center;\"><img src=\"immagini/alert.png\" width=\"70\" height=\"70\" alt=\"Alert\" title=\"Alert\"></div>$errore</div>"; 
echo "<meta http-equiv=\"refresh\" content=\"1; url=".htmlspecialchars($_SERVER['PHP_SELF'])."?#segnalibroOrdine\">";

//Questo codice se il campo è vuoto mette a video la barretta IN MAIL
if ($naz == '') {
$naz ="&nbsp;-";
}

$headersG  = "MIME-Version: 1.0\r\n";
$headersG .= "Content-type: text/html; charset=utf-8\r\n";
$headersG .= "X-Mailer: PHP\n"; 
$headersG .= "From: Libridelbenessere <miamail@gmail.com>\r\n"; 

$headersG1  = "MIME-Version: 1.0\r\n";
$headersG1 .= "content-type: text/html; charset=utf-8\r\n";
$headersG1 .= "X-Mailer: PHP\n"; 
$headersG1 .= "From: $email;\r\n"; 

//Invio email di avviso a me
$meG = "Me <miamail@gmail.com>"; 
$oggettoG = "Qualcuno ha fatto l'ordine";  //Le email vanno formattate con HTML 
$messaggioM = "<html>
<head>
</head>
<body>
<table>
<tr>
<td>
<br>
<br> 
<br>
<div style=\"width:auto;height:4px;\"><span style=\"color:#666666\">Nome:</span>&nbsp;&nbsp;$nome</div>
<br>
<div style=\"width:auto;height:4px;\"><span style=\"color:#666666\">Cognome:</span>&nbsp;&nbsp;$cognome</div>
<br>
<div style=\"width:auto;height:4px;\"><span style=\"color:#666666\">Via:</span>&nbsp;&nbsp;$via</div>
<br>
<div style=\"width:auto;height:4px;\"><span style=\"color:#666666\">n°:</span>&nbsp;&nbsp;$n</div>
<br>
<div style=\"width:auto;height:4px;\"><span style=\"color:#666666\">Località:</span>&nbsp;&nbsp;$loc</div>
<br>
<div style=\"width:auto;height:4px;\"><span style=\"color:#666666\">Provincia:</span>&nbsp;&nbsp;$pro</div>
<br>
<div style=\"width:auto;height:4px;\"><span style=\"color:#666666\">CAP:</span>&nbsp;&nbsp;$cap</div>
<br>
<div style=\"width:auto;height:4px;\"><span style=\"color:#666666\">Nazione:</span>&nbsp;&nbsp;$naz</div>
<br>
<div style=\"width:auto;height:4px;\"><span style=\"color:#666666\">Email:</span>&nbsp;&nbsp;$email</div>
<br>
<div style=\"width:auto;height:4px;\"><span style=\"color:#666666\">Telefono:</span>&nbsp;&nbsp;$tel</div>
<br>
<div style=\"width:auto;height:4px;\"><span style=\"color:#666666\">Note:</span>&nbsp;&nbsp;$messaggioG</div>
<br>
<div style=\"width:auto;height:4px;\"><span style=\"color:#666666;\">Ip:</span>&nbsp;&nbsp;<span style=\"font-family:arial;font-size:13px;\">$ip</span>&nbsp;&nbsp;<img style=\" border-right:1px solid #9c9e95; border-bottom:1px solid #9c9e95; width:16px; height:12px; vertical-align:-13%;\" src=\"http://libridelbenessere.altervista.org/$file_to_check\" alt=\"".$countries[$two_letter_country_code][1]."\" title=\"".$countries[$two_letter_country_code][1]."\">&nbsp;&nbsp;".$countries[$two_letter_country_code][1]."</div>
<br>
<br>
<div style=\"width:auto;height:4px;\"><span style=\"color:#666666;\">Modulo ordine</span></div>
<br>
<br>
<i>$messaggioG</i></div>
<br>
<br>
<br>
<tr>
<td>
<div style=\"width:auto;height:auto;font-family:arial;font-size:11px;color:#000080;\">".crea_dataG($data_locale)."</div>
-------------------------
<br>
<br>
<br>
</td>
</tr>
</td>
</tr>
</table> 
</body>
</html>";
//Invio dell'email 
mail ($meG,$oggettoG,$messaggioM,$headersG1); 

//Invio email di ringraziamento al Visitatore 
$visitorG1 = "$email";  
$oggettoG1 = "Riassunto ordine libri"; 
$messaggioM1 = "<html>
<head>
</head>
<body>
<table>
<tr>
<td>
<p style=\"font-family:arial;font-size:17px;color:#000080;font-weight:bold;\">
- RISPOSTA AUTOMATICA -</p>
</td>
</tr>
<tr>
<td>
<p style=\"font-family:arial;font-size:11px;color:#000080;\">".crea_dataG($data_locale)."</p>
</td>
</tr>
<tr>
<td>
<p style=\"font-family:arial;font-size:14px;padding-top:15px;\">  
<br>
Grazie&nbsp;<b>$nome</b>,
<br>
<br>
questo è il riassunto del tuo ordine. Riceverai la merce nel giro di qualche giorno.
<br>
<br>
$messaggioM
<br>
A presto
<br>
<a href=\"http://libridelbenessere.it\" style=\"font-family:arial;font-size:13px;color:#0000ff;text-decoration:none;\">www.libridelbenessere.it</span></a>
</p>
</td>
</tr>
</table>
</body>
</html>
<br>
<br>";
//Invio dell'email 
mail($visitorG1,$oggettoG1,$messaggioM1,$headersG);
}
 } 
?>
<div id="containerBig">

<a id="segnalibroOrdine"><span style="width: auto; height: auto; font-size: 2em; color: #e67300;">Modulo Ordine</span></a>
<br>
<br>
<br>
<span style="font-size: 1.2em;">Compila il modulo con i dati esatti dell'<span style="color: #ff0000">indirizzo di destinazione libri.</span></span>
<br>
<br>
<div style="font-size: 1.2em; text-align: left; padding-left: 15px;">Assieme ai tuoi dati s'invierà anche l'ordine che hai nel carrello.</div>
<br>
<br>
<span style="font-size: 1em;">(Diritto di recesso, vedi DL n. 21 del 21 febbraio 2014)</span>
<br>
<br>
<br>
<!-- INIZIO FORM-->
   <form method="post" name="mioformGx" id="mioG" action="<?php echo $_SERVER['PHP_SELF'];?>" onsubmit="return (nomeCampoG() &amp;&amp; cognomeCampoG() &amp;&amp; viaCampoG() &amp;&amp; nCampoG() &amp;&amp; locCampoG() &amp;&amp; proCampoG() &amp;&amp; capCampoG() &amp;&amp; telCampoG() &amp;&amp; emailCampoG() &amp;&amp; validatoreCampoG());">
   
	  <fieldset id="contenuto"> 
	  <br>
		<label class="nomiG">Nome<span class="asteriscoG">&nbsp;*</span></label>
          <input type="text" name="nomeG" class="campiG" value="<?php if(isset($_SESSION['nomeG'])){ echo $_SESSION['nomeG'];}else{ echo "";} ?>" onkeyup="contaNomeG(); nomeCampoG()" onblur="nomeCampoG(); this.value=this.value.replace(/[\s]*/,'')"> <!-- E' il Trim di js (onblur rimuove subito in modo visibile spazi prima e alla fine)  -->
                  <div class="NG">
           <div id="contaNomeG"></div><div id="nomeCampoG"></div>
            </div>
           <label class="nomiG">Cognome<span class="asteriscoG">&nbsp;*</span></label>
       <input type="text" name="cognome" class="campiG" value="<?php if(isset($_SESSION['cognome'])){ echo $_SESSION['cognome'];}else{ echo "";} ?>" onkeyup="contaCognomeG(); cognomeCampoG()" onblur="cognomeCampoG(); this.value=this.value.replace(/[\s]*/,'')">
                <div class="NG">
          <div id="contaCognomeG"></div><div id="cognomeCampoG"></div>
          </div>
        <label class="nomiG">Via, Piazza<span class="asteriscoG">&nbsp;*</span></label>
				 <input type="text" name="via" class="campiG" value="<?php if(isset($_SESSION['via'])){ echo $_SESSION['via'];}else{ echo "";} ?>" onkeyup="contaViaG(); viaCampoG()" onblur="viaCampoG(); this.value=this.value.replace(/[\s]*/,'')">  
         <label class="nomiGn">n°<span class="asteriscoG">&nbsp;*</span></label>
        &nbsp;&nbsp;&nbsp;<input type="text" name="n" class="campiGn" value="<?php if(isset($_SESSION['n'])){ echo $_SESSION['n'];}else{ echo "";} ?>" onkeyup="contaNG(); nCampoG()" onblur="nCampoG(); this.value=this.value.replace(/[\s]*/,'')">  
        <div class="NG">
            <div id="contaViaG"></div><div id="viaCampoG"></div>
            <div id="contaNG"></div><div id="nCampoG"></div>
               </div>
            <label class="nomiG">Località<span class="asteriscoG">&nbsp;*</span></label>
         <input type="text" name="loc" class="campiG" value="<?php if(isset($_SESSION['loc'])){ echo $_SESSION['loc'];}else{ echo "";} ?>" onkeyup="contaLocG(); locCampoG()" onblur="locCampoG(); this.value=this.value.replace(/[\s]*/,'')">
       <label class="nomiGp">Provincia (sigla)<span class="asteriscoG">&nbsp;*</span></label>
        &nbsp;&nbsp;&nbsp;<input type="text" name="pro" class="campiGp" value="<?php if(isset($_SESSION['pro'])){ echo $_SESSION['pro'];}else{ echo "";} ?>" onkeyup="contaProG(); proCampoG()" onblur="proCampoG(); this.value=this.value.replace(/[\s]*/,'')">  
         <div class="NG">
        <div id="contaLocG"></div><div id="locCampoG"></div>
        <div id="contaProG"></div><div id="proCampoG"></div>
           </div>
           <label class="nomiG">CAP<span class="asteriscoG">&nbsp;*</span></label>
           <input type="text" name="cap" class="campiGc" value="<?php if(isset($_SESSION['cap'])){ echo $_SESSION['cap'];}else{ echo "";} ?>" onkeyup="contaCapG(); capCampoG()" onblur="capCampoG(); this.value=this.value.replace(/[\s]*/,'')">
        <label class="nomiGs">Nazione (se estera)</label>
        &nbsp;&nbsp;&nbsp;<input type="text" name="naz" class="campiGs" value="<?php if(isset($_SESSION['naz'])){ echo $_SESSION['naz'];}else{ echo "";} ?>" onkeyup="contaNazG();" onblur="this.value=this.value.replace(/[\s]*/,'')">
        <div class="NG">
            <div id="contaCapG"></div><div id="capCampoG"></div>
            <div id="contaNazG"></div>
              </div>
        <label class="nomiG">Email<span class="asteriscoG">&nbsp;*</span></label>
         <input type="text" name="email" class="campiG" value="<?php if(isset($_SESSION['email'])){ echo $_SESSION['email'];}else{ echo "";} ?>" onkeyup="contaUserG(this); contaEmailG(); validaEmailG(); emailCampoG()" onblur="emailCampoG() &amp;&amp; validaEmailG(); this.value=ignoreSpaces(this.value)">   <!-- Rimuove tutti gli spazi (attacca le parole) -->
       <label class="nomiGt">Telefono<span class="asteriscoG">&nbsp;*</span></label>
        &nbsp;&nbsp;&nbsp;<input type="text" name="tel" class="campiGt" value="<?php if(isset($_SESSION['tel'])){ echo $_SESSION['tel'];}else{ echo "";} ?>" onkeyup="contaTelG(); telCampoG();" onblur="telCampoG(); this.value=this.value.replace(/[\s]*/,'')">
         <div class="NG">
        <div id="contaUserG"></div><div id="contaEmailG"></div><div id="validaEmailG"></div><div id="emailCampoG"></div>
        <div id="contaTelG"></div><div id="telCampoG"></div>
           </div>
  <br>
  <div id="contSX">
		<span class="testoMess">Note</span>
		<br>
		 <br>
</div><!-- contSX -->

    <div id="footer-bassoG">
	
 <div id="contaMessG"></div>
<textarea name="messaggioG" id="txtScrivimiG" onkeyup="contaG(this);" onblur="this.value=this.value.replace(/[\s]*/,'')"><?php if(isset($_SESSION['messaggioG'])){ echo $_SESSION['messaggioG'];}else{ echo "";} ?></textarea>
</div>	<!--footer-bassoG -->
	
 <div id="footerSX">
    <span class="campiObbG">Campi obbligatori</span><span class="asterisco">&nbsp;*</span>
					</div><!--footerSX-->
					
           <div id="footerCT">
           	 <button type="submit" name="inviaG" value="inviaG" style="cursor:pointer;">Invia</button>
						</div><!--footerCT-->
						
			<div id="footerDX">
				<div style=" font-family: arial; font-size: 13px; color: #ff0000; text-shadow: 0px 1px 0px #ffffff; margin-right: 80px; margin-bottom: 2px;">Scrivi questo codice</div>
	         <input type="text" name="validatorG" class="validatorG" onkeyup="contaValidG(); validatoreCampoG()" onblur="validatoreCampoG(); this.value=ignoreSpaces(this.value)">
        <div style="text-align: right; margin-right: 42px;"><img style="width: 70px; height: 30px;" id="capG" src="Captcha/captcha-image.php" alt="CAPTCHA image" title="CAPTCHA image">
   &nbsp;<img style="width: 24px; height: 24px; margin-bottom: 1px; cursor:pointer;" id="immagineG" src="immagini/refresh.gif" alt="Refresh CAPTCHA image" title="Refresh CAPTCHA image" onclick="funzioneG()">
     </div><!--style-->
        </div><!--footerDX-->

				<div id="contaValidG"></div><div id="validatoreCampoG"></div> 
	
	</fieldset> <!-- contenuto-->
     
      </form>
  <!-- FINE FORM--> 
      
<p style="font-size:14px; color:#004080; text-align:center; margin-top:7px;"><span style="font-weight: bolder;">Nota:</span> Queste informazioni non verranno cedute a terzi
<br>
e verranno usate solo per la spedizione.</p>
</div><!-- containerBig --> 


<div class="carrello">
<div style="width: auto; height: auto; font-size: 2em; color: #008000; text-align: center;">Il tuo Carrello<br><p>è vuoto</p></div>
<br>
<br>
<br>
</div>
 
comincia a sistemare questo, ciao

PHP:
//Località (Campo obbligatorio)
if(!empty($_POST['inviaG'])) { 
if ($nome == "") { 
$loc .= "&bull;&nbsp;&nbsp;Inserire la Località<br><br>"; 
}
 }
 
poi, come ti avevo scritto in precedenza, rovescia la condizione di controllo degli errori,

PHP:
  if(!empty($errore)){ 
    echo "<div class=\"traspG\"></div><div class=\"alertG\"><div style=\"margin-top:25px;margin-bottom:30px;text-align:center;\"><img src=\"immagini/alert.png\" width=\"70\" height=\"70\" alt=\"Alert\" title=\"Alert\"></div>$errore</div>"; 
    echo "<meta http-equiv=\"refresh\" content=\"1; url=".htmlspecialchars($_SERVER['PHP_SELF'])."?#segnalibroOrdine\">";
  }
  else {
    echo "<div class=\"traspG\"></div><div class=\"inviatoG\"><div style=\"margin-top:25px; margin-bottom:30px; text-align:center;\"><img src=\"immagini/ok.png\" width=\"60\" height=\"60\" alt=\"Ok\" title=\"Ok\"></div><span style=\"font-size:19px;\">Il tuo ordine è stato inviato!</span></div>"; 
    echo "<meta http-equiv='refresh' content='1; url=".htmlspecialchars($_SERVER['PHP_SELF']) ."'>";

    //Questo codice se il campo è vuoto mette a video la barretta IN MAIL
    if ($naz == '') {
      $naz ="&nbsp;-";
    }

    $headersG  = "MIME-Version: 1.0\r\n";
    $headersG .= "Content-type: text/html; charset=utf-8\r\n";
    $headersG .= "X-Mailer: PHP\n"; 
    $headersG .= "From: Libridelbenessere <miamail@gmail.com>\r\n";

controlla anche la variabile "$nome" dovrebbe essere "$nomeG"

da buon ultimo, hai una riga che procura un po' di errori
NESSUN ERRORE
INVIA LA MAIL !!
PHP Notice: Undefined variable: ip in C:\Web_Sites\__Test\PHP\TEST\_Shyson\_Shyson_2_mail_1.php on line 37
PHP Notice: Undefined variable: file_to_check in C:\Web_Sites\__Test\PHP\TEST\_Shyson\_Shyson_2_mail_1.php on line 37
PHP Notice: Undefined variable: countries in C:\Web_Sites\__Test\PHP\TEST\_Shyson\_Shyson_2_mail_1.php on line 37
PHP Notice: Undefined variable: two_letter_country_code in C:\Web_Sites\__Test\PHP\TEST\_Shyson\_Shyson_2_mail_1.php on line 37
PHP Notice: Undefined variable: countries in C:\Web_Sites\__Test\PHP\TEST\_Shyson\_Shyson_2_mail_1.php on line 37
PHP Notice: Undefined variable: two_letter_country_code in C:\Web_Sites\__Test\PHP\TEST\_Shyson\_Shyson_2_mail_1.php on line 37
PHP Notice: Undefined variable: countries in C:\Web_Sites\__Test\PHP\TEST\_Shyson\_Shyson_2_mail_1.php on line 37
PHP Notice: Undefined variable: two_letter_country_code in C:\Web_Sites\__Test\PHP\TEST\_Shyson\_Shyson_2_mail_1.php on line 37
non guardare il numero di linea, non corrisponde al tuo, io ho tolto alcune parti ....
ciao
Marino
 
Ho scoperto il problema, ora arrivano, ma devo togliere un codice, quello sotto dopo l'else che controlla gli errori. Ho provato anche a invertirli ma non arrivano.

PHP:
if($errore==""){ 
echo "<div class=\"traspG\"></div><div class=\"inviatoG\"><div style=\"margin-top:25px; margin-bottom:30px; text-align:center;\"><img src=\"immagini/ok.png\" width=\"60\" height=\"60\" alt=\"Ok\" title=\"Ok\"></div><span style=\"font-size:19px;\">Il tuo ordine è stato inviato!</span></div>"; 
echo "<meta http-equiv='refresh' content='1; url=".htmlspecialchars($_SERVER['PHP_SELF']) ."'>";
}
else {
echo "<div class=\"traspG\"></div><div class=\"alertG\"><div style=\"margin-top:25px;margin-bottom:30px;text-align:center;\"><img src=\"immagini/alert.png\" width=\"70\" height=\"70\" alt=\"Alert\" title=\"Alert\"></div>$errore</div>"; 
echo "<meta http-equiv=\"refresh\" content=\"1; url=".htmlspecialchars($_SERVER['PHP_SELF'])."?#segnalibroOrdine\">";

Se lascio solo questo sotto funziona, ma non ho il controllo errori

PHP:
if($errore==""){ 
echo "<div class=\"traspG\"></div><div class=\"inviatoG\"><div style=\"margin-top:25px; margin-bottom:30px; text-align:center;\"><img src=\"immagini/ok.png\" width=\"60\" height=\"60\" alt=\"Ok\" title=\"Ok\"></div><span style=\"font-size:19px;\">Il tuo ordine è stato inviato!</span></div>"; 
echo "<meta http-equiv='refresh' content='1; url=".htmlspecialchars($_SERVER['PHP_SELF']) ."'>";
 
se inverti copiando come ti ho scritto, hai il controllo errori e l'invio funziona
devi invertire if e ovviamente le righe di codice che seguono

scusa, mi è rimasta nella penna la variazione sotto riportata,

vedi anche gli altri errori che ti ho segnalato
ciao
Marino
PHP:
  //Email (Campo obbligatorio)
  if(!empty($_POST['inviaG'])) {  
    if ($email == "") { 
      $errore .= "&bull;&nbsp;&nbsp;Inserire l'Email<br><br>"; 
    }
    //Valida email
    if ($email) { 
      if (!preg_match("/^[^.-]([.]?[^.-]+)*([-][^.-])?([.]?[^.-])*@(.*)[^.](\.[a-z]{2,6})$/",$email)) {
        $errore .= "&bull;&nbsp;&nbsp;Email non valida<br><br>";
      }
    }
  }
 
Ho spostato l'echo $errore sotto i codici delle mail e ora funziona tutto.
Mi manca ancora una cosa: quando invio la mail con il contenuto del form (nome, cognome. ecc.) deve inviarsi anche il contenuto di un div e cioè il contenuto del carrello, come si fa?

PHP:
<div class="carrello">
<div style="width: auto; height: auto; font-size: 2em; color: #008000; text-align: center;">Carrello</div>
<br>
//CONTENUTO
<br>
<br>
</div>
 

Discussioni simili