Un Evento Unico. 5 Sale. 27 Interventi. SEO, SOCIAL, E-Commerce, Mobile, Turismo.
CLICCA QUI e SCOPRI DI PIù X Chiudi
 
Forum GT: Condividiamo idee e conoscenza Forum GT: Condividiamo idee e conoscenza


Condividi questo contenuto nei Social Network:
Ti stiamo aspettando: Registrati subito e gratis. Entra a far parte di una delle comunità più attive in Italia. Se hai dimenticato i tuoi dati li puoi recuperare subito.


Vai indietro   Forum per Webmaster: Condividiamo Idee e Conoscenza > Sviluppo e Gestione siti web > Php - Mysql
Benvenuto! Forum Regole FAQ Lista utenti Calendario Segna come letti


Rispondi
 
LinkBack Strumenti di discussione
Vecchio 26-01-12, 12:19   #16 (permalink)
User
 
Data di registrazione: Dec 2011
Ubicazione: bologna
Messaggi: 32
Wink

Ok, ci provo

Codice PHP:
<?php
$email
=$_POST['email'];

#######################################
#     IMPOSTAZIONI DA CONFIGURARE     #
#######################################

//(1) indirizzo email del destinatario del modulo
$destinatario "info@dominio.ext";

//(2) indirizzo email del mittente, campo FROM
//    non toccare se desiderate che l'indirizzo email inserito nel modulo sia
//    riportato nel campo DA del messaggio che sarà ricevuto.
//    Se invece desiderate un campo fisso annullare la prima riga e abilitare
//    la seconda inserendo la dicitura desiderata (per annullare mettere //
//    all'inizio della prima riga e per abilitare togliere // dalla seconda riga)
$nome_mittente "$email";
// $nome_mittente = "Dal Modulo";

//(3) oggetto del messaggio;
$object="";
$object=$_POST['object'];
switch (
$object){
   case 
1:
      
$object_mail="Oggetto mail prodotto 1";
      
$link="vvv.nomesito.ext/indirizzoprodotto1";
      break;
   case 
2:
      
$object_mail="Oggetto mail prodotto 2";
      
$link="vvv.nomesito.ext/indirizzoprodotto2";
      break;  
   case 
3:
      
$object_mail="Oggetto mail prodotto 3";
      
$link="vvv.nomesito.ext/indirizzoprodotto3";
      break;

}




$all_free "n";


$campi_req = array("nome","email","citta","prov");


$obbligo_email "y";


$accetta_condizioni "y";

//(8) URL della pagina di ringraziamento
$pagina_grazie "vvv.dominio.ext/contenuti/ty_page.html";

//(9) URL della pagina errore campi vuoti
$pagina_error_empty "vvv.dominio.ext/contenuti/err_page.html";

//(10) URL della pagina errore email
$pagina_error_email "vvv.dominio.ext/contenuti/err_page.html";

//(11) URL della pagina errore condizioni non accettate
$pagina_error_condizioni "vvv.dominio.ext/contenuti/err_page.html";

//(12) URL della pagina errore invio non autorizzato (mancanza di referer)
$pagina_error_referer "vvv.dominio.ext/contenuti/err_page.html";

#######################################
#  FINE IMPOSTAZIONI DA CONFIGURARE   #
#######################################

//ora e data
$ora date ("H:i:s"); 
$data date ("d/m/Y");

//intestazione email che arriva al destinatario
$corpo "
Modulo inviato il $data alle ore $ora
Riepilogo dati:\n\n"
;


########### CODICI ###########

//variabili per rendere lo script compatibile anche con la versione PHP 4.2 e maggiori
if(!isset($_SERVER) OR !$_SERVER OR !is_array($_SERVER) OR count(array_diff($_SERVER$HTTP_SERVER_VARS))){  
$_POST = &$HTTP_POST_VARS
}

//prende IP ADDRESS
if(isset($_SERVER["HTTP_X_FORWARDED_FOR"])){
    
    if (
$_SERVER["HTTP_X_FORWARDED_FOR"] == "") {

$ipnumb getenv("REMOTE_ADDR");

        }else {

$ipnumb getenv("HTTP_X_FORWARDED_FOR");

            }

        } else {

$ipnumb getenv("REMOTE_ADDR");
        }
###################################

//controllo referer
if(empty($_SERVER["HTTP_REFERER"])){

    
header ("Location: $pagina_error_referer");
    exit();
    
    }

########### CONTROLLO DEI CAMPI ###########
$control_campi 0;

if(
$all_free != "y"){

    foreach(
$_POST as $key => $valore){

        if(
in_array($key,$campi_req)){

            if(
trim($valore) == ""){

            
$control_campi++;
            
                                    } 

                                }

                            }

                        } else {

            
$control_campi 0;    

                                }                    

########### CONTROLLO EMAIL ###########
$control_email 0;

if(
$obbligo_email == "y"){

    if(isset(
$_POST['email'])){

        if(!
eregi("^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9_-])+.)+[a-z]{2,6}$"$_POST['email'])){

        
$control_email++;

                            }

                        } else {

        
$control_email 0;

                            }

                        }

########### CONTROLLO CONDIZIONI ###########
$control_condizioni 0;

