• Home
  • Forum
  • Fare Web
  • PHP

Form invio e-mail con allegato

  • Creatore Discussione Creatore Discussione el_diablo92
  • Data di inizio Data di inizio 17 Dic 2012
Prec.
  • 1
  • 2
  • 3
Primo Prec. 3 di 3

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 26 Gen 2013
  • #41
ciao
sto perdendo colpi, ma avresti dovuto accorrertene anche te.
if($da_allegare !=""){
$testo .="allegato ".$da_allegare."<hr>";
$mail->AddAttachment($allegare);
}else{
$testo .="allegato non inviato<hr>";
}
correggi in
PHP:
//....
 if($da_allegare !=""){
            $testo .="allegato ".$da_allegare."<hr>";
            $mail->AddAttachment($da_allegare);
        }else{
            $testo .="allegato non inviato<hr>";
        }
//.....

l'avevo messo in linea e anche a me non inviava l'allegato sino a che non mi sono accorto di quel ca..one di errore.
prova e sappimi dire
 
E

el_diablo92

Utente Attivo
17 Dic 2012
31
0
6
  • 28 Gen 2013
  • #42
Provato ma niente. Adesso l'errore è "Impossibile istanziare la funzione mail Errore di trasmissione, riprova più tardi".
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 28 Gen 2013
  • #43
ciao
l'ho caricata e funzia (rimetti la tua email al posto della mia)
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>
<body>
 <?php
function tipi_ammessi($file){//$_FILES['allegato']['name']
    $tipo=array('doc', 'pdf','txt');//aggiunto txt per fare delle prove
    //guarda che .doc vale per vecchi word devi aggiungere la nuova estenzione che mi sembra sia docx, verifica
    $file=pathinfo($file, PATHINFO_BASENAME);
    $estensione=pathinfo($file, PATHINFO_EXTENSION); 
    if(in_array($estensione,$tipo)){
        return TRUE;
    }else{
        return FALSE;
    }
}
function file_da_allegare($file_nome, $file_tmp){//$_FILES['allegato']['name'], $_FILES['allegato']['tmp_name']
    //ricavo il nome del file e del temp cone gli eventuali percorsi
    $nome_file=pathinfo($file_nome, PATHINFO_BASENAME);
    $nome_file_temp=$file_tmp;
    //rivavo il percorso temporaneo con + slash finale
    $cartella_temp=pathinfo($nome_file_temp, PATHINFO_DIRNAME);
    //e ricavo il nome del file da allegare con il suo percorso
    $da_allegare=$cartella_temp."/".$nome_file;
    //uploado e verifico
    if(move_uploaded_file($nome_file_temp, $da_allegare)){
        return $da_allegare;//file caricato in cartella temporanea e nome da indicare a PHPmailler
    }else{
        return FALSE;//c'è stato un errore
    }
}//fine function file da allegare
//************
if(isset($_POST['Invia'])){
    //$email = $_POST['mittente'];
    $funzione = trim($_POST['funzione']);//queto sarebbe l'oggetto dell'email
    if($funzione==""){$funzione="funzione non indicata";}
    $messaggio = trim(strip_tags($_POST['messaggio']));//questo lo metteri obbligatorio con un minimo di caratteri
    $errori="";
    if(strlen($messaggio) < 10){//se è meno di 10 caratteri
        $errori.= "Non hai scritto il mesaggio o troppo corto<br />";
    }
    if($_FILES['allegato']['name'] !=""){//se diverso da vuoto faccio le verifiche
        if(!tipi_ammessi($_FILES['allegato']['name'])){
            $errori.= "il formato dell'allegato non è ammesso<br />";
        }else{//se è ammesso lo carico nella cartella temporanea
            $da_allegare=file_da_allegare($_FILES['allegato']['name'], $_FILES['allegato']['tmp_name']);
            if($da_allegare== false){
                $errori.= "c'è stato un errore nel caricamento del file, riprova più tardi<br />";
            }
        }
    }else{
        $da_allegare="";//comunque lo vuoto
    }
    //$check = $_POST['check'];
    //$allegato = $_FILES['allegato']['tmp_name'];//lo usi dopo l verifica
    //$mittente = $_POST['mittente'];
    if(filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)){
        $email = $_POST['email'];
    }else{
        $errori.="Indirizzo email non valido<br />";
    }
    if(!isset($_POST['check'])){
        $errori.="Non hai dato il consenso per il trattamento dei dati<br />";
    }else{
        //questo aggiungilo in coda con $msg .= $check;
        $check = "autorizzo il trattamento dei dati a norma del D.lgs. 196/03";
    }
    if($errori != ""){
        echo $errori;
    }else{
        //ho messo la cartella della classe nello stessa cartella dove c'è il form (altrimenti devi modificare il percorso)
        require_once "phpmailler/class.phpmailler.php";//richiamo la classe
        $mail = new PHPmailer();//e inizio a ad instanziarla
        $mail->SetLanguage('it','language/');
        $mail->IsHTML(true); // invio l'email in formato HTML
        $mail->Subject="invio curriculum: $funzione";
        $mail->AddAddress("info@borgo-italia.it");//qui devi mettere la tua email o se è dal config devi mettere $to
        $mail->AddReplyTo($email,"");//per rispondere
        //preparo il messaggio da inviare
        //volendo puoi mettere una <table> e/o vari tag per cambuare colori
        $testo="<hr>email inviata il ".date("d m Y H:i:s")."<br>";
        $testo .="mittente $email<hr>";
        $testo .=nl2br($messaggio)."<hr>";//trasformo eventuali \n \r in <br>
        $testo .= $check."<hr>";
        if($da_allegare !=""){
            $testo .="allegato ".$da_allegare."<hr>";
            $mail->AddAttachment($da_allegare);
        }else{
            $testo .="allegato non inviato<hr>";
        }
        $mail->Body=$testo;
        if($mail->Send()){
            echo "Messaggio inviato....";
        }else{
            echo "Errore di trasmissione, riprova più tardi";
        }
     }
    echo "<meta http-equiv='Refresh' content='4; URL=".$_SERVER['PHP_SELF']."'>";
}else{
?> 

<form action="<?php echo $_SERVER['../PHP_SELF']; ?>" method="POST" enctype="multipart/form-data">
<table border="0">
<tr>
  <td>Email:</td>
  <td><input type="text" name="email" value="" /></td>
</tr>
<tr>
  <td>Funzione:</td>
  <td>
  <select name="funzione"> 
<option  value=""> -- Seleziona -- </option> 
<option value="Agente di commercio">Agente di commercio</option>
<option value="Procacciatore">Procacciatore</option> 
</select></td>
</tr>
<tr>
  <td>Messaggio:</td>
  <td><textarea cols="20" rows="4" name="messaggio"></textarea></td>
  </tr>
<tr>
  <td>Allega il tuo CV:</td>
  <td><input type="file" name="allegato" /></td>
</tr>
<tr>
  <td colspan="2"><center>Formati consentiti: .doc e .pdf<br />
  <div style="float: left; margin-left: 20px;"><input type="checkbox" name="check" /></div><div style="float: right; font-size: 10px; margin-top: 4px; margin-right: 15px;">Autorizzo il trattamento dei dati personali ai sensi del D. lgs. 196/03</div><br /></center>
  <center><input type="submit" value="Invia" name="Invia" /></center></td>
</tr>
</table>
</form>
<?php
}
?>
</body>
</html>
forse l'errore era in
require_once "phpmailler/class.phpmailer.php";//richiamo la classe
avevi (o forse avevo) scritto
require_once "PHPmailer/class.phpmailer.php";//richiamo la classe
con PHP maiuscolo e una elle sola
verifica attentamente come si chiama la cartella e la classe
 
