Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    invio form con allegato--non funziona

    Buongiorno
    sto diventando matta nel cercare di capire perchè questo script non funziona
    vi spiego: ho un form che recupera dei dati e li invia a questo script
    nel form c'è anche un campo allega

    i dati vengono spediti, ma l'allegato arriva sempre di Kb 0

    non so proprio dove sta l'errore
    Codice PHP:
    <?php

    // RENDIAMO LO SCRIPT COMPATIBILE CON LE VERSIONI DI PHP < 4.1.0
    if(!isset($_POST)) $_POST $HTTP_POST_VARS;
    if(!isset(
    $_FILES)) $_FILES $HTTP_POST_FILES;

    $vardataora date("d/m/Y H:i:s"); 
    $subject "e-mail proveniente dal sito";
    $subj"$vardataora
    Questo messaggio ti è stato inviato da : " 
    $_POST["nameC"] . " " $_POST["surname"] ."  .
     Email :  " 
    $_POST["email"] . ".
     Testo del messaggio :
    "


    // RIPULIAMO I VARI CAMPI DEL MODULO
    //originale $Destinatario = trim($_POST["Destinatario"]);
    $Destinatario "n_nadia80@libero.it";
    //originale $Soggetto = trim(stripslashes($_POST["Soggetto"]));
    $vardataora date("d/m/Y H:i:s"); 
    $Soggetto "e-mail proveniente dal sito;";
    //$subj= ; 
    // originale $Contenuto = trim(stripslashes($_POST["Contenuto"]));
    $Contenuto "$vardataora
    $_POST["messaggio"] . "
    mittente: " 
    $_POST["nameC"] . ";

    // ASSEGNIAMO A VARIABILI PIU' LEGGIBILI, LE PROPRIETA' DELL'ALLEGATO
    $attach = $_FILES["allegato"]["tmp_name"];
    $file_name = $_FILES["allegato"]["name"];
    $file_type = $_FILES["allegato"]["type"];
    $file_size = $_FILES["allegato"]["size"];

    // DELIMITATORE
    $boundary = md5(uniqid(microtime()));

    // APRIAMO L'ALLEGATO PER LEGGERLO E CODIFICARLO
    $file = @fopen($attach, "r");
    $contents = @fread($file$file_size);
    $encoded_attach = chunk_split(base64_encode($contents));
    @fclose(
    $file);

    // INTESTAZIONI DELLA MAIL
    $mail_headers .= "MIME-version1.0\n";
    $mail_headers .= "Content-typemultipart/mixedboundary=\"$boundary\"";
    $mail_headers .= "X-attachments: $file_name\n";

    //-----------------------
    //$msg_body .= "Content-Type: text/html; charset=\"iso-8859-1\"\n"; 
    //$msg_body .= "Content-transfer-encoding: 7BIT\n"; 

    //$msg_body .= "<meta http-equiv=Content-Type content=\"text/html; charset=iso-8859-1\">\n"; 
    //$msg_body .= $subj; 
    // $msg_body .= $body; //
    //-------------------
    // COSTRUIAMO IL CORPO DELLA MAIL
    $mail_body "--$boundary\n";
    //originale $mail_body .= "Content-Type: text/plain; charset=us-ascii\n";
    $mail_body .= "Content-Type: text/html; charset=\"iso-8859-1\"\n"
    $mail_body .= "Content-Transfer-Encoding: 7bit\n\n";
    //mio
    //$mail_body .= "Content-Description: Mail message body\n\n"; 
    $mail_body .= "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">\n"
    $mail_body .= "<html><head></head><body><font face=arial>\n"
    //fine mio
    $mail_body .= "$Contenuto\n\n";
    $mail_body .= "--$boundary\n";
    $mail_body .= "Content-type: $file_type; name=\"$file_name\"\n"
    $mail_body .= "Content-Transfer-Encoding: base64\n";
    $mail_body .= "$encoded_attach\n";
    $mail_body .= "--$boundary--\n";

    // INVIO DELLA MAIL
    if(@mail($Destinatario$Soggetto$mail_body$mail_headers)) { // SE L'INVIO È ANDATO A BUON FINE...

    echo "<html><body bgcolor=#CCCCCC><center><font face=arial>La mail è stata inoltrata con successo.<font></center></body></html>";

    } else {
    // ALTRIMENTI...

    echo "Si sono verificati dei problemi nell'invio della mail.";

    }

    ?>

  2. #2
    ho scoperto cos'era
    grazie comunque
    ciao

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.