if(
$accetta_condizioni == "y"){

    if(isset(
$_POST['trattamento_dati']) && $_POST['trattamento_dati'] == "accetto"){

        
$control_condizioni 0;

            } else {

        
$control_condizioni ++;

            }

        }

########### INVIO EMAIL ###########
if($control_campi == 0){

        if(
$control_email == 0){

            if(
$control_condizioni == 0){

foreach(
$_POST as $key => $valore){

$key ucfirst(stripslashes(trim($key)));
$valore stripslashes(trim($valore));
$key str_replace("_"," ",$key);

            if(
trim($valore) == ""$valore "Non compilato";
            
                
$corpo .= $key .": "$valore ."\n\n";

            }
            
                
$corpo .= "Numero IP: $ipnumb"."\n";

$corpo .= "____________________________________________________________ \n\n

"
;

    
// invio e-mail
// Header Mail
$headmail.="From: $nome_mittente <$nome_mittente>\n";
$headmail.="Return-Path: $nome_mittente\n";
$headmail.="User-Agent: Php Mail Function\n";
$headmail.="X-Accept-Language: en-us, en\n";
$headmail.="MIME-Version: 1.0\n";
$headmail.="X-Priority: 1 (Highest)\n";
$headmail.="Content-Type: text/plain; charset=ISO-8859-1; format=flowed\n";
$headmail.="Content-Transfer-Encoding: 7bit\n";

ini_set('sendmail_from'"$destinatario");
mail("$destinatario""$object_mail""$corpo""$headmail");

                
header ("Location: $pagina_grazie");

                                } else {

                
header ("Location: $pagina_error_condizioni");

                            }

                        } else {

                
header ("Location: $pagina_error_email");

                        }

                    } else {

                    
                
header ("Location: $pagina_error_empty");

                    }

?>
questo è tutto il file.

Sam dovrai darmi modo di sdebitarmi, in un modo o nell'altro

rafa

Ultima modifica di Samyorn : 26-01-12 21:02. Motivo: Tolti riferimenti al dominio. ;)
pinokkietto non in linea   Rispondi citando
Vecchio 26-01-12, 21:32   #17 (permalink)
Consiglio Direttivo
 
L'avatar di Samyorn
 
Data di registrazione: Dec 2007
Ubicazione: Catania
Messaggi: 5,847
Invia un messaggio tramite ICQ a Samyorn Invia un messaggio tramite Skype a Samyorn
Allora, vediamo un po'.
Questa è la riga 217 del file, quella che contiene la funzione mail():
Codice PHP:
mail("$destinatario""$object_mail""$corpo""$headmail"); 
I parametri inseriti tra parentesi non sono altro che, in ordine:
  • e-mail del destinatario (in questo caso $destinatario contiene la tua mail)
  • Oggetto della Mail
  • Testo della mail
  • Header della mail
Se tu vuoi mandare una mail anche a chi compila il modulo non devi far altro che copiare, intanto, la riga subito dopo questa, cambiare l'e-mail del destinatario, ovvero quella inserita nel form che in questo file è contenuta nella variabile $email. Fatto questo variare il testo della mail che sicuramente sarà diverso dalla mail che giunge a te.
Per il corpo della mail, anche per avere una maggiore leggibilità del codice, puoi utilizzare il seguente metodo (questa parte va inserita tra le due righe contenenti le funzioni mail() ):
Codice PHP:
$corpo="Salve ".$nome.",\n"// \n serve ad andare a capo
$corpo.="blablablablablablabla.\n"// attenzione al .= serve a aggiungere a seguire il resto del testo
$corpo.="Puoi scaricare l'e-book da <a href=\"".$link."\" title=\"Clicca per scaricare\">questo link</a>.\n"
Altra cosa:
Codice PHP:
$nome_mittente "$email"
Sostituisci $email con il nome che vuoi che appaia nel mittente (sempre tra virgolette) e poi:
Codice PHP:
$headmail.="From: $nome_mittente <$nome_mittente>\n";
$headmail.="Return-Path: $nome_mittente\n"
Trasformalo in:
Codice PHP:
$headmail.="From: ".$destinatario." <".$nome_mittente.">\n";
$headmail.="Return-Path: ".$destinatario."\n"
Vediamo se con queste modifiche che ti ho scritto va.
__________________
Qui, Quo, Qua
Si parla poco di SMF? Sentiamo l'opinione di chi lo ha provato. Ti amo...brindiAMO?
Conosci GTLab? Devi scegliere un CMS per Forum e non sai quale? Guarda quì!!
Samyorn ora è in linea   Rispondi citando
Rispondi


Strumenti di discussione

Regole di scrittura
Non puoi postare nuove discussioni
Non puoi rispondere alle discussioni
Non puoi allegare file
Non puoi editare i tuoi post

BB code is Attivo
smilies è Attivo
[IMG] il codice è Attivo
Il codice HTML è Disattivato
Trackbacks are Attivo
Pingbacks are Attivo
Refbacks are Disattivato
Vai al forum



Tutti gli orari sono GMT +3. Attualmente sono le 15:43.




Forum GT - © 2004-2009 GT idea S.r.l P.iva 02418200800 - Privacy/Disclaimer

SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.