E

el_diablo92

Utente Attivo
17 Dic 2012
31
0
6
  • 28 Gen 2013
  • #44
La mia cartella si chiama "PHPMailer" e la classe ha il suo nome normale ovvero "class.phpmailer.php".
Ho controllato tutto il codice è sembra non ci sia nessun errore, l'ho confrontato con quello che hai appena postato tu, e conicidono, però quando lo carico e lo provo mi da sempre "Impossibile istanziare la funzione mail Errore di trasmissione, riprova più tardi". Ho provato a prendere il codice postato da te, ho cambiato mail, e cartella di riferimento ma niente. Davvero non riesco a capire cosa c'è che non va? Soprattutto perché a te sembra andare
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 28 Gen 2013
  • #45
ciao
la cartella PHPMailer si trova nella stessa cartella in cui hai il form?
 
E

el_diablo92

Utente Attivo
17 Dic 2012
31
0
6
  • 28 Gen 2013
  • #46
Sì, sono entrambe in "public_html".
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 28 Gen 2013
  • #47
ciao
faccio uno zip della mia cartella phpmailler e l'allego, poi prova ad usare quella
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 28 Gen 2013
  • #48
ciao
salvi nella cartella public_html (quella che hai in locale) lo disizippi e poi cariche tutta la cartella phpmailler nella cartella puplic_html remota.
ricordati di modificare il require
require "phpmailler/class.phpmailer.php";

dentro la cartella phpmailler non toccare niente
 

Allegati

  • phpmailler.zip
    phpmailler.zip
    33,3 KB · Visite: 376
E

el_diablo92

Utente Attivo
17 Dic 2012
31
0
6
  • 28 Gen 2013
  • #49
Perfetto! Adesso funziona tutto alla perfezione. Grazie infinite borgo!
Comunque il problema qual'era? Errore mio?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 28 Gen 2013
  • #50
ciao
di preciso non so, forse avevi sbagliato a scaricare phpmailer
 
N

nice4u2

Nuovo Utente
12 Set 2013
1
0
0
  • 12 Set 2013
  • #51
