Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Form mail

  1. #1

    Form mail

    Buongiorno a tutti, sono nuovo del forum e preciso che non so niente di programmazione PHP.
    Volevo inserire nel mio sito un formmail con allegato, nel web ne ho trovato uno molto bello e funzionale, solamente che il campo messaggio , trascinando l'angolo inferiore dx, si espande. Volevo chiederVi se era possibile, modificando il codice, rendere il campo fisso (non espandibile).
    Spero di essemo spiegato chiaramente... allego il file in formato zip

    ps il formail è coperto da Copyright, ma penso che si possano fare modifiche a patto che lascio il Copyright con il collegamento al produttore, come richiesto da lui stesso! Ho provato a contattare prima lui ma non ho ottenuto risposta.

    Saluti
    Walter

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    nn è un problema php, ma js eventualmente

  3. #3
    ...e come posso risolverlo?

  4. #4
    Mi sono accorto adesso che si possono allegare solo immagini? riporto quà il codice...


    /*
    //================================================== ==============================
    * ! ATTENTION !
    //================================================== ==============================
    : Don't edit below this line unless you know some php. Editing some variables or other stuff could cause undeseriable results!!
    */

    // Will get the extension of the users file. For some reason trying to get the actual type of the file caused problems with certain browsers.

    function get_ext($key) {
    $key=strtolower(substr(strrchr($key, "."), 1));
    // Cause there the same right?
    $key=str_replace("jpeg","jpg",$key);
    return $key;
    }

    function phattach($file,$name) {
    global $boundary;

    $fp=@fopen($file,"r");
    $str=@fread($fp, filesize($file));
    $str=@chunk_split(base64_encode($str));
    $message="--".$boundary."\n";
    $message.="Content-Type: application/octet-stream; name=\"".$name."\"\n";
    //$message.="Content-disposition: attachment\n"; Thanks goes to someone named Chris (I think, it was awhile ago) for his fix below!
    $message.="Content-disposition: attachment; filename=\"".$name."\"\n";
    $message.="Content-Transfer-Encoding: base64\n";
    $message.="\n";
    $message.="$str\n";
    $message.="\n";

    return $message;
    }

    //Little bit of security from people forging headers. People are mean sometimes
    function clean($key) {
    $key=str_replace("\r", "", $key);
    $key=str_replace("\n", "", $key);
    $find=array(
    "/bcc\:/i",
    "/Content\-Type\:/i",
    "/Mime\-Type\:/i",
    "/cc\:/i",
    "/to\:/i"
    );
    $key=preg_replace($find,"",$key);
    return $key;
    }

    // Safe for register_globals=on =)

    $error="";
    $types="";
    $sent_mail=false;

    // Do some loopy stuff for the valid file types so people can see what types are valid before they try and upload invalid ones.

    $ext_count=count($allowtypes);
    $i=0;

    foreach($allowtypes AS $extension) {

    //Gets rid of the last comma

    If($i <= $ext_count-2) {
    $types .="*.".$extension.", ";
    } Else {
    $types .="*.".$extension;
    }
    $i++;
    }
    unset($i,$ext_count); // why not


    // If they post the form start the mailin'!

    If($_POST['submit']==true) {
    extract($_POST, EXTR_SKIP);

    // Check the form for errors

    If(trim($yourname)=="") {
    $error.="You did not enter your name!
    ";
    }

    If(trim($youremail)=="") {
    $error.="You did not enter your email!
    ";
    } Elseif(!eregi("^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,4}\$",$youremail)) {
    $error.="Invalid email address.
    ";
    }

    If(trim($emailsubject)=="") {
    $emailsubject=$defaultsubject;
    }

    If(trim($yourmessage)=="") {
    $error.="You did not enter a message!
    ";
    }

    // Verify Attchment info

    If($allowattach > 0) {

    //Loopish

    For($i=0; $i <= $allowattach-1; $i++) {

    If($_FILES['attachment']['name'][$i]) {

    $ext=get_ext($_FILES['attachment']['name'][$i]);
    $size=$_FILES['attachment']['size'][$i];
    $max_bytes=$max_file_size*1024;

    //Check if the file type uploaded is a valid file type.

    If(!in_array($ext, $allowtypes)) {

    $error.= "Invalid extension for your file: ".$_FILES['attachment']['name'][$i].", only ".$types." are allowed.
    ";

    //Check the size of each file

    } Elseif($size > $max_bytes) {
    $error.= "Your file: ".$_FILES['attachment']['name'][$i]." is to big. Max file size is ".$max_file_size."kb.
    ";
    }

    } // If Files

    } // For

    //Tally the size of all the files uploaded, check if it's over the ammount.

    $total_size=array_sum($_FILES['attachment']['size']);

    $max_file_total_bytes=$max_file_total*1024;

    If($total_size > $max_file_total_bytes) {
    $error.="The max size allowed for all your files is ".$max_file_total."kb
    ";
    }

    } // If Allowattach

    If($error) {

    $display_message=$error;

    } Else {

    If($use_subject_drop AND is_array($subjects) AND is_array($emails)) {
    $subject_count=count($subjects);
    $email_count=count($emails);

    If($subject_count==$email_count) {

    $myemail=$emails[$emailsubject];
    $emailsubject=$subjects[$emailsubject];

    }

    }


    $boundary=md5(uniqid(time()));

    //Little bit of security from people forging headers. People are mean sometimes

    $yourname=clean($yourname);
    $yourmessage=clean($yourmessage);
    $youremail=clean($youremail);

    //Headers

    $headers="From: ".$yourname." <".$youremail.">\n";
    $headers.="Reply-To: ".$yourname." <".$youremail.">\n";
    $headers.="MIME-Version: 1.0\n";
    $headers.="Content-Type: multipart/mixed; boundary=\"".$boundary."\"\n";
    $headers.="X-Sender: ".$_SERVER['REMOTE_ADDR']."\n";
    $headers.="X-Mailer: PHP/".phpversion()."\n";
    $headers.="X-Priority: ".$priority."\n";
    $headers.="Return-Path: <".$youremail.">\n";
    $headers.="This is a multi-part message in MIME format.\n";

    //Message

    $message = "--".$boundary."\n";
    $message.="Content-Type: text/plain; charset=\"iso-8859-1\"\n";
    $message.="Content-Transfer-Encoding: quoted-printable\n";
    $message.="\n";
    $message.="$yourmessage";
    $message.="\n";

    //Lets attach to something! =)

    If($allowattach > 0) {

    For($i=0; $i <= $allowattach-1; $i++) {

    If($_FILES['attachment']['name'][$i]) {

    $message.=phattach($_FILES['attachment']['tmp_name'][$i],$_FILES['attachment']['name'][$i]);

    }

    } //For

    } // If


    // End the message

    $message.="--".$boundary."--\n";

    // Send the completed message

    If(!mail($myemail,$emailsubject,$message,$headers) ) {

    Exit("An error has occured, please report this to the website administrator.\n");

    } Else {

    $sent_mail=true;

    }

    } // Else

    } // $_POST

    /*
    //================================================== ==============================
    * Start the form layout
    //================================================== ==============================
    :- Please know what your doing before editing below. Sorry for the stop and start php.. people requested that I use only html for the form..
    */
    ?>

    <!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" xml:lang="en" lang="en">
    <head>
    <meta http-equiv="Content-Language" content="en-us" />
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title><?php echo $websitename; ?> - Powered By phMailer</title>

    <style type="text/css">
    body{
    background-color:#FFFFFF;
    font-family: Verdana, Arial, sans-serif;
    font-size: 12pt;
    color: #000000;
    }

    .error_message{
    font-family: Verdana, Arial, sans-serif;
    font-size: 11pt;
    color: #FF0000;
    }

    .thanks_message{
    font-family: Verdana, Arial, sans-serif;
    font-size: 11pt;
    color: #000000;
    }

    a:link{
    text-decoration:none;
    color: #000000;
    }
    a:visited{
    text-decoration:none;
    color: #000000;
    }
    a:hover{
    text-decoration:none;
    color: #000000;
    }


    .table {
    border-collapse:collapse;
    border:1px solid #000000;
    width:500px;
    }

    .table_header{
    border:1px solid #070707;
    background-color:#C03738;
    font-family: Verdana, Arial, sans-serif;
    font-size: 11pt;
    font-weight:bold;
    color: #FFFFFF;
    text-align:center;
    padding:2px;
    }

    .attach_info{
    border:1px solid #070707;
    background-color:#EBEBEB;
    font-family: Verdana, Arial, sans-serif;
    font-size: 8pt;
    color: #000000;
    padding:4px;
    }


    .table_body{
    border:1px solid #070707;
    background-color:#EBEBEB;
    font-family: Verdana, Arial, sans-serif;
    font-size: 10pt;
    color: #000000;
    padding:2px;
    }


    .table_footer{
    border:1px solid #070707;
    background-color:#C03738;
    text-align:center;
    padding:2px;
    }


    input,select,textarea {
    font-family: Verdana, Arial, sans-serif;
    font-size: 10pt;
    color: #000000;
    background-color:#AFAEAE;
    border:1px solid #000000;
    }

    .copyright {
    border:0px;
    font-family: Verdana, Arial, sans-serif;
    font-size: 9pt;
    color: #000000;
    text-align:right;
    }

    form{
    padding:0px;
    margin:0px;
    }
    </style>


    <script type="text/javascript">
    var error="";
    e_regex = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,})+$/;

    function Checkit(theform) {

    if(theform.yourname.value=="") {
    error+="You did not enter your name\n";
    }

    if(theform.youremail.value=="") {
    error+="You did not enter your email\n";
    } else if(!e_regex.test(theform.youremail.value)) {
    error+="Invalid email address\n";
    }

    if(theform.yourmessage.value=="") {
    error+="You did not enter your message\n";
    }

    if(error) {
    alert('**The form returned the following errors:**\n\n' + error);
    error="";
    return false;
    } else {
    return true;
    }
    }
    </script>


    </head>
    <body>
    <?If($display_message) {?>

    <div align="center" class="error_message"><?=$display_message;?></div>



    <?}?>

    <?If($sent_mail!=true) {?>

    <form method="post" action="<?=$_SERVER['PHP_SELF'];?>" enctype="multipart/form-data" name="phmailer" onsubmit="return Checkit(this);">
    <table align="center" class="table">
    <tr>
    <td colspan="2" class="table_header" width="100%"><?=$websitename;?></td>
    </tr>
    <?If($allowattach > 0) {?>
    <tr>
    <td width="100%" class="attach_info" colspan="2">
    Valid Attachment Types: <?=$types?>

    Max size per file: <?=$max_file_size?>kb.

    Max combined file size: <?=$max_file_total?>kb.
    </td>
    </tr>
    <?}?>

    <tr>
    <td width="30%" class="table_body">Your Name:</td>
    <td width="70%" class="table_body"><input name="yourname" type="text" size="30" value="<?=stripslashes(htmlspecialchars($yourname) );?>" /><span class="error_message">*</span></td>
    </tr>
    <tr>
    <td width="30%" class="table_body">Your Email:</td>
    <td width="70%" class="table_body"><input name="youremail" type="text" size="30" value="<?=stripslashes(htmlspecialchars($youremail ));?>" /><span class="error_message">*</span></td>
    </tr>
    <tr>
    <td width="30%" class="table_body">Subject:</td>
    <td width="70%" class="table_body">

    <?If($use_subject_drop AND is_array($subjects)) {?>
    <select name="emailsubject" size="1">
    <?while(list($key,$val)=each($subjects)) {?>

    <option value="<?=intval($key);?>"><?=htmlspecialchars(str ipslashes($val));?></option>

    <?}?>
    </select>


    <?} Else {?>

    <input name="emailsubject" type="text" size="30" value="<?=stripslashes(htmlspecialchars($emailsubj ect));?>" />

    <?}?>

    </td>
    </tr>

    <?For($i=1;$i <= $allowattach; $i++) {?>
    <tr>
    <td width="30%" class="table_body">Attach File:</td>
    <td width="70%" class="table_body"><input name="attachment[]" type="file" size="30" /></td>
    </tr>
    <?}?>

    <tr>
    <td colspan="2" width="100%" class="table_body">Your Message:<span class="error_message">*</span>

    <div align="center">
    <textarea name="yourmessage" rows="8" cols="60"><?=stripslashes(htmlspecialchars($yourme ssage));?></textarea>
    </div>
    </td>
    </tr>
    <tr>
    <td colspan="2" width="100%" class="table_footer">
    <input type="hidden" name="submit" value="true" />
    <input type="submit" value="<?=$submitvalue;?>" />
    <input type="reset" value="<?=$resetvalue;?>" />
    </td>
    </tr>
    </table>
    </form>

    <?} Else {?>

    <div align="center" class="thanks_message"><?=$thanksmessage;?></div>





    <?}?>

    <?//Please leave this here.. it really dosen't make people hate you or make your site look bad.. ?>
    <table class="table" style="border:0px;" align="center">
    <tr>
    <td><div class="copyright">&copy;phMailer</div></td>
    </tr>
    </table>
    </body>
    </html>


    C'è anche un secondo file che dovrebbe essere solo per la verifica dell'email!

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.