Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    93

    Problema con modulo di invio allegato

    Ciao a tutti! Ho un piccolo problema con il form per l'invio di un allegato. In realtà l'invio dell'allegato funziona correttamente, però non mi passa il testo del corpo del messaggio.

    Questo è il form:

    Codice PHP:
    <td width="611"><form action="formmail.php" method="POST" enctype="multipart/form-data">



      <
    input type=hidden name="destinatario" value="xxx@gmail.com">
      <
    input type=hidden name="oggetto" value="Nuova candidatura dal sito xxx.it">
    </
    p>
    <
    table border="0" cellspacing="0" cellpadding="5" align="center">
      <
    tr>
        <
    td>[bNome e Cognome:[/b]</td>
        <
    td align="right"><input type=text name="mittente"></td>
        </
    tr>
      <
    tr>
        <
    td>[b]Email:[/b]</td>
        <
    td align="right"><input type=text name="email"></td>
        </
    tr>
          <
    tr>
        <
    td>[b]Allega CV:[/b]</td>
        <
    td align="right"><input type=file name="uploadfile"></td>
        <
    input type="hidden" name="MAX_FILE_SIZE" value="8388608">
        </
    tr>
      <
    tr>
        <
    td colspan="2">[b]Messaggio:[/b]</td>
        </
    tr>
      <
    tr>
        <
    td colspan="2"><textarea name="messaggio" cols="40" rows="5"></textarea></td>
        </
    tr>
      <
    tr>
        <
    td colspan="2" align="center"><input type="Submit" value="Invia"></td>
        </
    tr>
    </
    table>



      <
    input type=hidden name="required" value="email,realname,messaggio">
    </
    p>
          </
    form></td>
        </
    tr>
      </
    table
    e questo è formmail.php

    Codice PHP:
    // controllo che non ci siano stati errori nell'upload (codice = 0) 
    if ($_FILES['uploadfile']['error'] == 0){
    // upload ok
    // controllo che il file sia in formato gif
    //if ($_FILES['uploadfile']['type'] != "image/gif") die("Formato file non valido, è permesso solo il formato gif"); 
    // copio il file dalla cartella temporanea a quella di destinazione mantenendo il nome originale 
    copy($_FILES['uploadfile']['tmp_name'], "upload/".$_FILES['uploadfile']['name']) or die("Impossibile caricare il file");
    // upload terminato, stampo alcune info sul file
    echo "Upload terminato con successo:
    "
    ;
    echo 
    "Nome file: ".$_FILES['uploadfile']['name']."
    "
    ;
    echo 
    "Dimensione file: ".$_FILES['uploadfile']['size']."
    "
    ;
    echo 
    "Tipo MIME file: ".$_FILES['uploadfile']['type'];
    }
    else{
    // controllo il tipo di errore
    if ($_FILES['uploadfile']['error'] == 2){
    // errore, file troppo grande (> 1MB)
    die("Errore, file troppo grande: il massimo consentito è 8MB");
    }
    else{
    // errore generico
    die("Errore, impossibile caricare il file");
    }




    $alleg=$_FILES['uploadfile']['name'];




    require 
    "phpmailer/class.phpmailer.php";
    $messaggio = new PHPmailer();
    $messaggio->IsSMTP();
    $messaggio->Host='smtp.aruba.it';
    $messaggio->From=$_POST['email'];
    $messaggio->AddAddress($_POST['destinatario']);
    $messaggio->AddReplyTo($_POST['email']); 
    $messaggio->Subject=$_POST['oggetto'];
    $messaggio->Body=$_POST['messaggio' $alleg];

    //percorso all'allegato
    $messaggio->AddAttachment('upload/'.$alleg);
    if(!
    $messaggio->Send()){
      echo 
    $messaggio->ErrorInfo
    }else{ 
      
    unlink('upload/'.$alleg);
      
    header("Location: inviook.php");
    }
    $messaggio->SmtpClose();
    unset(
    $messaggio); 

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    93
    heeelp!

  3. #3
    Codice PHP:
    $messaggio->Body=$_POST['messaggio' $alleg]; 
    provato a togliere il .$alleg?

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    93
    Forse ho trovato il problema. Questo script funziona perfettamente su un altro sito che ho realizzato, ma era in PHP4. Ora sto utilizzando il PHP5 (e non posso tornare al 4) e mi da appunto il problema descritto sopra (cioè: l'allegato lo invia, ma non invia il testo).

    da phpmailer.worxware.com ho scaricato la nuova versione per PHP5, però nel momento dell'invio mi da questo:

    Codice PHP:
    Upload terminato con successo:
    Nome filebellerose.zip
    Dimensione file
    8189
    Tipo MIME file
    application/octet-streamInvalid addresswefMessage body empty Message body empty 
    E non mi invia nulla!

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.