aiuto form allegato.con funzione mail

eleinad85

Nuovo Utente
2 Ago 2010
17
0
0
ciao a tutti...allora ho fatto un form in html e dentro ho messo un campo file per far allegare alle persone online un proprio documento....all'interno dello script in php ho inserito il codice per farmi arrivare l'allegato per mail....ma non riesco a ricevere piu di un allegato,se ripeto lo stesso codice cambiando solo la variabile documento e inserendo documento2,me ne arriva solo uno avete capito? questo è lo script


PHP:
<?php

//
$receiverMail = '[email protected]';

//
$subject = 'CHECK LIST';

//
$struttura = trim(stripslashes($_POST['struttura']));
$indirizzo = trim(stripslashes($_POST['indirizzo']));
$citta = trim(stripslashes($_POST['citta']));
$cap = trim(stripslashes($_POST['cap']));
$piva = trim(stripslashes($_POST['piva']));
$auditor = trim(stripslashes($_POST['auditor']));
$checklist = trim(stripslashes($_POST['checklist']));









$d1_3= trim(stripslashes($_POST['d1_3']));
$d1_2= trim(stripslashes($_POST['d1_2']));
$d1_1= trim(stripslashes($_POST['d1_1']));
$d1_0= trim(stripslashes($_POST['d1_0']));
$d1_na= trim(stripslashes($_POST['d1_na']));

$d2_3= trim(stripslashes($_POST['d2_3']));
$d2_2= trim(stripslashes($_POST['d2_2']));
$d2_1= trim(stripslashes($_POST['d2_1']));
$d2_0= trim(stripslashes($_POST['d2_0']));
$d2_na= trim(stripslashes($_POST['d2_na']));

$d3_3= trim(stripslashes($_POST['d3_3']));
$d3_2= trim(stripslashes($_POST['d3_2']));
$d3_1= trim(stripslashes($_POST['d3_1']));
$d3_0= trim(stripslashes($_POST['d3_0']));
$d3_na= trim(stripslashes($_POST['d3_na']));

$d4_3= trim(stripslashes($_POST['d4_3']));
$d4_2= trim(stripslashes($_POST['d4_2']));
$d4_1= trim(stripslashes($_POST['d4_1']));
$d4_0= trim(stripslashes($_POST['d4_0']));
$d4_na= trim(stripslashes($_POST['d4_na']));

$d5_3= trim(stripslashes($_POST['d5_3']));
$d5_2= trim(stripslashes($_POST['d5_2']));
$d5_1= trim(stripslashes($_POST['d5_1']));
$d5_0= trim(stripslashes($_POST['d5_0']));
$d5_na=trim(stripslashes($_POST['d5_na']));

$d6_3= trim(stripslashes($_POST['d6_3']));
$d6_2= trim(stripslashes($_POST['d6_2']));
$d6_1= trim(stripslashes($_POST['d6_1']));
$d6_0= trim(stripslashes($_POST['d6_0']));
$d6_na=trim(stripslashes($_POST['d6_na']));

$d7_3= trim(stripslashes($_POST['d7_3']));
$d7_2= trim(stripslashes($_POST['d7_2']));
$d7_1= trim(stripslashes($_POST['d7_1']));
$d7_0= trim(stripslashes($_POST['d7_0']));
$d7_na= trim(stripslashes($_POST['d7_na']));

$d8_3= trim(stripslashes($_POST['d8_3']));
$d8_2= trim(stripslashes($_POST['d8_2']));
$d8_1= trim(stripslashes($_POST['d8_1']));
$d8_0= trim(stripslashes($_POST['d8_0']));
$d8_na= trim(stripslashes($_POST['d8_na']));





$email = $_POST['mail'];

//
$stringa1 = "ATTENZIONE Tutti i campi sono obbligatori!";

//
$stringa2 = "l'indirizzo mail non è valido";

//
$stringa3 = "la checklist è stata inviata.grazie!";



// formato del messaggio
$msgformat = "Il signor ha compilato la cecklist:\n\nnome checklist: $checklist\nstruttura: $struttura \nindirizzo: $indirizzo \ncitta':$citta \nmail: $email\ncap: $cap\npartita iva: $piva\nrisposte $d1_3 $d1_2 $d1_1 $d1_0 $d1_na \n$d2_3 $d2_2 $d2_1 $d2_0 $d2_na \n$d3_3 $d3_2 $d3_1 $d3_0 $d3_na \n$d4_3 $d4_2 $d4_1 $d4_0 $d4_na\n$d5_3 $d5_2 $d5_1 $d5_0 $d5_na\n$d6_3 $d6_2 $d6_1 $d6_0 $d6_na\n$d7_3 $d7_2 $d7_1 $d7_0 $d7_na\n$d8_3 $d8_2 $d8_1 $d8_0 $d8_na\


