Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    19

    Form email ed allegati, aiuto !

    Salve.
    Ho creato un form che dovrebbe inviare i dati inseriti via email, nel form c'e' anche un campo del file per allegare un file che dovrebbe arrivare in allegato per posta elettronica. Il tutto però non funziona.
    Autatemi per favore, sono disperato.

    Questo e' il codice del form:
    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Carrello</title>
    <script type="text/javascript">
    function openindex( htm )
    {
    window.open(htm,'index','scrollbars=no,menubar=no,left=200,top=200,resizable=yes,width=470,height=500,alwaysraised=yes');
    }
    function validazione(){
    with(document.form) {
    	if(nome.value=="") {
    	alert("Inserire il nome");
    	nome.focus();
    	return false;
    	}
    	if(cognome.value=="") {
    	alert("Inserire il cognome");
    	cognome.focus();
    	return false;
    	}
    	if(sociale.value=="") {
    	alert("Inserire la ragione sociale");
    	sociale.focus();
    	return false;
    	}
    	if(indirizzo.value=="") {
    	alert("Inserire l'indirizzo");
    	indirizzo.focus();
    	return false;
    	}
    	if(cap.value=="") {
    	alert("Inserire il CAP");
    	cap.focus();
    	return false;
    	}
    	if(citta.value=="") {
    	alert("Inserire la città");
    	citta.focus();
    	return false;
    	}
    	if(provincia.value=="") {
    	alert("Inserire la provincia");
    	provincia.focus();
    	return false;
    	}
    	if(iva.value=="") {
    	alert("Inserire la partita iva");
    	iva.focus();
    	return false;
    	}
    	if(telefono.value=="") {
    	alert("Inserire il telefono");
    	telefono.focus();
    	return false;
    	}
    	if(mail.value=="") {
    	alert("Inserire l' e-mail");
    	mail.focus();
    	return false;
    	}
    	var stato=true;
    	if(mail.value.indexOf(" ")!=-1) {
    	mail.focus();
    	stato=false;
    	}
    	var chiocciola=mail.value.indexOf("@");
    	if(chiocciola<2) {
    	mail.focus();
    	stato=false;
    	}
    	var punto=mail.value.indexOf(".", chiocciola);
    	if(punto<chiocciola+3) {
    	mail.focus();
    	stato=false;
    	}
    	var lung=mail.value.length;
    	if(lung-punto<3) {
    	mail.focus();
    	stato=false;
    	}
    	if(stato==false) {
    		alert("E-mail non valida");
    	return stato;
    	}
    }
    alert("Il modulo è completo, grazie");
    return true;
    }
    function sel(id) {
     	 if (!document.getElementById) return;
      		selDiv = document.getElementById(id);
      		selDiv.style.backgroundColor = "#ffc";
    }
    function des(id) {
     	 if (!document.getElementById) return;
      		selDiv = document.getElementById(id);
      		selDiv.style.backgroundColor = "#E5E5E5";
    }		
    </script>
    <link href="carrello.css" rel="stylesheet" type="text/css" />
    </head>
    
    <body>
    
    <div id="intestazione">[img]immagini/cooltext3541725.jpg[/img]</div>
    <div id="corpo">
        
      <div id="modulo">
      <form action="invia.php" method="post" name="form" onsubmit="return validazione();">
      <input type="hidden" name="destinatario" value="gingy78@gmail.com">
    <fieldset id="informazioni">
        <legend>Informazioni generali</legend> 
        
    
    <label for="nome">Nome:</label> <input type="text" name="nome" id="nome" onfocus="sel('nome')" onblur="des('nome')" title="Inserisci il nome" value="" /></p>
    
        
    
    <label for="cognome">Cognome:</label> <input type="text" name="cognome" id="cognome" onfocus="sel('cognome')" onblur="des('cognome')" title="Inserisci il cognome" value="" /></p>
    	
    	
    
    <label for="sociale">Ragione Sociale:</label><input type="text" name="sociale" id="sociale" onfocus="sel('sociale')" onblur="des('sociale')" title="Inserisci la ragione sociale" value="" /></p>
    	
    	
    
    <label for="indirizzo">Indirizzo:</label><input type="text" name="indirizzo" id="indirizzo" onfocus="sel('indirizzo')" onblur="des('indirizzo')" title="Inserisci l'indirizzo" value="" /></p>
    	
    	
    
    <label for="cap">CAP:</label><input type="text" name="cap" id="cap" onfocus="sel('cap')" onblur="des('cap')" title="Inserisci il CAP" value="" /></p>
    	
    	
    
    <label for="citta">Città:</label><input type="text" name="citta" id="citta" onfocus="sel('citta')" onblur="des('citta')" title="Inserisci la città" value="" /></p>
    	
    	
    
    <label for="provincia">Provincia:</label><input type="text" name="provincia" id="provincia" onfocus="sel('provincia')" onblur="des('provincia')" title="Inserisci la provincia" value="" /></p>
    	
    	
    
    <label for="iva">Partita IVA:</label><input type="text" name="iva" id="iva" onfocus="sel('iva')" onblur="des('iva')" title="Inserisci la partita IVA" value="" /></p>
    	
    	
    
    <label for="telefono">Telefono:</label><input type="text" name="telefono" id="telefono" onfocus="sel('telefono')" onblur="des('telefono')" title="Inserisci il numero di telefono" value="" /></p>
    	
    	
    
    <label for="mail">Email:</label><input type="text" name="mail" id="mail" onfocus="sel('mail')" onblur="des('mail')" title="Inserisci un'email valida" value="" /></p>
    	
    </fieldset>
    
    <fieldset id="informazioni2">
        <legend>Compila il modulo d'ordine</legend>
        
    
    <label for="allegato">Lettere da stampare:</label><input type="file" name="allegato" id="allegato" onfocus="sel('allegato')" onblur="des('allegato')" title="Inserisci gli allegati con le lettere da stampare" value="" /></p>	
    	
    
    <label for="allegato2">Elenco destinatari:</label><input type="file" name="allegato2" id="allegato2" onfocus="sel('allegato2')" onblur="des('allegato2')" title="Inserisci l'allegato con i destinatari" value="" /></p>
    	
    
    <label for="campotesto">Note per la stampa:</label><textarea name="campotesto" rows="5" cols="" id="campotesto" class="texta" onfocus="sel('campotesto')" onblur="des('campotesto')"></textarea></p>
    </fieldset>	
    
    <fieldset id="informazioni3">
        <legend>Persona che effettua l'ordine</legend>
        
    
    <label for="nome2">Nome:</label> <input type="text" name="nome2" id="nome2" onfocus="sel('nome2')" onblur="des('nome2')" title="Inserisci il nome della persona che effettua l'ordine" value="" /></p>
    
        
    
    <label for="cognome2">Cognome:</label> <input type="text" name="cognome2" id="cognome2" onfocus="sel('cognome2')" onblur="des('cognome2')" title="Inserisci il cognome della persona che effettua l'ordine" value="" /></p>	
    </fieldset>
    		<fieldset id="conferma">
            <legend>Conferma e invio dei dati</legend>
            
            <input type="submit" name="submit" id="invia" value="Conferma" />
            </fieldset>
    
    </form>
    
    </div> 
    </div> 
    <div id="pie_di_pagina">
    
    Powered by Infoposte</p></div>
    </body>
    </html>
    Questo e' il codice php di invio:
    codice:
    <?php
    // Recupero il valore dei campi del form
    
    $destinatario = $_POST['destinatario'];
    $nome = $_POST['nome'];
    $cognome = $_POST['cognome'];
    $sociale = $_POST['sociale'];
    $indirizzo = $_POST['indirizzo'];
    $cap = $_POST['cap'];
    $citta = $_POST['citta'];
    $provincia = $_POST['provincia'];
    $iva = $_POST['iva'];
    $telefono = $_POST['telefono'];
    $mail = $_POST['mail'];
    $campotesto = $_POST['campotesto'];
    
    
    // Valorizzo le variabili relative all'allegato
    $allegato = $_FILES['allegato']['tmp_name'];
    $allegato_type = $_FILES['allegato']['type'];
    $allegato_name = $_FILES['allegato']['name'];
    
    // Creo 2 variabili che riempirò più avanti...
    $headers = "From: " . $mail;
    $msg = "";
    
    // Verifico se il file è stato caricato correttamente via HTTP
    // In caso affermativo proseguo nel lavoro...
    if (is_uploaded_file($allegato))
    {
      // Apro e leggo il file allegato
      $file = fopen($allegato,'rb');
      $data = fread($file, filesize($allegato));
      fclose($file);
    
      // Adatto il file al formato MIME base64 usando base64_encode
      $data = chunk_split(base64_encode($data));
    
      // Genero il "separatore"
      // Serve per dividere, appunto, le varie parti del messaggio.
      // Nel nostro caso separerà la parte testuale dall'allegato
      $semi_rand = md5(time());
      $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
      
      // Aggiungo le intestazioni necessarie per l'allegato
      $headers .= "\nMIME-Version: 1.0\n";
      $headers .= "Content-Type: multipart/mixed;\n";
      $headers .= " boundary=\"{$mime_boundary}\"";
    
      // Definisco il tipo di messaggio (MIME/multi-part)
      $msg .= "This is a multi-part message in MIME format.\n\n";
    
      // Metto il separatore
      $msg .= "--{$mime_boundary}\n";
    
      // Questa è la parte "testuale" del messaggio
      $msg .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
      $msg .= "Content-Transfer-Encoding: 7bit\n\n";
      $msg .= $campotesto . "\n\n";
    
      // Metto il separatore
      $msg .= "--{$mime_boundary}\n";
    
      // Aggiungo l'allegato al messaggio
      $msg .= "Content-Disposition: attachment;\n";
      $msg .= " filename=\"{$allegato_name}\"\n";
      $msg .= "Content-Transfer-Encoding: base64\n\n";
      $msg .= $data . "\n\n";
    
      // chiudo con il separatore
      $msg .= "--{$mime_boundary}--\n";
    }
    else
    {
      $msg = $campotesto;
    }
    
    // Invio la mail
    if (mail($destinatario, $nome, $cognome, $sociale, $indirizzo, $cap, $citta, $provincia, $iva, $telefono, $mail, $campotesto, $headers))
    {
      echo "
    
    Mail inviata con successo!</p>";
    }else{
      echo "
    
    Errore!</p>";
    }
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Documento senza titolo</title>
    </head>
    
    <body>
    </body>
    </html>

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    19
    Nessuno che sa aiutarmi ?
    Per favore.
    Ho provato a modificare il file php con questo codice, ma quessto maledetto allegato non ne vuole sapere di arrivare
    codice:
    <?php
    if(!isset($_POST)) $_POST = $HTTP_POST_VARS;
    
    $nome = trim(stripslashes($_POST["nome"]));
    $cognome = trim(stripslashes($_POST["cognome"]));
    $sociale = trim(stripslashes($_POST["sociale"]));
    $indirizzo = trim(stripslashes($_POST["indirizzo"]));
    $cap = trim(stripslashes($_POST["cap"]));
    $citta = trim(stripslashes($_POST["citta"]));
    $provincia = trim(stripslashes($_POST["provincia"]));
    $iva = trim(stripslashes($_POST["iva"]));
    $telefono = trim(stripslashes($_POST["telefono"]));
    $mail = trim(stripslashes($_POST["mail"]));
    $campotesto = trim(stripslashes($_POST["campotesto"]));
    
    // Valorizzo le variabili relative all'allegato
    $allegato = $_FILES['allegato']['tmp_name'];
    $allegato_type = $_FILES['allegato']['type'];
    $allegato_name = $_FILES['allegato']['name'];
    
    // Verifico se il file è stato caricato correttamente via HTTP
    // In caso affermativo proseguo nel lavoro...
    if (is_uploaded_file($allegato))
    {
      // Apro e leggo il file allegato
      $file = fopen($allegato,'rb');
      $data = fread($file, filesize($allegato));
      fclose($file);
    
      // Adatto il file al formato MIME base64 usando base64_encode
      $data = chunk_split(base64_encode($data));
    
      // Genero il "separatore"
      // Serve per dividere, appunto, le varie parti del messaggio.
      // Nel nostro caso separerà la parte testuale dall'allegato
      $semi_rand = md5(time());
      $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
      
      // Aggiungo le intestazioni necessarie per l'allegato
      $headers .= "\nMIME-Version: 1.0\n";
      $headers .= "Content-Type: multipart/mixed;\n";
      $headers .= " boundary=\"{$mime_boundary}\"";
    
      // Definisco il tipo di messaggio (MIME/multi-part)
      $msg .= "This is a multi-part message in MIME format.\n\n";
    
      // Metto il separatore
      $msg .= "--{$mime_boundary}\n";
    
      // Questa è la parte "testuale" del messaggio
      $msg .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
      $msg .= "Content-Transfer-Encoding: 7bit\n\n";
      /*$msg .= $messaggio . "\n\n";*/
    
      // Metto il separatore
      $msg .= "--{$mime_boundary}\n";
    
      // Aggiungo l'allegato al messaggio
      $msg .= "Content-Disposition: attachment;\n";
      $msg .= " filename=\"{$allegato_nome}\"\n";
      $msg .= "Content-Transfer-Encoding: base64\n\n";
      $msg .= $data . "\n\n";
    
      // chiudo con il separatore
      $msg .= "--{$mime_boundary}--\n";
    }
    else
    {
      $msg = $messaggio;
    }
    $subject = "Dati raccolti dal form";
    
    $mail_body .= "Nome: $nome\n";
    $mail_body .= "Cognome: $cognome\n";
    $mail_body .= "Ragione Sociale: $sociale\n";
    $mail_body .= "Indirizzo: $indirizzo\n";
    $mail_body .= "CAP: $cap\n";
    $mail_body .= "Città: $citta\n";
    $mail_body .= "Provincia: $provincia\n";
    $mail_body .= "Partita IVA: $iva\n";
    $mail_body .= "Telefono: $telefono\n";
    $mail_body .= "Email: $mail\n";
    $mail_body .= "Note per la stampa: $campotesto\n";
    $mail_body .= "Nome persona che effettua l'ordine: $nome2\n";
    $mail_body .= "Cognome persona che effettua l'ordine: $cognome2\n";
    
    if(@mail("gingy78@gmail.com",$subject,$mail_body))
    {
    echo "L'ordine è stato inviato correttamente";
    }
    else
    {
    echo "Impossible inviare l'ordine";
    }
    ?>

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    19
    Sono riuscito ad inviare il messaggio con questo codice:
    codice:
    <?php
    $nome = $_POST['nome'];
    $cognome = $_POST['cognome'];
    $sociale = $_POST['sociale'];
    $indirizzo = $_POST['indirizzo'];
    $cap = $_POST['cap'];
    $citta = $_POST['citta'];
    $provincia = $_POST['provincia'];
    $iva = $_POST['iva'];
    $telefono = $_POST['telefono'];
    $mail = $_POST['mail'];
    $campotesto = $_POST['campotesto'];
    
    $subject = "Dati raccolti dal form";
    
    $mail_body .= "Nome: $nome\n";
    $mail_body .= "Cognome: $cognome\n";
    $mail_body .= "Ragione Sociale: $sociale\n";
    $mail_body .= "Indirizzo: $indirizzo\n";
    $mail_body .= "CAP: $cap\n";
    $mail_body .= "Città: $citta\n";
    $mail_body .= "Provincia: $provincia\n";
    $mail_body .= "Partita IVA: $iva\n";
    $mail_body .= "Telefono: $telefono\n";
    $mail_body .= "Email: $mail\n";
    $mail_body .= "Note per la stampa: $campotesto\n";
    $mail_body .= "Nome persona che effettua l'ordine: $nome2\n";
    $mail_body .= "Cognome persona che effettua l'ordine: $cognome2\n";
    
    // Valorizzo le variabili relative all'allegato
    $allegato = $_FILES['allegato']['tmp_name'];
    $allegato_type = $_FILES['allegato']['type'];
    $allegato_name = $_FILES['allegato']['name'];
    
    // Creo 2 variabili che riempirò più avanti...
    $headers = "From: ";
    $msg = "";
    
    // Verifico se il file è stato caricato correttamente via HTTP
    // In caso affermativo proseguo nel lavoro...
    if (is_uploaded_file($allegato))
    {
      // Apro e leggo il file allegato
      $file = fopen($allegato,'rb');
      $data = fread($file, filesize($allegato));
      fclose($file);
    
      // Adatto il file al formato MIME base64 usando base64_encode
      $data = chunk_split(base64_encode($data));
    
      // Genero il "separatore"
      // Serve per dividere, appunto, le varie parti del messaggio.
      // Nel nostro caso separerà la parte testuale dall'allegato
      $semi_rand = md5(time());
      $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
      
      // Aggiungo le intestazioni necessarie per l'allegato
      $headers .= "\nMIME-Version: 1.0\n";
      $headers .= "Content-Type: multipart/mixed;\n";
      $headers .= " boundary=\"{$mime_boundary}\"";
    
      // Definisco il tipo di messaggio (MIME/multi-part)
      $msg .= "This is a multi-part message in MIME format.\n\n";
    
      // Metto il separatore
      $msg .= "--{$mime_boundary}\n";
    
      // Questa è la parte "testuale" del messaggio
      $msg .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
      $msg .= "Content-Transfer-Encoding: 7bit\n\n";
      $msg .= $mail_body . "\n\n";
    
      // Metto il separatore
      $msg .= "--{$mime_boundary}\n";
    
      // Aggiungo l'allegato al messaggio
      $msg .= "Content-Disposition: attachment;\n";
      $msg .= " filename=\"{$allegato_name}\"\n";
      $msg .= "Content-Transfer-Encoding: base64\n\n";
      $msg .= $data . "\n\n";
    
      // chiudo con il separatore
      $msg .= "--{$mime_boundary}--\n";
    }
    else
    {
      $msg = $mail_body;
    }
    if(mail($destinatario,$subject,$msg,$headers))
    {
    echo "L'ordine è stato inviato correttamente";
    }
    else
    {
    echo "Impossible inviare l'ordine";
    }
    ?>
    Ora all'email dovrei allegare un secondo allegato (chiamato allegato2).
    C'e' qualcuno che puo' aiutarmi a modificare questo codice per far arrivare 2 allegati al messaggio email ?
    Grazie a chi mi aiutera'.

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    19
    Ho modificato lo script in questo modo:
    codice:
    <?php
    
    $nome = $_POST['nome'];
    $cognome = $_POST['cognome'];
    $sociale = $_POST['sociale'];
    $indirizzo = $_POST['indirizzo'];
    $cap = $_POST['cap'];
    $citta = $_POST['citta'];
    $provincia = $_POST['provincia'];
    $iva = $_POST['iva'];
    $telefono = $_POST['telefono'];
    $mail = $_POST['mail'];
    $campotesto = $_POST['campotesto'];
    
    $subject = "Dati raccolti dal form";
    
    $mail_body .= "Nome: $nome\n";
    $mail_body .= "Cognome: $cognome\n";
    $mail_body .= "Ragione Sociale: $sociale\n";
    $mail_body .= "Indirizzo: $indirizzo\n";
    $mail_body .= "CAP: $cap\n";
    $mail_body .= "Città: $citta\n";
    $mail_body .= "Provincia: $provincia\n";
    $mail_body .= "Partita IVA: $iva\n";
    $mail_body .= "Telefono: $telefono\n";
    $mail_body .= "Email: $mail\n";
    $mail_body .= "Note per la stampa: $campotesto\n";
    $mail_body .= "Nome persona che effettua l'ordine: $nome2\n";
    $mail_body .= "Cognome persona che effettua l'ordine: $cognome2\n";
    
    // Valorizzo le variabili relative all'allegato
    $allegato = $_FILES['allegato']['tmp_name'];
    $allegato_type = $_FILES['allegato']['type'];
    $allegato_name = $_FILES['allegato']['name'];
    $allegato2 = $_FILES['allegato2']['tmp_name'];
    $allegato2_type = $_FILES['allegato2']['type'];
    $allegato2_name = $_FILES['allegato2']['name'];
    
      // Apro e leggo il file allegato
      $file = fopen($allegato,$allegato2,'rb');
      $data = fread($file, filesize($allegato,$allegato2));
      fclose($file);
    
      // Adatto il file al formato MIME base64 usando base64_encode
      $data = chunk_split(base64_encode($data));
    
      // Genero il "separatore"
      // Serve per dividere, appunto, le varie parti del messaggio.
      // Nel nostro caso separerà la parte testuale dall'allegato
      /*$semi_rand = md5(time());
      $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";*/
      $mime_boundary = "<<<:" . md5(uniqid(mt_rand(), 1)); 
      
      // Aggiungo le intestazioni necessarie per l'allegato
      $headers .= "\rnMIME-Version: 1.0\n";
      $headers .= "Content-Type: multipart/mixed;\n";
      $headers .= " boundary=\"{$mime_boundary}\"";
    
      // Definisco il tipo di messaggio (MIME/multi-part)
      $msg .= "This is a multi-part message in MIME format.\n\n";
    
      // Metto il separatore
      $msg .= "--{$mime_boundary}\n";
      
      // Aggiungo le intestazioni necessarie per l'allegato
      $headers .= "\rnMIME-Version: 1.0\n";
      $headers .= "Content-Type: multipart/mixed;\n";
      $headers .= " boundary=\"{$mime_boundary}\"";
    
      // Definisco il tipo di messaggio (MIME/multi-part)
      $msg .= "This is a multi-part message in MIME format.\n\n";
    
      // Metto il separatore
      $msg .= "--{$mime_boundary}\n";
    
      // Questa è la parte "testuale" del messaggio
      $msg .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
      $msg .= "Content-Transfer-Encoding: 7bit\n\n";
      $msg .= $mail_body . "\n\n";
    
      // Metto il separatore
      $msg .= "--{$mime_boundary}\n";
    
      // Aggiungo l'allegato al messaggio
      $msg .= "Content-Disposition: attachment;\n";
      $msg .= " filename=\"{$allegato_name}\"\n";
      $msg .= "Content-Transfer-Encoding: base64\n\n";
      $msg .= $data . "\n\n";
      
      // Metto il separatore
      $msg .= "--{$mime_boundary}\n";
    
      // Aggiungo l'allegato al messaggio
      $msg .= "Content-Disposition: attachment;\n";
      $msg .= " filename=\"{$allegato2_name}\"\n";
      $msg .= "Content-Transfer-Encoding: base64\n\n";
      $msg .= $data . "\n\n";
    
      // chiudo con il separatore
      $msg .= "--{$mime_boundary}--\n";
    
    if(mail($destinatario,$subject,$msg,$headers))
    {
    echo "L'ordine è stato inviato correttamente";
    }
    else
    {
    echo "Impossible inviare l'ordine";
    }
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Documento senza titolo</title>
    </head>
    
    <body>
    </body>
    </html>
    solo che i due allegati al messaggio sono vuoti, sono tutti e due di 0kb.
    Possibile che non ci sia nessuno che abbia affrontato e risolto questo problema ?
    Sono 4 giorni che ci sto dietro.
    Per favore datemi una mano.

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    19
    Ho rimodificato lo script di invio email usando la classe phpmailer e trasferendo l'allegato su una directory temporanea del server di aruba. Ora non so come dire allo script che deve prendere l'allegato e lo deve invare per email.
    Questo e' il codice:
    codice:
    <?php
    
    $nome = $_POST['nome'];
    $cognome = $_POST['cognome'];
    $sociale = $_POST['sociale'];
    $indirizzo = $_POST['indirizzo'];
    $cap = $_POST['cap'];
    $citta = $_POST['citta'];
    $provincia = $_POST['provincia'];
    $iva = $_POST['iva'];
    $telefono = $_POST['telefono'];
    $mail = $_POST['mail'];
    $campotesto = $_POST['campotesto'];
    $nome2 = $_POST['nome2'];
    $cognome2 =$_POST['cognome2'];
    
    $subject = "Dati raccolti dal form";
    
    $mail_body .= "Nome: $nome\n";
    $mail_body .= "Cognome: $cognome\n";
    $mail_body .= "Ragione Sociale: $sociale\n";
    $mail_body .= "Indirizzo: $indirizzo\n";
    $mail_body .= "CAP: $cap\n";
    $mail_body .= "Città: $citta\n";
    $mail_body .= "Provincia: $provincia\n";
    $mail_body .= "Partita IVA: $iva\n";
    $mail_body .= "Telefono: $telefono\n";
    $mail_body .= "Email: $mail\n";
    $mail_body .= "Note per la stampa: $campotesto\n";
    $mail_body .= "Nome persona che effettua l'ordine: $nome2\n";
    $mail_body .= "Cognome persona che effettua l'ordine: $cognome2\n";
    
    require_once( "class.phpmailer.php" );
    
    $mail = new PHPMailer();
    
    $mail->From = "infoposte@infoposte.com"; // from mail
    $mail->FromName = "webmaster"; // from name
    
    // con AddAddress aggiungi tutti gli indirizzi a cui lo vuoi inviare
    $mail->AddAddress("gingy78@gmail.com", "Gingy");
    $mail->Subject = $subject;
    $mail->Body = $mail_body; // qui metti il tuo testo
    
    // CARICO L'ALLEGATO SUL SERVER
    $path="d:/inetpub/webs/infopostecom/public";
    	if( $allegato != none )
    	{
    		print("Percorso locale: $allegato 
    \n");
    		print("Nome del file: $allegato_name 
    \n");
    		print("Dimensione del file: $allegato_size 
    \n");
    		print("Tipo di file: $allegato_type 
    \n");
    		print("<HR>");
    		if (copy( $allegato , "$path/$allegato_name" )){
    			print "$allegato copiato con successo in $path/$allegato_name
    ";
    		}else{
    			print "Errore.. upload non riuscito
    ";
    		}
    		unlink($allegato);
    	}else{
    		print "Errore.. nessun file.
    ";
    	}
    
    
    // AGGIUNGIAMO L'ALLEGATO:
    $mail->AddAttachment($path);
     
    if(!$mail->Send())
    {
       echo "Impossible inviare l'ordine";
       echo "Mailer Error: " . $mail->ErrorInfo;
       exit;
    }
    
    echo "L'ordine è stato inviato correttamente";
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Documento senza titolo</title>
    </head>
    
    <body>
    </body>
    </html>
    Per favore, chiedo 2 minuti del vostro prezioso tempo, per trovare l'errore.
    Ho letto tutti i post del forum e tutte le persone che sono arrivate a questo punto non hanno ricevuto risposta.
    Devo dedurre che cio' che chiedo il PHP non lo puo' fare, altrimenti e' inutile che impazzisco.
    Sono 2 settimane che ci lavoro su.
    Grazie.

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    19
    Dimenticavo, il nuovo codice xhtml e' questo:
    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Carrello</title>
    <script type="text/javascript">
    function openindex( htm )
    {
    window.open(htm,'index','scrollbars=no,menubar=no,left=200,top=200,resizable=yes,width=470,height=500,alwaysraised=yes');
    }
    function validazione(){
    with(document.form) {
    	if(nome.value=="") {
    	alert("Inserire il nome");
    	nome.focus();
    	return false;
    	}
    	if(cognome.value=="") {
    	alert("Inserire il cognome");
    	cognome.focus();
    	return false;
    	}
    	if(sociale.value=="") {
    	alert("Inserire la ragione sociale");
    	sociale.focus();
    	return false;
    	}
    	if(indirizzo.value=="") {
    	alert("Inserire l'indirizzo");
    	indirizzo.focus();
    	return false;
    	}
    	if(cap.value=="") {
    	alert("Inserire il CAP");
    	cap.focus();
    	return false;
    	}
    	if(citta.value=="") {
    	alert("Inserire la città");
    	citta.focus();
    	return false;
    	}
    	if(provincia.value=="") {
    	alert("Inserire la provincia");
    	provincia.focus();
    	return false;
    	}
    	if(iva.value=="") {
    	alert("Inserire la partita iva");
    	iva.focus();
    	return false;
    	}
    	if(telefono.value=="") {
    	alert("Inserire il telefono");
    	telefono.focus();
    	return false;
    	}
    	if(mail.value=="") {
    	alert("Inserire l' e-mail");
    	mail.focus();
    	return false;
    	}
    	var stato=true;
    	if(mail.value.indexOf(" ")!=-1) {
    	mail.focus();
    	stato=false;
    	}
    	var chiocciola=mail.value.indexOf("@");
    	if(chiocciola<2) {
    	mail.focus();
    	stato=false;
    	}
    	var punto=mail.value.indexOf(".", chiocciola);
    	if(punto<chiocciola+3) {
    	mail.focus();
    	stato=false;
    	}
    	var lung=mail.value.length;
    	if(lung-punto<3) {
    	mail.focus();
    	stato=false;
    	}
    	if(stato==false) {
    		alert("E-mail non valida");
    	return stato;
    	}
    }
    alert("Il modulo è completo, grazie");
    return true;
    }
    function sel(id) {
     	 if (!document.getElementById) return;
      		selDiv = document.getElementById(id);
      		selDiv.style.backgroundColor = "#ffc";
    }
    function des(id) {
     	 if (!document.getElementById) return;
      		selDiv = document.getElementById(id);
      		selDiv.style.backgroundColor = "#E5E5E5";
    }		
    </script>
    <link href="carrello.css" rel="stylesheet" type="text/css" />
    </head>
    
    <body>
    
    <div id="intestazione">[img]immagini/cooltext3541725.jpg[/img]</div>
    <div id="corpo">
        
      <div id="modulo">
      <form action="invia.php" method="post" name="form" enctype="multipart/form-data" onsubmit="return validazione();">
      <input type="hidden" name="max_file_size" value="1024000" /> 
    <fieldset id="informazioni">
        <legend>Informazioni generali</legend> 
        
    
    <label for="nome">Nome:</label> <input type="text" name="nome" id="nome" onfocus="sel('nome')" onblur="des('nome')" title="Inserisci il nome" value="" /></p>
    
        
    
    <label for="cognome">Cognome:</label> <input type="text" name="cognome" id="cognome" onfocus="sel('cognome')" onblur="des('cognome')" title="Inserisci il cognome" value="" /></p>
    	
    	
    
    <label for="sociale">Ragione Sociale:</label><input type="text" name="sociale" id="sociale" onfocus="sel('sociale')" onblur="des('sociale')" title="Inserisci la ragione sociale" value="" /></p>
    	
    	
    
    <label for="indirizzo">Indirizzo:</label><input type="text" name="indirizzo" id="indirizzo" onfocus="sel('indirizzo')" onblur="des('indirizzo')" title="Inserisci l'indirizzo" value="" /></p>
    	
    	
    
    <label for="cap">CAP:</label><input type="text" name="cap" id="cap" onfocus="sel('cap')" onblur="des('cap')" title="Inserisci il CAP" value="" /></p>
    	
    	
    
    <label for="citta">Città:</label><input type="text" name="citta" id="citta" onfocus="sel('citta')" onblur="des('citta')" title="Inserisci la città" value="" /></p>
    	
    	
    
    <label for="provincia">Provincia:</label><input type="text" name="provincia" id="provincia" onfocus="sel('provincia')" onblur="des('provincia')" title="Inserisci la provincia" value="" /></p>
    	
    	
    
    <label for="iva">Partita IVA:</label><input type="text" name="iva" id="iva" onfocus="sel('iva')" onblur="des('iva')" title="Inserisci la partita IVA" value="" /></p>
    	
    	
    
    <label for="telefono">Telefono:</label><input type="text" name="telefono" id="telefono" onfocus="sel('telefono')" onblur="des('telefono')" title="Inserisci il numero di telefono" value="" /></p>
    	
    	
    
    <label for="mail">Email:</label><input type="text" name="mail" id="mail" onfocus="sel('mail')" onblur="des('mail')" title="Inserisci un'email valida" value="" /></p>
    	
    </fieldset>
    
    <fieldset id="informazioni2">
        <legend>Compila il modulo d'ordine</legend>
        
    
    <label for="allegato">Lettere da stampare:</label><input type="file" name="allegato" onfocus="sel('allegato')" onblur="des('allegato')" title="Inserisci gli allegati con le lettere da stampare" value="" /></p>	
    	
    
    <label for="allegato2">Elenco destinatari:</label><input type="file" name="allegato2" id="allegato2" onfocus="sel('allegato2')" onblur="des('allegato2')" title="Inserisci l'allegato con i destinatari" value="" /></p>
    	
    
    <label for="campotesto">Note per la stampa:</label><textarea name="campotesto" rows="5" cols="" id="campotesto" class="texta" onfocus="sel('campotesto')" onblur="des('campotesto')"></textarea></p>
    </fieldset>	
    
    <fieldset id="informazioni3">
        <legend>Persona che effettua l'ordine</legend>
        
    
    <label for="nome2">Nome:</label> <input type="text" name="nome2" id="nome2" onfocus="sel('nome2')" onblur="des('nome2')" title="Inserisci il nome della persona che effettua l'ordine" value="" /></p>
    
        
    
    <label for="cognome2">Cognome:</label> <input type="text" name="cognome2" id="cognome2" onfocus="sel('cognome2')" onblur="des('cognome2')" title="Inserisci il cognome della persona che effettua l'ordine" value="" /></p>	
    </fieldset>
    		<fieldset id="conferma">
            <legend>Conferma e invio dei dati</legend>
            
            <input type="submit" name="submit" id="invia" value="Conferma" />
            </fieldset>
    
    </form>
    
    </div> 
    </div> 
    <div id="pie_di_pagina">
    
    Powered by Infoposte</p></div>
    </body>
    </html>
    ignorate i post precedenti.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.