Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    39

    Modifica Form PHP Mail per aggiungere allegati multipli

    Ciao Ragazzi, ho bisogno di una mano, in qualcosa che forse è più grande di me... Allora praticamente io ho acquistato un tema per realizzare un sito e dentro ho trovato questo modulo php per il contatto. Adesso avrei la necessità di personalizzarlo inserendo la possibilità di inserire uno o più allegati. Mi sono letto mezzo forum ma sto facendo difficoltà a mettere insieme i pezzi. Praticamente ho capito che bisogna inserire nel richiamare il modulo sulla pagina il multipart e va bene. Poi ho inserito la parte del modulo per caricare il file, ma non ho idea di come inserire la parte per l'allegato. Oltretutto ho un problema, il mio server non supporta tutti gli script php, quindi ho la certezza che questo fuzioni mentre altri nn so. Ho letto che consigliate PHP Mailer ma sinceramente nn saprei come utilizzarlo. Mi dite se è possibile inserire qui qualche riga per gli allegati?
    Vi posto sia il config.php che la parte html del modulo:

    Codice PHP:
    <?php if ( !isset( $_SESSION ) ) session_start();
    if ( !
    $_POST ) exit;
    if ( !
    defined"PHP_EOL" ) ) define"PHP_EOL""\r\n" );
    ///////////////////////////////////////////////////////////////////////////
    // Simple Configuration Options
    // Enter the email address that you want to emails to be sent to.// Example $address = "joe.doe@yourdomain.com";
    $address "info@xxx.it";
    // Twitter Direct Message notification control.// Set $twitter_active to 0 to disable Twitter Notification$twitter_active = 0;
    // Get your consumer key and consumer secret from http://dev.twitter.com/apps/new// Notes:// Application Name: Jigowatt Contact Form// Description: Jigowatt Contact Form Direct Messaging Funcionality// Application Website: (your website address)// Application Type: Browser// Callback URL: (Blank)// Default Access type: Read and Write$twitter_user    = ""; // Your user name$consumer_key    = "";$consumer_secret = "";
    // Access Token and Access Token Secret is under "My Access Token" (right menu).$token           = "";$secret          = "";
    // END OF Simple Configuration Options
    ///////////////////////////////////////////////////////////////////////////
    /////////////////////////////////////////////////////////////////////////////// Do not edit the following lines/////////////////////////////////////////////////////////////////////////////
    $postValues = array();foreach ( $_POST as $name => $value ) {    $postValues[$name] = trim$value );}extract$postValues );

    // Important Variables// $posted_verify = isset( $postValues['verify'] ) ? md5( $postValues['verify'] ) : '';// $session_verify = !empty($_SESSION['jigowatt']['ajax-extended-form']['verify']) ? $_SESSION['jigowatt']['ajax-extended-form']['verify'] : '';
    $error '';
    /////////////////////////////////////////////////////////////////////////////// Begin verification process//// You may add or edit lines in here.//// To make a field not required, simply delete the entire if statement for that field./////////////////////////////////////////////////////////////////////////////

    ////////////////////////// Name field is requiredif ( empty( $name ) ) {    $error .= '<li>Il suo nome è necessario.</li>';}////////////////////////

    ////////////////////////// Email field is requiredif ( empty( $email ) ) {    $error .= '<li>La sua mail è necessaria</li>';} elseif ( !isEmail( $email ) ) {    $error .= '<li>Ha inserito un indirizzo e-mail errato</li>';}////////////////////////

    ////////////////////////// Phone field is required// if ( empty( $phone ) ) {//     $error .= '<li>Your phone number is required.</li>';// } elseif ( !is_numeric( $phone ) ) {//     $error .= '<li>Your phone number can only contain digits.</li>';// }////////////////////////

    ////////////////////////// Comments field is requiredif ( empty( $message ) ) {    $error .= '<li>Dovreste inserire il messaggio.</li>';}////////////////////////

    ////////////////////////// Agree to terms checkbox is required// if ( empty( $agree ) ) {//     $error .= '<li>You must agree to our terms.</li>';// }////////////////////////

    ////////////////////////// Verification code is required// if ( $session_verify != $posted_verify ) {//     $error .= '<li>The verification code you entered is incorrect.</li>';// }////////////////////////
    if ( !empty($error) ) {    echo '<div class="alert red"><h3>Attenzione! Per favore corregga gli errori e provi ancora.</h3>';    echo '<ul class="error_messages">' $error '</ul>';    echo '</div>';
        
    // Important to have return false in here.    return false;
    }
    // Advanced Configuration Option.// i.e. The standard subject will appear as, "You've been contacted by John Doe."
    $e_subject "Siete stati contattati tramite il sito da : " $name;
    // Advanced Configuration Option.// You can change this if you feel that you need to.// Developers, you may wish to add more fields to the form, in which case you must be sure to add them here.
    $msg  "Siete stati contattati da $name riguardo $subject e il suo messaggio è il seguente." PHP_EOL PHP_EOL;$msg .= $message PHP_EOL PHP_EOL;$msg .= "Potete contattarlo $name via email, $email." PHP_EOL PHP_EOL;// $msg .= "$name chose option: $optionsRadios";$msg .= "-------------------------------------------------------------------------------------------" . PHP_EOL;$msg .= "Questo messaggio vi è stato inviato tramite il modulo di contatto del sito www.xxxx.it";
    // if ( $twitter_active == 1 ) {
    //     $twitter_msg = $name . " - " . $comments . ". You can contact " . $name . " via email, " . $email ." or via phone " . $phone . ".";//     twittermessage( $twitter_user, $twitter_msg, $consumer_key, $consumer_secret, $token, $secret );
    // }
    $msg wordwrap$msg70 );
    $headers  "From: $emailPHP_EOL;$headers .= "Reply-To: $emailPHP_EOL;$headers .= "MIME-Version: 1.0" PHP_EOL;$headers .= "Content-type: text/plain; charset=utf-8" PHP_EOL;$headers .= "Content-Transfer-Encoding: quoted-printable" PHP_EOL;
    if ( 
    mail$address$e_subject$msg$headers ) ) {
        
    // echo "<fieldset>";    echo "<div class='alert green'>";    echo "<h3>Email inviata correttamente.</h3>";    echo "<p>Grazie <strong>$name</strong>, il suo messaggio ci è stato inviato</p>";    echo "</div>";    // echo "</fieldset>";
        // Important to have return false in here.    return false;
    }

    /////////////////////////////////////////////////////////////////////////////// Do not edit below this line/////////////////////////////////////////////////////////////////////////////echo 'ERROR! Please confirm PHP mail() is enabled.';return false;
    // function twittermessage( $user, $message, $consumer_key, $consumer_secret, $token, $secret ) { // Twitter Direct Message function, do not edit.
    //     require_once 'twitter/EpiCurl.php';//     require_once 'twitter/EpiOAuth.php';//     require_once 'twitter/EpiTwitter.php';
    //     $Twitter = new EpiTwitter( $consumer_key, $consumer_secret );//     $Twitter->setToken( $token, $secret );
    //     $direct_message = $Twitter->post_direct_messagesNew( array( 'user' => $user, 'text' => $message ) );//     $tweet_info = $direct_message->responseText;
    // }
    function isEmail$email ) { // Email address verification, do not edit.
        
    return preg_match"/^[-_.[:alnum:]]+@((([[:alnum:]]|[[:alnum:]][[:alnum:]-]*[[:alnum:]])\.)+(ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)$|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i"$email );
    }
    ?>
    codice HTML:
    <div id="form-message"></div>				        <form action="php/contact.php" method="post" enctype="multipart/form-data" id="contactform" class="contactform">				          <fieldset>				            <ol>				              <li>				                <label for="name" class="label-block">Nome e Cognome *</label>				                <input type="text" name="name" id="name">				              </li>				              <li>				                <label for="email" class="label-block">E-mail *</label>				                <input type="text" name="email" id="email">				              </li>				              <li>				                <label for="website" class="label-block">Sito Internet</label>				                <input type="text" name="website" id="website">				              </li>				              <li>				                <label for="subject" class="label-block">Oggetto</label>				                <input type="text" name="subject" id="subject">				              </li>				              <li class="message-wrap">				                <label for="message" class="label-block">Messaggio *</label>				                <!-- <textarea cols="20" rows="10" id="message" name="message"></textarea> -->				                <textarea id="message" name="message" cols="45" rows="8" aria-required="true"></textarea>				              </li>                               <li>                              <label for="allegato">Allega un file (doc, xls, pdf, jpg, jpeg, png, gif, zip, rar)</label>		<input type="file" name="allegato" id="allegato" />                              </li>				            </ol>				          </fieldset>				          <input type="submit" class="submit" value="Send Message">				        </form>
    Vi prego datemi una mano!! Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    39
    Raga nessuno?

  3. #3
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    E' abbastanza complesso quello che vuoi fare (da 1 a 10 e 8) gli step
    a) script upload dei file da allegare e contestuale creazione di una cartella temporanea per quel utente
    b) script invio mail con recupero dei file dalla cartella appena creata
    c) script per la cancellazione della cartella appena creata
    d) dovrai verificare che i dati i file siano corretti o doppi prima di procure con l'invio
    Questo in sintesi in rete trovi molto ma anche il solo adattarlo non è facile, come già detto se non hai una discreta conoscenza php lo ritengo molto difficile da realizzare.


    P.S. Visto che hai limitazioni sul server verifica con lo stesso cosa ti è permesso, inutile lavorare se poi non puoi installarlo
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

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 © 2024 vBulletin Solutions, Inc. All rights reserved.