////note
$i=1;
while($i<=110)
{
if($_POST["note".$i]!='')
$msgformat.="Note".$i.":".$_POST["note".$i]."";
$i++;
}


////documento allegato
$allegato = $_FILES['documento']['tmp_name'];
$allegato_type = $_FILES['documento']['type'];
$allegato_name = $_FILES['documento']['name'];

$headers = "From: ".$email;
$msgformat_final = "";

// Verifico se il file è stato caricato correttamente via HTTP
// In caso affermativo proseguo nel lavoro...
if(is_uploaded_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}\"";

// Metto il separatore
$msgformat_final .= "--{$mime_boundary}\n";

// Questa è la parte "testuale" del messaggio
$msgformat_final .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
$msgformat_final .= "Content-Transfer-Encoding: 7bit\n\n";
$msgformat_final .= $msgformat . "\n\n";

// Metto il separatore
$msgformat_final .= "--{$mime_boundary}\n";

// Aggiungo l'allegato al messaggio
$msgformat_final .= "Content-Disposition: attachment;\n";
$msgformat_final .= " filename=\"{$allegato_name}\"\n";
$msgformat_final .= "Content-Transfer-Encoding: base64\n\n";
$msgformat_final .= $data . "\n\n";

// chiudo con il separatore
$msgformat_final .= "--{$mime_boundary}--\n";
}else{
$msgformat_final = $msgformat;
}





// definisce i campi obbligatori (da personalizzare con quelli del proprio form)
if (( $indirizzo == "" ) || ( $struttura == "" ) || ( $email == "" ))




// popup di errore sui campi obbligatori
{
echo "<script language=\"JavaScript\">\n";
echo "alert(\"$stringa1\");\n";
echo "java-script:history.go(-1);";
echo "</script>";
}

// controllo del formato della email
elseif(preg_match("#([\w-\.]+)@((?:[\w]+\.)+)([a-zA-Z]{2,4})#", $email))
{ mail($receiverMail, $subject, $msgformat_final, $headers);


// nelle prossime righe definisco se voglio un semplice popup che avvisa l'utente che il messaggio è stato inviato (OPZIONE1) e che lo fa ritornare automaticamente alla pagina dove ha compilato il form

// OPPURE

// se ridirezionarlo verso una pagina web specifica (OPZIONE2)


// OPZIONE1:
// popup di messaggio inviato e ritorno alla pagina precedente
// decommentare $stringa3
// commentare tutto se si usa OPZIONE2 (per commentare usare /* all'inizio e */ alla fine delle righe da commentare)

echo "<script language=\"JavaScript\">\n";
echo "alert(\"$stringa3\");\n";
echo "java-script:history.go(-1);";
echo "</script>";
}

// OPZIONE2:
// popup di messaggio inviato e ridirezionamento ad una pagina web
// decommentare $redirect
// commentare tutto se si usa OPZIONE1 (per commentare usare /* all'inizio e */ alla fine delle righe da commentare)

/* echo "<script language=\"JavaScript\">\n";
echo "window.location.href=(\"$redirect\");\n";
echo "</script>";
}
*/

// popup di errore se fallisce il controllo formato email
else
{
echo "<script language=\"JavaScript\">\n";
echo "alert(\"$stringa2\");\n";
echo "java-script:history.go(-1);";
echo "</script>";
}
?>
 
Ultima modifica di un moderatore:

eleinad85

Nuovo Utente
2 Ago 2010
17
0
0
si ho visto,ma io devo far compilare delle domande con checkbox e text area,cosa devo scrivere alla mail del destinatario??? io non la utilizzo,anzi sono loro ke devono scrivere la loro mail....

PHP:
//definiamo le intestazioni e il corpo del messaggio
$messaggio->From='[email protected]';<<<<<qua devo mettere la mia mail dove ricevo il form?
$messaggio->AddAddress('[email protected]');
$messaggio->AddReplyTo('[email protected]'); <<<<<e qua?
$messaggio->Subject='Prova.';
$messaggio->Body=stripslashes('Ciao!!!!');
 
Ultima modifica di un moderatore:

eleinad85

Nuovo Utente
2 Ago 2010
17
0
0
e cmq non capisco se nella pagina html dove cè il form,devo mettere action "nomescript.php" e sul file in php scrivero quel codice della guida cambiando cn le mie variabili
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Ragazzi, sono stufo di ripeterlo. Usate gli appositi tag per la formattazione automatica del codice sorgente dei vostri programmi. È un'abitudine che rende le discussioni più pulite e leggibili.

