<?php
function print_form(){
?>
<p><span class="required">*</span> Wymagane pola</p>
<form method="post" action="
<?php echo $_SERVER[?PHP_SELF?
];?>" id="uploadform" enctype="multipart/form-data">
<p><label for="namefrom">Imie <span class="required">*</span></label>
<input name="namefrom" id="namefrom" type="text" class="field" value="<?= $_SESSION['myForm']['namefrom']; ?>" tabindex="1"/></p>
<p><label for="company">Firma</label>
<input name="company" id="company" type="text" class="field" value="<?= $_SESSION['myForm']['company']; ?>" tabindex="2"/></p>
<p><label for="emailfrom">Adres email <span class="required">*</span></label>
<input name="emailfrom" id="emailfrom" type="text" class="field" value="<?= $_SESSION['myForm']['emailfrom']; ?>" tabindex="3"/></p>
<p><label for="phone">Telefon kontaktowy</label>
<input name="phone" id="phone" type="text" class="field" value="<?= $_SESSION['myForm']['phone']; ?>" tabindex="4"/></p>
<p><label for="subject">Temat <span class="required">*</span></label>
<input name="subject" id="subject" type="text" class="field" value="<?= $_SESSION['myForm']['subject']; ?>" tabindex="5"/></p>
<p><label for="comments">Tresc <span class="required">*</span></label>
<textarea name="comments" id="comments" rows="7" cols="10" class="field" tabindex="6"><?= $_SESSION['myForm']['comments']; ?></textarea></p>
<p><label for="attachment">Zalacz plik<br />(1 plik o maksymalnej wielkosci 8MB)</label>
<input name="attachment" id="attachment" type="file" tabindex="7">
<p><input type="submit" name="submit" id="submit" value="Send Email!" tabindex="8"/></p>
<p><input type="hidden" name="submitted" value="true" /></p>
</form>
<?php
}
// enquiry form validation
function process_form() {
// Read POST request params into global vars
// FILL IN YOUR EMAIL
$to = "your_mail@domena.pl";
$subject = trim($_POST['subject']); $namefrom = trim($_POST['namefrom']); $company = trim($_POST['company']); $phone = trim($_POST['phone']); $emailfrom = trim($_POST['emailfrom']); $comments = trim($_POST['comments']);
// Allowed file types. add file extensions WITHOUT the dot.
$allowtypes=array("jpg", "jpeg", "png", "gif", "bmp");
// Require a file to be attached: false = Do not allow attachments true = allow only 1 file to be attached
$requirefile="true";
// Maximum file size for attachments in KB NOT Bytes for simplicity. MAKE SURE your php.ini can handel it,
// post_max_size, upload_max_filesize, file_uploads, max_execution_time!
// 2048kb = 2MB, 1024kb = 1MB, 512kb = 1/2MB etc..
$max_file_size="8192";
// Thank you message
$thanksmessage="Twoja wiadomosc zostala wyslana.<br />Dziekujemy.";
$errors = array(); //Initialize error array
//checks for a name
if (empty($_POST['namefrom']) ) { $errors[]='Prosze podac imie.';
}
//checks for an email
if (empty($_POST['emailfrom']) ) { $errors[]='Prosze podac adres email.';
} else {
if (!eregi ('^[[:alnum:]][a-z0-9_\.\-]*@[a-z0-9\.\-]+\.[a-z]{2,4}$', stripslashes(trim($_POST['emailfrom'])))) { $errors[]='Prosze podac prawidlowy adres email.';
} // if eregi
} // if empty email
//checks for a subject
if (empty($_POST['subject']) ) { $errors[]='Prosze podac temat';
}
//checks for a message
if (empty($_POST['comments']) ) { $errors[]='Prosze podac tresc wiadomosci.';
}
// checks for required file
if($requirefile=="true") {
if($_FILES['attachment']['error']==4) {
$errors[]='Prosze zalaczyc plik.';
}
}
//checks attachment file
// checks that we have a file
if((!empty($_FILES["attachment"])) && ($_FILES['attachment']['error'] == 0)) { // basename -- Returns filename component of path
$filename = basename($_FILES['attachment']['name']); $filesize=$_FILES['attachment']['size'];
$max_bytes=$max_file_size*1024;
//Check if the file type uploaded is a valid file type.
$errors[]="Niedozwolone rozszerzenie: <strong>".$filename."</strong>";
// check the size of each file
} elseif($filesize > $max_bytes) {
$errors[]= "Twoj plik: <strong>".$filename."</strong> jest za duzy. Maksymalna wielkosc pliku to ".$max_file_size."KB.";
}
} // if !empty FILES
if (empty($errors)) { //If everything is OK
// send an email
// Obtain file upload vars
$fileatt = $_FILES['attachment']['tmp_name'];
$fileatt_type = $_FILES['attachment']['type'];
$fileatt_name = $_FILES['attachment']['name'];
// Headers
$headers = "From: $emailfrom";
// create a boundary string. It must be unique
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
// Add the headers for a file attachment
$headers .= "\nMIME-Version: 1.0\n" .
"Content-Type: multipart/mixed;\n" .
" boundary=\"{$mime_boundary}\"";
// Add a multipart boundary above the plain message
$message ="This is a multi-part message in MIME format.\n\n";
$message.="--{$mime_boundary}\n";
$message.="Content-Type: text/plain; charset=\"iso-8859-1\"\n";
$message.="Content-Transfer-Encoding: 7bit\n\n";
$message.="From: ".$namefrom."\n";
$message.="Company: ".$company."\n";
$message.="Phone: ".$phone."\n";
$message.="Comments: ".$comments."\n\n";
// Read the file to be attached ('rb' = read binary)
$file = fopen($fileatt,'rb');
// Base64 encode the file data
// Add file attachment to the message
$message .= "--{$mime_boundary}\n" .
"Content-Type: {$fileatt_type};\n" .
" name=\"{$fileatt_name}\"\n" .
//"Content-Disposition: attachment;\n" .
//" filename=\"{$fileatt_name}\"\n" .
"Content-Transfer-Encoding: base64\n\n" .
$data . "\n\n" .
"--{$mime_boundary}--\n";
}
// Send the completed message
$envs = array("HTTP_USER_AGENT", "REMOTE_ADDR", "REMOTE_HOST"); foreach ($envs as $env)
$message .= "$env: $_SERVER[$env]\n";
if(!mail($to,$subject,$message,$headers)) { exit("Wystapil blad, wiadomosc nie zostala wyslana. Prosimy o zgloszenie tego administratorowi strony.\n"); } else {
echo '<div id="formfeedback"><h3>Dziekujemy!</h3><p>'. $thanksmessage .'</p></div>'; unset($_SESSION['myForm']); print_form();
} // end of if !mail
} else { //report the errors
echo '<div id="formfeedback"><h3>Blad!</h3><p>Nastepujace bledy wystapily:<br />'; foreach ($errors as $msg) { //prints each error
} // end of foreach
echo '</p><p>Prosze sprobowac ponownie.</p></div>'; print_form();
} //end of if(empty($errors))
} // end of process_form()
?>foreach ( as $key => $value)
{
}