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( $msg, 70 );
$headers = "From: $email" . PHP_EOL;$headers .= "Reply-To: $email" . PHP_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