Per quanto riguarda la discussione, ecco come devi configurare PHPMailer:
PHP:
// indirizzo email del mittente
$messaggio->From = '[email protected]';
// indirizzo email del destinatario
$messaggio->AddAddress('[email protected]');
// indirizzo email del mittente
$messaggio->AddReplyTo('[email protected]');
// oggetto del messaggio
$messaggio->Subject = 'Prova.';
// corpo del messaggio
$messaggio->Body = stripslashes('Ciao!!!!');
 

eleinad85

Nuovo Utente
2 Ago 2010
17
0
0
s

si ho capito ma dove metto la mail dove ricevo il form ke gli utenti inviano? e come faccio a vedere qualè la loro mail?
 

eleinad85

Nuovo Utente
2 Ago 2010
17
0
0
le basi le so..ma cmq la mia domanda era un altra,io non uso phpmailer anke xke il mio script funziona benissimo,la mia domanda era come potevo aggiungere un altro allegato usando quello script...vabbè non fa nulla grazie lo stesso
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
qualcosa non va nella dichiarazione di questa variabile:
PHP:
$msgformat = "Il signor ha compilato la cecklist:\n\nnome checklist: $checklist\nstruttura: $struttura \nindirizzo: $indirizzo \ncitta':$citta \nmail: $email\ncap: $cap\npartita iva: $piva\nrisposte $d1_3 $d1_2 $d1_1 $d1_0 $d1_na \n$d2_3 $d2_2 $d2_1 $d2_0 $d2_na \n$d3_3 $d3_2 $d3_1 $d3_0 $d3_na \n$d4_3 $d4_2 $d4_1 $d4_0 $d4_na\n$d5_3 $d5_2 $d5_1 $d5_0 $d5_na\n$d6_3 $d6_2 $d6_1 $d6_0 $d6_na\n$d7_3 $d7_2 $d7_1 $d7_0 $d7_na\n$d8_3 $d8_2 $d8_1 $d8_0 $d8_na\
 
Discussioni simili
Autore Titolo Forum Risposte Data
A Aiuto per form email con allegato PHP 4
S [PHP] Aiuto creazione form php per completamento modello word PHP 1
M Aiuto Form --> Word Programmazione 2
L aiuto: form che dovrebbe restituire immagine PHP 2
S Aiuto!!!parte del form sparisce PHP 10
I Form/aree di testo con input da lista di nomi!Chiedo aiuto!! HTML e CSS 3
A Aiuto form inserimento dati PHP 3
M Aiuto realizzazione form dinamico. jQuery 1
F aiuto per funzionamento sito responsive e form contatti HTML e CSS 29
A Aiuto per Select form dinamica PHP 0
K aiuto su gestione casella select del form + php + mysql PHP 0
L Aiuto form php! PHP 1
A Turbo Contact Form - AIUTO PHP 2
S aiuto form aggiornamento utenti PHP 0
B aiuto per Form di eliminazione record PHP 21
T Aiuto form "search" jQuery 1
L Aiuto per ultimazione form invio email PHP 3
T.W. Aiuto con mini FORM Javascript 9
ivarello Aiuto invio form nascosto in PHP PHP 2
Z Aiuto! problemi di inserimento dati da form PHP 9
C Aiuto per form PHP 5
anton Aiuto Gestione di un form iscrizione a numero chiuso PHP 4
C Urgente Ricerca Aiuto (a Pagamento) Form Altri Annunci 0
K Aiuto! inviare dati da form a database mysql MySQL 2
V aiuto!!!!form mail in sito fatto in flash!!!!! Flash 1
E aiuto form mail php PHP 8
A Form per alimentare un DB con PHP: aiuto!! PHP 17
L Form Mail- aiuto Supporto Mr.Webmaster 0
K aiuto per mail inviata da form.. PHP 3
G aiuto form php PHP 1
M Aiuto con la Form Mail PHP 34
F form che non invia email Aiuto!!! HTML e CSS 1
L Aiuto con form invio email PHP 2
S Aiuto form correlati PHP 18
G Aiuto per creare un form di invio file Classic ASP 3
C aiuto per validare form Javascript 3
S Aiuto form email Javascript 0
M form e banner...aiuto!! Javascript 0
P Aiuto form registrazione utenti PHP 5
P Richiesta aiuto x Form su aruba Hosting 1
Z [Aiuto] Form con 2 campi collegati Javascript 0
V AIUTO: creare file php x form PHP 2
U Aiuto con form mail Classic ASP 3
L Aiuto form HTML e CSS 8
P nome del form una banalità??? aiuto!!! Javascript 1
F Aiuto con Form PHP 1
E Aiuto per query PHP 8
R Aiuto ripristino sito web Presentati al Forum 0
L Aiuto con DataGridView Visual Basic 1
F Aiuto! cambio immagine di sfondo al cambio pagina HTML e CSS 2

Discussioni simili