• User

    ci ho sbattuto per un po ma per ogni modifica apportata al codice inserendo appunto $mail_utente al posto di $mail corrispondeva uno non funzionamento dello script. Materialmente non mi giungeva nessuna mail.

    SCWD cortesemente potresti riconsiderare il codice alla luce degli ultimi suggerimenti?


  • User Attivo

    Modificato 🙂 (non l'ho provato perchè sono a lavoro :P)
    Ecco il codice:
    [PHP]
    <?PHP
    //scwd^^
    //La funzione creacodice genera una stringa random di un numero di caratteri pari a
    //$n_caratteri che si trovano nell'array $caratteri (lettere alfabeto e numeri)
    $caratteri=array('a','b','c','d','e','f','g','h',' i','j','k','l','m','n','o','p','q','r','s','t','u' ,'v','x','y','z','0','1','2','3','4','5','6','7',' 8','9');
    $codice="";
    $n_caratteri=4; //Numero di caratteri da generare
    for($i=0; $i<$n_caratteri; $i++)
    {
    $x=rand(0,35);
    $codice=$codice.$caratteri[$x];
    }
    if($ctrl==1)
    {
    $verifica_mail = ereg("^[^@ ]+@[^@ ]+.[^@ .]+$", $mail_utente);
    $x=strcmp($codice_creato,$cod_immesso);
    //Controllo campi inseriti
    if(($nome=="")||($mail_utente=="")||($richiesta=="")||(!$verifica_mail)||($x!=0)||($citta==""))
    {
    echo "<font face="verdana" size="2">
    Attenzione - si sono riscontrati i seguenti errori:<br>
    ";
    if($nome=="")
    {echo "<li>Nome non inserito;";}
    if($mail_utente=="")
    {echo "<li>E-mail non inserita;";}
    if($richiesta=="")
    {echo "<li>Testo non inserito;";}
    if(!$verifica_mail)
    {echo "<li>E-mail non valida;";}
    if($citta=="")
    {echo "<li>Città non inserita;";}
    if($x!=0)
    {echo "<li>Codice di conferma inserito non valido;";}
    echo "<br><a href="info_xxxxx.php">Torna indietro</a> e re-inserisci i valori nei campi.<br></font>";
    }
    else
    {
    $oggetto="Richiesta dal tuo sito"; //Oggetto del messaggio
    $mail="[email protected]"; //e-mail destinatario
    $header = "From:".$mail."\n";
    $header .= "X-Mailer: Il nostro Php\n";
    // costruiamo le intestazioni specifiche per il formato HTML
    $header .= "MIME-Version: 1.0\n";
    $header .= "Content-Type: text/html; charset="iso-8859-1"\n";
    $header .= "Content-Transfer-Encoding: 7bit\n\n";
    $corpo="<br>
    Nome: $nome;<br>
    Citta: $citta;<br>
    e-mail: $mail_utente;<br>
    Codice casa: $cod_casa;<br>
    IP: $REMOTE_ADDR;<br>
    Testo del messaggio:<br>
    $richiesta<br>
    <br>
    _______________________________________________<br >
    SCWD";
    if( @mail($mail,$oggetto,$corpo,$header))
    {echo "<br><br><font face=verdana size=3 color=blue><b><center>$nome e-mail inviata con successo.</center></b><br></font>";}
    else
    {echo "<br><br><font face=verdana size=3 color=red><b><center>Errore! E-mail non inviata!</center></b><br></font>";}
    }
    }
    else
    {
    echo "
    <form name="info_xxxxx" action="xxxx.php?ctrl=1&codice_creato=$codice" method="post">
    <table align="center">
    <tr>
    <td>
    *Nome
    </td>
    <td>
    <input type="text" size="30" name="nome">
    </td>
    </tr>
    <tr>
    <td>
    *Città
    </td>
    <td>
    <input type="text" size="30" name="citta">
    </td>
    </tr>
    <tr>
    <td>
    *e-mail
    </td>
    <td>
    <input type="text" size="50" name="mail_utente">
    </td>
    </tr>
    <tr>
    <td>
    *Codice casa
    </td>
    <td>
    <select name="cod_casa" style="width: 150px">
    <option selected="selected">$cc</option>
    <option>01</option>
    <option>02</option>
    <option>03</option>
    <option>04</option>
    <option>05</option>
    <option>06</option>
    <option>07</option>
    <option>08</option>
    <option>09</option>
    </select>
    </td>
    </tr>
    <tr>
    <td>
    *Richiesta
    </td>
    <td>
    <textarea name="richiesta" rows="5" style="width: 400px" cols="100"></textarea>
    </td>
    </tr>
    <tr>
    <td>
    *Codice di verifica:<br><b>$codice</b>
    </td>
    <td>
    <input type="text" size="20" name="cod_immesso">
    </td>
    </tr>
    <tr>
    <td colspan="2">
    <input type="submit" value="Invia" name="submit">
    </td>
    </tr>
    </table>
    </form>";
    }
    ?>
    [/PHP]
    mrice te postaci tutto il tuo codice 😉


  • User

    Ragazzi, se mi chiedete di postare tutto il mio codice allora significa che non avete letto i miei due post. Non so per via di chs trano marchingegno appena includo il mio codice tra i due tagg BB, vengo avvisato che non posso mettere indirizzi e link in chiaro e non me lo invia.
    Il codice l'ho messo in formato txt qua (evito la www, aggiungetelo voi) viento.it/codice_form.txt

    Grazie
    Andrea


  • User Attivo

    Ti spiego io lo strano marchingegno 😄 allora praticamente non si possono inserire url a meno che nn sei moderatore o utente premium ecc ecc Nel tuo script:
    [php]
    $oggetto="Iscrizione aggiornamenti"; //Oggetto del messaggio
    $mail="MAIL"; //e-mail destinatario
    $header = "From: URL\n";
    [/php]
    Dove ho messo MAIL e URL te volevi postare le url ecc ecc eheh Ripostalo te perchè dal txt verrebbe tutto su una linea 😉


  • User

    Ragazzi, innanzitutto un grazie enorme a scwd che ha realizzato un ottimo script. La versione che ho ritoccato io è perfettamente funzionante anche grazie al suo, aiuto. Provvedo a incollarla. In questa vers. funziona la mail dell'utente come campo a: del messaggio:
    [PHP]
    $oggetto="Cio che apparira nell'oggetto dell'email"; //Oggetto del messaggio
    $mail="[email protected]"; //e-mail destinatario
    $header = "From: ".$mail_utente."\n";
    $header .= "X-Mailer: Il nostro Php\n";
    [/PHP]
    Incollo tutto il codice funzionante:
    [PHP]
    <?PHP
    $caratteri=array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','x','y','z','0','1','2','3','4','5','6','7','8','9');
    $codice="";
    $n_caratteri=5;

    			for($i=0; $i<$n_caratteri; $i++)
    				{
    					$x=rand(0,35);
    					$codice=$codice.$caratteri[$x];
    				}
    
    			if($ctrl==1)
    				{
    					$verifica_mail = ereg("^[^@ ]+@[^@ ]+\.[^@ \.]+$", $mail_utente);
    					$x=strcmp($codice_creato,$cod); //Controllo campi inseriti
    					if(($nome=="")||($cognome=="")||($comune=="")||($prov=="")||($via=="")||($mail_utente=="")||($tel=="")||(!$verifica_mail)||($x!=0))
    				{
    
    			echo "Attenzione - si sono riscontrati i seguenti errori:<br />";
    
    				if($nome=="")
    				{echo "<li>Nome non inserito";}
    				if($cognome=="")
    				{echo "<li>Cognome non inserito";}
    				if($comune=="")
    				{echo "<li>Comune non inserito";}					
    				if($prov=="")
    				{echo "<li>Provincia non inserita";}
    				if($via=="")
    				{echo "<li>Indirizzo non inserito";}
    				if($mail_utente=="")
    				{echo "<li>E-mail non inserita";}
    				if($tel=="")
    				{echo "<li>Recapito telefonico non inserito";}
    				if(!$verifica_mail)
    				{echo "<li>E-mail non valida";}
    				if($x!=0)
    				{echo "<li>Codice di verifica inserito non valido";}
    				echo "<br /><a href=\"form.php\" alt=\"Testo alternativo\">Torna indietro</a> e inserisci tutti i valori obbligatori contrassegnati dall'asterisco (*).<br />";
    				}
    				else
    				{
    				$oggetto="Oggetto dell'email"; //Oggetto del messaggio
    				$mail="[email protected]"; //e-mail destinatario
    				$header = "From: ".$mail_utente."\n";
    				$header .= "X-Mailer: Il nostro Php\n";
    
    				// costruiamo le intestazioni specifiche per il formato HTML
    
    				$header .= "MIME-Version: 1.0\n";
    				$header .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
    				$header .= "Content-Transfer-Encoding: 7bit\n\n";
    				$corpo="<br>
      
    				Nome: $nome<br>
    				Cognome: $cognome<br>
    				Comune: $comune<br>
    				Provincia: $prov<br>
    				Indirizzo: $via<br>
    				E-mail: $mail_utente<br>
    				Telefono: $tel<br>
    				Fax: $fax<br>
    				Cellulare: $cell<br>
    				IP: $REMOTE_ADDR<br>
    				<br>";
    
    				if( @mail($mail,$oggetto,$corpo,$header))
    				{echo "<p>Complimenti $nome la tua richiesta &egrave; stata portata a termine con successo.</p><br><p>Torna alla <a href=\"tuapagina.it/\">pagina principale</a>.</p>";}
    				else
    				{echo "<p>Errore! E-mail non inviata!</p><br><p>Torna <a href=\"form.php\">indietro</a>.</p><br><p>Torna alla <a href=\"tuapagina.it/\">pagina principale</a>.</p>";}
    				}
    				}
    
    				else
    
    				{
    				echo "
    
    				<form name=\"form\" action=\"form.php?ctrl=1&codice_creato=$codice\" method=\"post\">
    					<table>
    					<tr>
    						<td><p class=\"pform\">Nome*</p><input type=\"text\" size=\"20\" name=\"nome\" tabindex=\"1\"></td>
    						<td><p class=\"pform\">E-mail*</p><input type=\"text\" size=\"20\" name=\"mail_utente\" tabindex=\"6\"></td>
    					</tr>
    
    					<tr>
    						<td><p class=\"pform\">Cognome*</p><input type=\"text\" size=\"20\" name=\"cognome\" tabindex=\"2\"></td>
    						<td><p class=\"pform\">Tel*</p><input type=\"text\" size=\"20\" name=\"tel\" tabindex=\"7\"></td>
    					</tr>
    
    					<tr>
    						<td><p class=\"pform\">Comune*</p><input type=\"text\" size=\"20\" name=\"comune\" tabindex=\"3\"></td>
    						<td><p class=\"pform\">Fax</p><input type=\"text\" size=\"20\" name=\"fax\" tabindex=\"8\"></td>
    					</tr>
    
    					<tr>
    						<td><p class=\"pform\">Provincia*</p><input type=\"text\" size=\"20\" name=\"prov\" tabindex=\"4\"></td>
    						<td><p class=\"pform\">Cellulare</p><input type=\"text\" size=\"20\" name=\"cell\" tabindex=\"9\"></td>
    					</tr>
    
    					<tr>
    						<td colspan=\"2\"><p class=\"pform\">Indirizzo*</p><input type=\"text\" size=\"20\" name=\"via\" tabindex=\"5\"></td>
    		
    					<tr>
    						<td>&nbsp;</td>
    						<td>&nbsp;</td>
    					</tr>
    
    					<tr>
    						<td><p class=\"pform\">Codice di verifica:</p><p class=\"codver\">$codice</p></td>
    						<td><p class=\"pform\">Immetti il codice</p><input type=\"text\" size=\"5\" name=\"cod\" tabindex=\"10\"></td>
    					</tr>
    
    					<tr>
    						<td>&nbsp;</td>
    						<td>&nbsp;</td>
    					</tr>
    
    					<tr>
    						<td rowspan=\"2\"><input type=\"submit\" value=\"Invia\" name=\"submit\" class=\"button\"></td>
    						<td></td>
    					</tr>
    					</table>
    				</form>";
    				}
    			?>
    

    [/PHP]


  • User Attivo

    Di nulla 😉


  • User

    scwd ho provato il tuo script con le modifiche.

    Adesso la mail che mi giunge conitnua a portare come mittente il mio indirizzo ma almeno adesso compare nel corpo della mail l'indirizzo di chi mi scrive.

    L'ultimo passo verso l'optium non riusciamo a farlo? (intendo di far comparire la mail di chi mi scrive come mittente)


  • User

    Vengo con un nuovo quesito, secondo voi è possibile inserire il campo "rispondi a:" negli header dell'email, ovvero da queste parti:
    [PHP]
    $oggetto="Iscrizione aggiornamenti"; //Oggetto del messaggio
    $mail="[email protected]"; //e-mail destinatario
    $header = "From: ".$mail_utente."\n";
    $header .= "X-Mailer: Il nostro Php\n";

    				// costruiamo le intestazioni specifiche per il formato HTML
    
    				$header .= "MIME-Version: 1.0\n";
    				$header .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
    				$header .= "Content-Transfer-Encoding: 7bit\n\n";
    				$corpo="
    				Nome: $nome<br>
    				Cognome: $cognome<br>
    				Comune: $comune<br>
    				Provincia: $prov<br>
    				Indirizzo: $via<br>
    				E-mail: $mail_utente<br>
    				Telefono: $tel<br>
    				Fax: $fax<br>
    				Cellulare: $cell<br>
    				IP: $REMOTE_ADDR<br>
    				<br>";
    

    [/PHP]
    mi servirebbe questa funzionalità perche io applico un auto responder sull'email a cui ricevo le email. Probabilmente questo autoresponder (che è quello standard nel pannello di controllo di aruba) necessita di un campo del genere.

    Voi che dite?

    Grazie
    Andrea


  • User Attivo

    Prova a fare una prova perchè se te come inviante metti l'e-mail di chi ti invia la mail, dovresti riuscirci anche da così.
    Per SALINGER:
    Fai così:
    [PHP]
    $header = "From: ".$mail_utente."\n";
    [/PHP]
    Come vedi l'inviante è l'utente 😉 Mettilo al posto della tua 😄


  • Bannato User Attivo

    @scwd said:

    Allora vale vediamo un pò, la soluzione è l'ultima postata da me, mentre per quello che vuoi tu chiaramente si può fare spiegami un pò meglio che form hai e tutto e lo controlliamo, mentre per quel problema, è lo stesso che ancora è in sospeso su alcune server funziona, per renderti le cose più facili per il problema dell'anonymous anzichè leggere nel mio script, samyron ha postato una soluzione nel suo penultimo messaggio, dovrebbe andare quella,
    per qualsiasi cosa 😉

    il tutto mi sembra complicato, avete fatto un sacco di test ma io non riesco a starvi dietro :mmm:
    a me andrebbe bene una cosina semplicissima implementata in una normale pagina html, tipo quella che ho, dove il visitatore indica nome cognome indirizzo oggetto e testo, ma bisognerebbe che fosse non spammabile, e possibilmente senza quell'anonymous local host :smile5:


  • User Attivo

    Ciao Vale76,
    allora guarda quella ormai va e abbiamo risolto anche il problema dell'anonymouos. Comunque si può fare anche come dici te, però per mettergli il codice di sicurezza che ho creato io hai bisogno di una pagina .php anzichè .htm ecco allora perchè ho fatto fin da subito tutto su un file.


  • User

    scwd, apportando la modifica da te indicata lo script mi da conferma dell'invio della mail ma nella casella di posta non giunge nulla.


  • User Attivo

    Riposta il codice 😉