mi spiace riaprire questa discussione... ma ...
dato che il form funziona perfettamente...
se volessi inserire i dati in un db???:hammer:
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 13 Set 2013
  • #52
ciao
intanto dovresti dire che dati vuoi inserire e se vuoui contemporaneamente inviare un'email.,
poi apri un nuovo 3d, quando sono troppo lunghi si fa fatica a seguirli (eventualmente citando questo)
 
Prec.
  • 1
  • 2
  • 3
Primo Prec. 3 di 3
Devi accedere o registrarti per poter rispondere.

Discussioni simili

S
Invio email da form
  • stevc79
  • 12 Mag 2020
  • PHP
Risposte
8
Visite
1K
PHP 13 Mag 2020
stevc79
S
U
PHP bottone per invio mail o ritorno al form
  • uffre
  • 3 Nov 2019
  • PHP
Risposte
15
Visite
9K
PHP 7 Nov 2019
uffre
U
B
[PHP] Invio mail automatico dopo compilazione form - db
  • Borghese
  • 3 Feb 2019
  • PHP
  • 2
Risposte
25
Visite
8K
PHP 12 Feb 2019
Borghese
B
[PHP] Invio mail da form dubbio
  • paloppa
  • 1 Mar 2018
  • PHP
Risposte
17
Visite
3K
PHP 1 Mar 2018
marino51
F
Form mail php errore invio
  • fla88vus
  • 28 Set 2017
  • PHP
Risposte
5
Visite
3K
PHP 18 Mag 2018
smanimania
S
[PHP][WORDPRESS] Form in Wordpress, creazione PDF con dati del form ed invio tramite email
  • Matteo Lorenzon
  • 2 Mar 2017
  • WordPress
Risposte
1
Visite
6K
WordPress 5 Mar 2017
Astrit
I
form invio mail
  • ilsaro
  • 16 Mag 2016
  • HTML e CSS
Risposte
1
Visite
1K
HTML e CSS 16 Mag 2016
Max 1
Errore form invio mail+php
  • Francesco Polese
  • 4 Mag 2016
  • PHP
  • 2
Risposte
22
Visite
7K
PHP 6 Mag 2016
Francesco Polese
P
invio mail da form con dati php
  • Paperino78
  • 6 Feb 2016
  • PHP
Risposte
7
Visite
3K
PHP 12 Feb 2016
Paperino78
P
W
Estrapolare un indirizzo mail di un form durante l'invio
  • w_t
  • 1 Gen 2016
  • PHP
Risposte
5
Visite
3K
PHP 7 Gen 2016
Altutto
A
I
invio mail da form
  • irenerigon
  • 7 Set 2015
  • PHP
Risposte
1
Visite
2K
PHP 7 Set 2015
marino51
S
Form invio mail html, con invio tramite file denominato invio.php
  • Simone Menegoni
  • 7 Ago 2015
  • PHP
Risposte
8
Visite
4K
PHP 14 Ago 2015
Simone Menegoni
S
Problema Form e invio mail
  • Il Matta
  • 16 Feb 2015
  • PHP
Risposte
2
Visite
2K
PHP 17 Feb 2015
Il Matta
problema invio email tramite form
  • asevenx
  • 17 Nov 2014
  • PHP
Risposte
3
Visite
2K
PHP 19 Nov 2014
marino51
B
Problema form mail per invio doppio allegato
  • billdog
  • 25 Ott 2014
  • PHP
Risposte
1
Visite
2K
PHP 1 Nov 2014
marino51
A
Problema orario invio mail per form
  • Antonio Toio Mignano
  • 5 Lug 2014
  • PHP
Risposte
4
Visite
2K
PHP 5 Lug 2014
marino51
S
php form invio mail
  • sbuzza
  • 25 Nov 2013
  • PHP
Risposte
3
Visite
1K
PHP 27 Nov 2013
borgo italia
L
Form con invio mail
  • _LAIL_
  • 31 Ott 2013
  • PHP
Risposte
1
Visite
1K
PHP 3 Nov 2013
criric
Problema form invio email da sito ç__ç
  • Task Mc
  • 29 Mag 2013
  • PHP
Risposte
4
Visite
2K
PHP 30 Mag 2013
Task Mc
L
Aiuto per ultimazione form invio email
  • Lan
  • 5 Mar 2013
  • PHP
Risposte
3
Visite
2K
PHP 9 Mar 2013
Longo8
Condividi:
Facebook X (Twitter) LinkedIn WhatsApp e-mail Condividi Link
  • Home
  • Forum
  • Fare Web
  • PHP
  • Italiano
  • Termini e condizioni d'uso del sito
  • Policy Privacy
  • Aiuto
  • Home
Community platform by XenForo® © 2010-2024 XenForo Ltd. | Traduzione a cura di XenForo Italia
Menu
Accedi

Registrati

  • Home
  • Forum
    • Nuovi Messaggi
    • Cerca...
  • Novità
    • Featured content
    • Nuovi Messaggi
    • Ultime Attività
X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?

X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?