CAute, potreboval by som vysvetlit, ako vytvorit formular
Viem, je tu kopec tem, ale neviem si dat s tym rady..
dajme tomu, ze ma 15 roznych poli.....
"pole 1" az "pole 15"
a aby sa spraval formular taq, ze bez vyplnenia poli, ktore oznacim, polia 1.4.6.8.12
sa nedal formular oznacait
da sa to aj v dacom inom, ako php?
odoslat by sa to malo na mail, podla tem, nejaky mail.php
skusal som daco, ale, neari sa mi.
moze mi dakto pomoct?
zas a znova: formular
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
-
nejdeoto
Expert
- Príspevky: 195
- Registrovaný: 23 máj 2006, 22:39
- Bydlisko: Beluša
- Kontaktovať používateľa:
moj tvoreny cez form makeer
subor *.php
<?php
error_reporting(E_PARSE);
define("ADMIN_MAIL", "[email protected]");
define("HOST_NAME", $_SERVER['HTTP_HOST']);
define("PHP_SELF", $_SERVER['PHP_SELF']);
define("ERR_MISSING", "Missing required field : ");
define("ERR_EMAIL", "Please enter a valid e-mail address : ");
define("ERR_CREDIT_CARD_NUMBER", "Please check the credit card number : ");
define("ERR_CREDIT_CARD_EXPIRED", "Please check the credit card expiry date : ");
define("ERR_SELECT_UPLOAD", "Please select file : ");// recipient
define('FORM_RECIPIENT', '[email protected]');
// --- Array of Form Elements ---
$form_mail[] = array( "name" => "firma", "text" => "Firma", "type" => "text", "required" => "Required" ) ;
$form_mail[] = array( "name" => "adresa", "text" => "Adresa", "type" => "text", "required" => "Required" ) ;
$form_mail[] = array( "name" => "ico", "text" => "IČO", "type" => "text", "required" => "Required" ) ;
$form_mail[] = array( "name" => "dic", "text" => "DIČ", "type" => "text", "required" => "Required" ) ;
$form_mail[] = array( "name" => "tel", "text" => "tel.", "type" => "text", "required" => "" ) ;
$form_mail[] = array( "name" => "fax", "text" => "fax.", "type" => "text", "required" => "" ) ;
$form_mail[] = array( "name" => "mobil", "text" => "mobil", "type" => "text", "required" => "Required" ) ;
$form_mail[] = array( "name" => "email", "text" => "e-mail:", "type" => "text", "required" => "Required" ) ;
$form_mail[] = array( "name" => "web", "text" => "web", "type" => "text", "required" => "" ) ;
$form_mail[] = array( "name" => "cisuct", "text" => "Číslo účtu", "type" => "text", "required" => "Required" ) ;
// -- Detech Submit & SendMail --
$isHideForm = false;
if( $HTTP_POST_VARS["formmail_submit"] ){
$sErr = checkPass();
if( ! $sErr ){
sendFormMail( $form_mail, "") ;
$isHideForm = true;
$redirect = "";
if( strlen(trim($redirect)) ):
header( "Location:$redirect" );
exit;
endif;
}
}
?>
<?
// ===============================================
function sendFormMail( $form_mail, $sFileName = "" )
{
global $HTTP_POST_VARS ;
if (ereg('/freeformmaker.com/', HOST_NAME))
{
return;
}
$to = FORM_RECIPIENT;
$from = "NO_REPLY@" . HOST_NAME;
$subject = $HTTP_POST_VARS["esh_formmail_subject"];
// first stage keep it simple:
$sWhatToDo = $sFileName ? "mailandfile" : "" ; //$HTTP_POST_VARS["esh_formmail_mail_and_file"];
//$sFileName = $HTTP_POST_VARS["esh_formmail_save_record_file"];
$cc = $HTTP_POST_VARS["esh_formmail_cc"];
$bcc = $HTTP_POST_VARS["esh_formmail_bcc"];
$charset = $HTTP_POST_VARS["esh_formmail_charset"];
for( $i = 0; $i < count( $form_mail ); $i ++ ){
$value = trim( $HTTP_POST_VARS[ $form_mail[ $i ][ "name" ] ] );
$content .= $form_mail[ $i ][ "text" ] . " \t : " . $value ."\n";
$line .= remove_newline( $value ) . "\t" ;
if( strtolower("Sender's email") == strtolower($form_mail[ $i ][ "type" ]) ) {
//print "Type:[" . $form_mail[ $i ][ "type" ] . "] $value <br>\n";
$from = $value ;
}
};
$content .= "\n\nIP:" . getEnv( "REMOTE_ADDR" );
switch( strtolower($sWhatToDo) ){
case "mailandfile" :
mailAttachments( $to , $subject , $content, $from, $charset, $cc , $bcc ) ;
if( ! appendToFile( $sFileName, $line ) )
mailReport( $content . "\n\nWrite Form Mail to File Fail." );
break;
case "fileonly" :
if( ! appendToFile( $sFileName, $line ) )
mailReport( $content . "\n\nWrite Form Mail to File Fail.", $from );
break;
default :
mailAttachments( $to , $subject , $content, $from, $charset, $cc , $bcc ) ;
}
mailAutoResponse( $from ) ;
}
//------------------------------------------------------------------------------------------
function mailAutoResponse( $to ){
global $HTTP_POST_VARS ;
$subject = $HTTP_POST_VARS["esh_formmail_return_subject"];
$responseMsg = $HTTP_POST_VARS["esh_formmail_return_msg"];
if( $to && $responseMsg )
mail( $to, $subject, $responseMsg, "From: " . FORM_RECIPIENT);
}
//------------------------------------------------------------------------------------------
function mailReport( $content = "", $from = "" ){
mail( ADMIN_MAIL, "Error@" . HOST_NAME . PHP_SELF, $content, "From:$from" );
}
//------------------------------------------------------------------------------------------
function remove_newline( $str = "" ){
$newliner = "<!--esh_newline-->" ; // replace \r\n with $newliner ;
$newtaber = "<!--esh_newtaber-->" ; // replace \t with $newtaber ;
$str = ereg_replace( "\t", $newtaber, $str );
$str = ereg_replace( "\r\n", $newliner, $str );
return ereg_replace( "\n", $newliner, $str );
}
//------------------------------------------------------------------------------------------
function checkPass()
{
global $form_mail ;
global $HTTP_POST_VARS ;
global $HTTP_POST_FILES ;
for( $i = 0; $i < count( $form_mail ); $i ++ ){
$type = strtolower( $form_mail[ $i ][ "type" ] );
$value = trim( $HTTP_POST_VARS[ $form_mail[ $i ][ "name" ] ] );
$required = $form_mail[ $i ][ "required" ] ;
$text = stripslashes( $form_mail[ $i ][ "text" ] );
// simple check the field has something keyed in.
if( !strlen($value) && ( $required == "Required" ) && $type != "attachment" )
return ERR_MISSING . $text ;
// verify the special case
if(
( strlen($value) || $type == "attachment" )
&& $required == "Required"
):
switch( $type ){
case strtolower("Sender's Name") :
break;
case strtolower("Generic email"):
case strtolower("Sender's email"):
if( ! formIsEMail($value) ) return ERR_EMAIL . $text ;
break;
case "text" :
break;
case "textarea" :
break;
case "checkbox" :
case "radio" :
break;
case "select" :
break;
case "attachment" :
$upload_file = $HTTP_POST_FILES[ $form_mail[ $i ]["name"] ][ "tmp_name" ] ;
if( ! is_uploaded_file($upload_file) )
return ERR_SELECT_UPLOAD . $text;
break;
case strtolower("Date(MM-DD-YYYY)"):
break;
case strtolower("Date(MM-YYYY)"):
break;
case strtolower("CreditCard(MM-YYYY)"):
if( $value < date("Y-m") ) return ERR_CREDIT_CARD_EXPIRED . $text;
break;
case strtolower("CreditCard#"):
if( !formIsCreditNumber( $value ) ) return ERR_CREDIT_CARD_NUMBER . $text ;
break;
case strtolower("Time(HH:MM:SS)"):
break;
case strtolower("Time(HH:MM)"):
break;
default :
//return $sErrRequired . $form_mail[ $i ][ "text" ];
} // switch
endif;
} // for
return "" ;
}
//------------------------------------------------------------------------------------------
function formSelected( $var, $val )
{
echo ( $var == $val ) ? "selected" : "";
}
//------------------------------------------------------------------------------------------
function formChecked( $var, $val )
{
echo ( $var == $val ) ? "checked" : "";
}
//------------------------------------------------------------------------------------------
function formIsEMail( $email ){
return ereg( "^(.+)@(.+)\\.(.+)$", $email );
}
//------------------------------------------------------------------------------------------
function selectList( $name, $selectedValue, $start, $end, $prompt = "-Select-", $style = "" )
{
$tab = "\t" ;
print "<select name=\"$name\" $style>\n" ;
print $tab . "<option value=''>$prompt</option>\n" ;
$nLen = strlen( "$end" ) ;
$prefix_zero = str_repeat( "0", $nLen );
for( $i = $start; $i <= $end ; $i ++ ){
$stri = substr( $prefix_zero . $i, strlen($prefix_zero . $i)-$nLen, $nLen );
$selected = ( $stri == $selectedValue ) ? " selected " : "" ;
print $tab . "<option value=\"$stri\" $selected >$stri</option>\n" ;
}
print "</select>\n\n" ;
}
//------------------------------------------------------------------------------------------
// something like CreditCard.pm in perl CPAN
function formIsCreditNumber( $number ) {
$tmp = $number;
$number = preg_replace( "/[^0-9]/", "", $tmp );
if ( preg_match( "/[^\d\s]/", $number ) ) return 0;
if ( strlen($number) < 13 && 0+$number ) return 0;
for ($i = 0; $i < strlen($number) - 1; $i++) {
$weight = substr($number, -1 * ($i + 2), 1) * (2 - ($i % 2));
$sum += (($weight < 10) ? $weight : ($weight - 9));
}
if ( substr($number, -1) == (10 - $sum % 10) % 10 ) return $number;
return $number;
}
// -------------------------- Begin Mail Attachment Functions -----------------------------------------------------------------
function mailAttachments( $to = "" , $subject = "" , $message = "" , $from = "[email protected]" , $charset = "iso-8859-1", $cc = "" , $bcc = "" ){
global $HTTP_POST_FILES ;
if( ! strlen( trim( $to ) ) ) return "Missing \"To\" Field." ;
$boundary = "====_My_PHP_Form_Generator_" . md5( uniqid( srand( time() ) ) ) . "====";
// setup mail header infomation
$headers = "From: $from\r\n";
if ($cc) $headers .= "CC: $cc\r\n";
if ($bcc) $headers .= "BCC: $bcc\r\n";
$plainHeaders = $headers ; // for no attachments header
$headers .= "MIME-Version: 1.0\nContent-type: multipart/mixed;\n\tboundary=\"$boundary\"\n";
$txtMsg = "\nThis is a multi-part message in MIME format.\n" .
"\n--$boundary\n" .
"Content-Type: text/plain;\n\tcharset=\"$charset\"\n\n" . $message . "\n";
//create mulitipart attachments boundary
$sError = "" ;
$nFound = 0;
foreach( $HTTP_POST_FILES as $aFile ){
$sFileName = $aFile[ "tmp_name" ] ;
$sFileRealName = $aFile[ "name" ] ;
if( is_file( $sFileName ) ):
if( $fp = fopen( $sFileName, "rb" ) ) :
$sContent = fread( $fp, filesize( $sFileName ) );
$sFName = basename( $sFileRealName ) ;
$sMIME = getMIMEType( $sFName ) ;
$bPlainText = ( $sMIME == "text/plain" ) ;
if( $bPlainText ) :
$encoding = "" ;
else:
$encoding = "Content-Transfer-Encoding: base64\n";
$sContent = chunk_split( base64_encode( $sContent ) );
endif;
$sEncodeBody .= "\n--$boundary\n" .
"Content-Type: $sMIME;\n" .
"\tname=\"$sFName\"\n" .
$encoding .
"Content-Disposition: attachment;\n" .
"\tfilename=\"$sFName\"\n\n" .
$sContent . "\n" ;
$nFound ++;
else:
$sError .= "<br>File $sFileName can not open.\n" ;
endif; // if( $fp = fopen( $sFileName, "rb" ) ) :
else:
$sError .= "<br>File $sFileName doesn't exist.\n" ;
endif; //if( file_exists( $sFileName ) ):
}; // end foreach
$sEncodeBody .= "\n\n--$boundary--" ;
$sSource = $txtMsg . $sEncodeBody ;
$nFound ? mail( $to, $subject, $sSource, $headers )
: mail( $to, $subject, $message, $plainHeaders );
return $sError ;
}
/* ---------------------------------------------------------------------------------------------------
Parameters: $sFileName
Return :
1. "" : no extendsion name, or sFileName is empty
2. string: MIME Type name of array aMimeType's definition.
---------------------------------------------------------------------------------------------------*/
function getMIMEType( $sFileName = "" ) {
$sFileName = strtolower( trim( $sFileName ) );
if( ! strlen( $sFileName ) ) return "";
$aMimeType = array(
"txt" => "text/plain" ,
"pdf" => "application/pdf" ,
"zip" => "application/x-compressed" ,
"html" => "text/html" ,
"htm" => "text/html" ,
"avi" => "video/avi" ,
"mpg" => "video/mpeg " ,
"wav" => "audio/wav" ,
"jpg" => "image/jpeg " ,
"gif" => "image/gif" ,
"tif" => "image/tiff " ,
"png" => "image/x-png" ,
"bmp" => "image/bmp"
);
$aFile = split( "\.", basename( $sFileName ) ) ;
$nDiminson = count( $aFile ) ;
$sExt = $aFile[ $nDiminson - 1 ] ; // get last part: like ".tar.zip", return "zip"
return ( $nDiminson > 1 ) ? $aMimeType[ $sExt ] : "";
}
// End Mail Attachment Functions
//------------------------------------------------------------------------------------------
function appendToFile( $sFileName = "", $line = "" ){
if( !$sFileName || !$line ) return 0;
$hFile = fopen( "$sFileName", "a+w" );
$nBytes = 0;
if( $hFile ){
$nBytes = fputs( $hFile , trim($line)."\r\n" );
fclose( $hFile );
};
return $nBytes ;
}
?>
form.php
<?php include_once( "20060924-cbaf3a830b90d91c3576db9cded7089a.lib.php" ); ?>
<html>
<head>
<title>Free Form Maker - PHP Forms</title>
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-1">
<meta name="keywords" content="free forms php form maker">
<meta name="description" content="build php forms with unlimited fields automatic validation, file attachments and auto-responder.">
<style type='text/css'>
.form_title{
color : #000000;
font-size: 13px;
font-family: verdana, Geneva, Arial, Helvetica, sans-serif;
font-weight : bold;
}
.form_field {
font-size : 13px;
font-family : Verdana, Arial, Helvetica, sans-serif;
color : #474747;
font-weight : bold;
text-align:left;
}
.form_text{
font-size : 11px;
font-family : Verdana, Arial, Helvetica, sans-serif;
color : #000000;
}
.text_box{
font-size : 11px;
font-family : Verdana, Arial, Helvetica, sans-serif;
color : #000000;
width:200px;
}
.text_area{
font-size : 11px;
font-family : Verdana, Arial, Helvetica, sans-serif;
color : #000000;
width:200px;
height:60px;
}
.text_select{
font-size : 11px;
font-family : Verdana, Arial, Helvetica, sans-serif;
color : #000000;
}
.form_error{
font-size : 11px;
font-family : Verdana, Arial, Helvetica, sans-serif;
color : #ff0000;
font-weight : bold;
}
.copyright{
font-size : 11px;
font-family : Verdana, Arial, Helvetica, sans-serif;
color : #000000;
}
</style>
</head>
<body marginheight="0" marginwidth="0" leftmargin="0" topmargin="0">
<center>
<meta http-equiv="content-type" content="text/html; charset=">
<!-- Begin: Form Description -->
<br><br><br>
<table cellspacing='16' cellpadding='0' border='0' align='center' ><tr><td>
<font class='form_title'></font>
</td></tr></table>
<!-- End: Your FormMail's Description -->
<!-- Begin: Form -->
<?php
if( !$isHideForm ):
global $sErr ;
if( $sErr ) print "<br><a name='error'></a><center><font class='form_error' >$sErr</font></center><br>";
$starColor = $sErr ? "#ff0000" : "#000000";
$style=" class='form_text' ";
?>
<form name="frmFormMail" action="<?php print PHP_SELF ?>" method='post' enctype='multipart/form-data'>
<input type='hidden' name='formmail_submit' value='Y'>
<input type='hidden' name='esh_formmail_subject' value="Formulár z webstránky">
<input type='hidden' name='esh_formmail_return_subject' value="">
<input type='hidden' name='esh_formmail_return_msg' value="">
<table cellspacing='16' cellpadding='0' border='0' >
<tr>
<td class="form_field" valign='top' align='right'>Firma </td><td width='10' aligh='right' valign='top'> <font size='2' color='#ff0000'>*</font> </td>
<td class="form_text">
<input type="text" name="firma" value="<?php print HtmlSpecialChars( $HTTP_POST_VARS[ "firma" ] ); ?>" class='text_box'>
</td>
</tr>
<tr>
<td class="form_field" valign='top' align='right'>Adresa </td><td width='10' aligh='right' valign='top'> <font size='2' color='#ff0000'>*</font> </td>
<td class="form_text">
<input type="text" name="adresa" value="<?php print HtmlSpecialChars( $HTTP_POST_VARS[ "adresa" ] ); ?>" class='text_box'>
</td>
</tr>
<tr>
<td class="form_field" valign='top' align='right'>IČO </td><td width='10' aligh='right' valign='top'> <font size='2' color='#ff0000'>*</font> </td>
<td class="form_text">
<input type="text" name="ico" value="<?php print HtmlSpecialChars( $HTTP_POST_VARS[ "ico" ] ); ?>" class='text_box'>
</td>
</tr>
<tr>
<td class="form_field" valign='top' align='right'>DIČ </td><td width='10' aligh='right' valign='top'> <font size='2' color='#ff0000'>*</font> </td>
<td class="form_text">
<input type="text" name="dic" value="<?php print HtmlSpecialChars( $HTTP_POST_VARS[ "dic" ] ); ?>" class='text_box'>
</td>
</tr>
<tr>
<td class="form_field" valign='top' align='right'>tel. </td><td width='10' aligh='right' valign='top'></td>
<td class="form_text">
<input type="text" name="tel" value="<?php print HtmlSpecialChars( $HTTP_POST_VARS[ "tel" ] ); ?>" class='text_box'>
</td>
</tr>
<tr>
<td class="form_field" valign='top' align='right'>fax. </td><td width='10' aligh='right' valign='top'></td>
<td class="form_text">
<input type="text" name="fax" value="<?php print HtmlSpecialChars( $HTTP_POST_VARS[ "fax" ] ); ?>" class='text_box'>
</td>
</tr>
<tr>
<td class="form_field" valign='top' align='right'>mobil </td><td width='10' aligh='right' valign='top'> <font size='2' color='#ff0000'>*</font> </td>
<td class="form_text">
<input type="text" name="mobil" value="<?php print HtmlSpecialChars( $HTTP_POST_VARS[ "mobil" ] ); ?>" class='text_box'>
</td>
</tr>
<tr>
<td class="form_field" valign='top' align='right'>e-mail: </td><td width='10' aligh='right' valign='top'> <font size='2' color='#ff0000'>*</font> </td>
<td class="form_text">
<input type="text" name="email" value="<?php print HtmlSpecialChars( $HTTP_POST_VARS[ "email" ] ); ?>" class='text_box'>
</td>
</tr>
<tr>
<td class="form_field" valign='top' align='right'>web </td><td width='10' aligh='right' valign='top'></td>
<td class="form_text">
<input type="text" name="web" value="<?php print HtmlSpecialChars( $HTTP_POST_VARS[ "web" ] ); ?>" class='text_box'>
</td>
</tr>
<tr>
<td class="form_field" valign='top' align='right'>Číslo účtu </td><td width='10' aligh='right' valign='top'> <font size='2' color='#ff0000'>*</font> </td>
<td class="form_text">
<input type="text" name="cisuct" value="<?php print HtmlSpecialChars( $HTTP_POST_VARS[ "cisuct" ] ); ?>" class='text_box'>
</td>
</tr>
<tr><td colspan=3 align='center'><input type='submit' value='Submit'> <input type='button' value='Cancel' onclick="location.href='/';"></td></tr>
</table>
</form>
<!-- End: -->
<?php
if( $sErr ) print "<script language='javascript' type='text/javascript'>location.href='#error';</script>";;;
else: //!$isHideForm
print( "<br><br><hr><center><b>Your form has been sent. Thank you.</b><br><br><input type='button' value='Home' onclick=\"location.href='/';\"></center><br><br>" );
endif; //!$isHideForm
?>
<!-- footer -->
<br /><br />
<div class='form_copyr'>
Generated by : <a href="http://www.freeformmaker.com/" target="_blank">Free Form Maker</a>
</div>
<p> </p>
</center>
</body>
</html>
<?php
error_reporting(E_PARSE);
define("ADMIN_MAIL", "[email protected]");
define("HOST_NAME", $_SERVER['HTTP_HOST']);
define("PHP_SELF", $_SERVER['PHP_SELF']);
define("ERR_MISSING", "Missing required field : ");
define("ERR_EMAIL", "Please enter a valid e-mail address : ");
define("ERR_CREDIT_CARD_NUMBER", "Please check the credit card number : ");
define("ERR_CREDIT_CARD_EXPIRED", "Please check the credit card expiry date : ");
define("ERR_SELECT_UPLOAD", "Please select file : ");// recipient
define('FORM_RECIPIENT', '[email protected]');
// --- Array of Form Elements ---
$form_mail[] = array( "name" => "firma", "text" => "Firma", "type" => "text", "required" => "Required" ) ;
$form_mail[] = array( "name" => "adresa", "text" => "Adresa", "type" => "text", "required" => "Required" ) ;
$form_mail[] = array( "name" => "ico", "text" => "IČO", "type" => "text", "required" => "Required" ) ;
$form_mail[] = array( "name" => "dic", "text" => "DIČ", "type" => "text", "required" => "Required" ) ;
$form_mail[] = array( "name" => "tel", "text" => "tel.", "type" => "text", "required" => "" ) ;
$form_mail[] = array( "name" => "fax", "text" => "fax.", "type" => "text", "required" => "" ) ;
$form_mail[] = array( "name" => "mobil", "text" => "mobil", "type" => "text", "required" => "Required" ) ;
$form_mail[] = array( "name" => "email", "text" => "e-mail:", "type" => "text", "required" => "Required" ) ;
$form_mail[] = array( "name" => "web", "text" => "web", "type" => "text", "required" => "" ) ;
$form_mail[] = array( "name" => "cisuct", "text" => "Číslo účtu", "type" => "text", "required" => "Required" ) ;
// -- Detech Submit & SendMail --
$isHideForm = false;
if( $HTTP_POST_VARS["formmail_submit"] ){
$sErr = checkPass();
if( ! $sErr ){
sendFormMail( $form_mail, "") ;
$isHideForm = true;
$redirect = "";
if( strlen(trim($redirect)) ):
header( "Location:$redirect" );
exit;
endif;
}
}
?>
<?
// ===============================================
function sendFormMail( $form_mail, $sFileName = "" )
{
global $HTTP_POST_VARS ;
if (ereg('/freeformmaker.com/', HOST_NAME))
{
return;
}
$to = FORM_RECIPIENT;
$from = "NO_REPLY@" . HOST_NAME;
$subject = $HTTP_POST_VARS["esh_formmail_subject"];
// first stage keep it simple:
$sWhatToDo = $sFileName ? "mailandfile" : "" ; //$HTTP_POST_VARS["esh_formmail_mail_and_file"];
//$sFileName = $HTTP_POST_VARS["esh_formmail_save_record_file"];
$cc = $HTTP_POST_VARS["esh_formmail_cc"];
$bcc = $HTTP_POST_VARS["esh_formmail_bcc"];
$charset = $HTTP_POST_VARS["esh_formmail_charset"];
for( $i = 0; $i < count( $form_mail ); $i ++ ){
$value = trim( $HTTP_POST_VARS[ $form_mail[ $i ][ "name" ] ] );
$content .= $form_mail[ $i ][ "text" ] . " \t : " . $value ."\n";
$line .= remove_newline( $value ) . "\t" ;
if( strtolower("Sender's email") == strtolower($form_mail[ $i ][ "type" ]) ) {
//print "Type:[" . $form_mail[ $i ][ "type" ] . "] $value <br>\n";
$from = $value ;
}
};
$content .= "\n\nIP:" . getEnv( "REMOTE_ADDR" );
switch( strtolower($sWhatToDo) ){
case "mailandfile" :
mailAttachments( $to , $subject , $content, $from, $charset, $cc , $bcc ) ;
if( ! appendToFile( $sFileName, $line ) )
mailReport( $content . "\n\nWrite Form Mail to File Fail." );
break;
case "fileonly" :
if( ! appendToFile( $sFileName, $line ) )
mailReport( $content . "\n\nWrite Form Mail to File Fail.", $from );
break;
default :
mailAttachments( $to , $subject , $content, $from, $charset, $cc , $bcc ) ;
}
mailAutoResponse( $from ) ;
}
//------------------------------------------------------------------------------------------
function mailAutoResponse( $to ){
global $HTTP_POST_VARS ;
$subject = $HTTP_POST_VARS["esh_formmail_return_subject"];
$responseMsg = $HTTP_POST_VARS["esh_formmail_return_msg"];
if( $to && $responseMsg )
mail( $to, $subject, $responseMsg, "From: " . FORM_RECIPIENT);
}
//------------------------------------------------------------------------------------------
function mailReport( $content = "", $from = "" ){
mail( ADMIN_MAIL, "Error@" . HOST_NAME . PHP_SELF, $content, "From:$from" );
}
//------------------------------------------------------------------------------------------
function remove_newline( $str = "" ){
$newliner = "<!--esh_newline-->" ; // replace \r\n with $newliner ;
$newtaber = "<!--esh_newtaber-->" ; // replace \t with $newtaber ;
$str = ereg_replace( "\t", $newtaber, $str );
$str = ereg_replace( "\r\n", $newliner, $str );
return ereg_replace( "\n", $newliner, $str );
}
//------------------------------------------------------------------------------------------
function checkPass()
{
global $form_mail ;
global $HTTP_POST_VARS ;
global $HTTP_POST_FILES ;
for( $i = 0; $i < count( $form_mail ); $i ++ ){
$type = strtolower( $form_mail[ $i ][ "type" ] );
$value = trim( $HTTP_POST_VARS[ $form_mail[ $i ][ "name" ] ] );
$required = $form_mail[ $i ][ "required" ] ;
$text = stripslashes( $form_mail[ $i ][ "text" ] );
// simple check the field has something keyed in.
if( !strlen($value) && ( $required == "Required" ) && $type != "attachment" )
return ERR_MISSING . $text ;
// verify the special case
if(
( strlen($value) || $type == "attachment" )
&& $required == "Required"
):
switch( $type ){
case strtolower("Sender's Name") :
break;
case strtolower("Generic email"):
case strtolower("Sender's email"):
if( ! formIsEMail($value) ) return ERR_EMAIL . $text ;
break;
case "text" :
break;
case "textarea" :
break;
case "checkbox" :
case "radio" :
break;
case "select" :
break;
case "attachment" :
$upload_file = $HTTP_POST_FILES[ $form_mail[ $i ]["name"] ][ "tmp_name" ] ;
if( ! is_uploaded_file($upload_file) )
return ERR_SELECT_UPLOAD . $text;
break;
case strtolower("Date(MM-DD-YYYY)"):
break;
case strtolower("Date(MM-YYYY)"):
break;
case strtolower("CreditCard(MM-YYYY)"):
if( $value < date("Y-m") ) return ERR_CREDIT_CARD_EXPIRED . $text;
break;
case strtolower("CreditCard#"):
if( !formIsCreditNumber( $value ) ) return ERR_CREDIT_CARD_NUMBER . $text ;
break;
case strtolower("Time(HH:MM:SS)"):
break;
case strtolower("Time(HH:MM)"):
break;
default :
//return $sErrRequired . $form_mail[ $i ][ "text" ];
} // switch
endif;
} // for
return "" ;
}
//------------------------------------------------------------------------------------------
function formSelected( $var, $val )
{
echo ( $var == $val ) ? "selected" : "";
}
//------------------------------------------------------------------------------------------
function formChecked( $var, $val )
{
echo ( $var == $val ) ? "checked" : "";
}
//------------------------------------------------------------------------------------------
function formIsEMail( $email ){
return ereg( "^(.+)@(.+)\\.(.+)$", $email );
}
//------------------------------------------------------------------------------------------
function selectList( $name, $selectedValue, $start, $end, $prompt = "-Select-", $style = "" )
{
$tab = "\t" ;
print "<select name=\"$name\" $style>\n" ;
print $tab . "<option value=''>$prompt</option>\n" ;
$nLen = strlen( "$end" ) ;
$prefix_zero = str_repeat( "0", $nLen );
for( $i = $start; $i <= $end ; $i ++ ){
$stri = substr( $prefix_zero . $i, strlen($prefix_zero . $i)-$nLen, $nLen );
$selected = ( $stri == $selectedValue ) ? " selected " : "" ;
print $tab . "<option value=\"$stri\" $selected >$stri</option>\n" ;
}
print "</select>\n\n" ;
}
//------------------------------------------------------------------------------------------
// something like CreditCard.pm in perl CPAN
function formIsCreditNumber( $number ) {
$tmp = $number;
$number = preg_replace( "/[^0-9]/", "", $tmp );
if ( preg_match( "/[^\d\s]/", $number ) ) return 0;
if ( strlen($number) < 13 && 0+$number ) return 0;
for ($i = 0; $i < strlen($number) - 1; $i++) {
$weight = substr($number, -1 * ($i + 2), 1) * (2 - ($i % 2));
$sum += (($weight < 10) ? $weight : ($weight - 9));
}
if ( substr($number, -1) == (10 - $sum % 10) % 10 ) return $number;
return $number;
}
// -------------------------- Begin Mail Attachment Functions -----------------------------------------------------------------
function mailAttachments( $to = "" , $subject = "" , $message = "" , $from = "[email protected]" , $charset = "iso-8859-1", $cc = "" , $bcc = "" ){
global $HTTP_POST_FILES ;
if( ! strlen( trim( $to ) ) ) return "Missing \"To\" Field." ;
$boundary = "====_My_PHP_Form_Generator_" . md5( uniqid( srand( time() ) ) ) . "====";
// setup mail header infomation
$headers = "From: $from\r\n";
if ($cc) $headers .= "CC: $cc\r\n";
if ($bcc) $headers .= "BCC: $bcc\r\n";
$plainHeaders = $headers ; // for no attachments header
$headers .= "MIME-Version: 1.0\nContent-type: multipart/mixed;\n\tboundary=\"$boundary\"\n";
$txtMsg = "\nThis is a multi-part message in MIME format.\n" .
"\n--$boundary\n" .
"Content-Type: text/plain;\n\tcharset=\"$charset\"\n\n" . $message . "\n";
//create mulitipart attachments boundary
$sError = "" ;
$nFound = 0;
foreach( $HTTP_POST_FILES as $aFile ){
$sFileName = $aFile[ "tmp_name" ] ;
$sFileRealName = $aFile[ "name" ] ;
if( is_file( $sFileName ) ):
if( $fp = fopen( $sFileName, "rb" ) ) :
$sContent = fread( $fp, filesize( $sFileName ) );
$sFName = basename( $sFileRealName ) ;
$sMIME = getMIMEType( $sFName ) ;
$bPlainText = ( $sMIME == "text/plain" ) ;
if( $bPlainText ) :
$encoding = "" ;
else:
$encoding = "Content-Transfer-Encoding: base64\n";
$sContent = chunk_split( base64_encode( $sContent ) );
endif;
$sEncodeBody .= "\n--$boundary\n" .
"Content-Type: $sMIME;\n" .
"\tname=\"$sFName\"\n" .
$encoding .
"Content-Disposition: attachment;\n" .
"\tfilename=\"$sFName\"\n\n" .
$sContent . "\n" ;
$nFound ++;
else:
$sError .= "<br>File $sFileName can not open.\n" ;
endif; // if( $fp = fopen( $sFileName, "rb" ) ) :
else:
$sError .= "<br>File $sFileName doesn't exist.\n" ;
endif; //if( file_exists( $sFileName ) ):
}; // end foreach
$sEncodeBody .= "\n\n--$boundary--" ;
$sSource = $txtMsg . $sEncodeBody ;
$nFound ? mail( $to, $subject, $sSource, $headers )
: mail( $to, $subject, $message, $plainHeaders );
return $sError ;
}
/* ---------------------------------------------------------------------------------------------------
Parameters: $sFileName
Return :
1. "" : no extendsion name, or sFileName is empty
2. string: MIME Type name of array aMimeType's definition.
---------------------------------------------------------------------------------------------------*/
function getMIMEType( $sFileName = "" ) {
$sFileName = strtolower( trim( $sFileName ) );
if( ! strlen( $sFileName ) ) return "";
$aMimeType = array(
"txt" => "text/plain" ,
"pdf" => "application/pdf" ,
"zip" => "application/x-compressed" ,
"html" => "text/html" ,
"htm" => "text/html" ,
"avi" => "video/avi" ,
"mpg" => "video/mpeg " ,
"wav" => "audio/wav" ,
"jpg" => "image/jpeg " ,
"gif" => "image/gif" ,
"tif" => "image/tiff " ,
"png" => "image/x-png" ,
"bmp" => "image/bmp"
);
$aFile = split( "\.", basename( $sFileName ) ) ;
$nDiminson = count( $aFile ) ;
$sExt = $aFile[ $nDiminson - 1 ] ; // get last part: like ".tar.zip", return "zip"
return ( $nDiminson > 1 ) ? $aMimeType[ $sExt ] : "";
}
// End Mail Attachment Functions
//------------------------------------------------------------------------------------------
function appendToFile( $sFileName = "", $line = "" ){
if( !$sFileName || !$line ) return 0;
$hFile = fopen( "$sFileName", "a+w" );
$nBytes = 0;
if( $hFile ){
$nBytes = fputs( $hFile , trim($line)."\r\n" );
fclose( $hFile );
};
return $nBytes ;
}
?>
form.php
<?php include_once( "20060924-cbaf3a830b90d91c3576db9cded7089a.lib.php" ); ?>
<html>
<head>
<title>Free Form Maker - PHP Forms</title>
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-1">
<meta name="keywords" content="free forms php form maker">
<meta name="description" content="build php forms with unlimited fields automatic validation, file attachments and auto-responder.">
<style type='text/css'>
.form_title{
color : #000000;
font-size: 13px;
font-family: verdana, Geneva, Arial, Helvetica, sans-serif;
font-weight : bold;
}
.form_field {
font-size : 13px;
font-family : Verdana, Arial, Helvetica, sans-serif;
color : #474747;
font-weight : bold;
text-align:left;
}
.form_text{
font-size : 11px;
font-family : Verdana, Arial, Helvetica, sans-serif;
color : #000000;
}
.text_box{
font-size : 11px;
font-family : Verdana, Arial, Helvetica, sans-serif;
color : #000000;
width:200px;
}
.text_area{
font-size : 11px;
font-family : Verdana, Arial, Helvetica, sans-serif;
color : #000000;
width:200px;
height:60px;
}
.text_select{
font-size : 11px;
font-family : Verdana, Arial, Helvetica, sans-serif;
color : #000000;
}
.form_error{
font-size : 11px;
font-family : Verdana, Arial, Helvetica, sans-serif;
color : #ff0000;
font-weight : bold;
}
.copyright{
font-size : 11px;
font-family : Verdana, Arial, Helvetica, sans-serif;
color : #000000;
}
</style>
</head>
<body marginheight="0" marginwidth="0" leftmargin="0" topmargin="0">
<center>
<meta http-equiv="content-type" content="text/html; charset=">
<!-- Begin: Form Description -->
<br><br><br>
<table cellspacing='16' cellpadding='0' border='0' align='center' ><tr><td>
<font class='form_title'></font>
</td></tr></table>
<!-- End: Your FormMail's Description -->
<!-- Begin: Form -->
<?php
if( !$isHideForm ):
global $sErr ;
if( $sErr ) print "<br><a name='error'></a><center><font class='form_error' >$sErr</font></center><br>";
$starColor = $sErr ? "#ff0000" : "#000000";
$style=" class='form_text' ";
?>
<form name="frmFormMail" action="<?php print PHP_SELF ?>" method='post' enctype='multipart/form-data'>
<input type='hidden' name='formmail_submit' value='Y'>
<input type='hidden' name='esh_formmail_subject' value="Formulár z webstránky">
<input type='hidden' name='esh_formmail_return_subject' value="">
<input type='hidden' name='esh_formmail_return_msg' value="">
<table cellspacing='16' cellpadding='0' border='0' >
<tr>
<td class="form_field" valign='top' align='right'>Firma </td><td width='10' aligh='right' valign='top'> <font size='2' color='#ff0000'>*</font> </td>
<td class="form_text">
<input type="text" name="firma" value="<?php print HtmlSpecialChars( $HTTP_POST_VARS[ "firma" ] ); ?>" class='text_box'>
</td>
</tr>
<tr>
<td class="form_field" valign='top' align='right'>Adresa </td><td width='10' aligh='right' valign='top'> <font size='2' color='#ff0000'>*</font> </td>
<td class="form_text">
<input type="text" name="adresa" value="<?php print HtmlSpecialChars( $HTTP_POST_VARS[ "adresa" ] ); ?>" class='text_box'>
</td>
</tr>
<tr>
<td class="form_field" valign='top' align='right'>IČO </td><td width='10' aligh='right' valign='top'> <font size='2' color='#ff0000'>*</font> </td>
<td class="form_text">
<input type="text" name="ico" value="<?php print HtmlSpecialChars( $HTTP_POST_VARS[ "ico" ] ); ?>" class='text_box'>
</td>
</tr>
<tr>
<td class="form_field" valign='top' align='right'>DIČ </td><td width='10' aligh='right' valign='top'> <font size='2' color='#ff0000'>*</font> </td>
<td class="form_text">
<input type="text" name="dic" value="<?php print HtmlSpecialChars( $HTTP_POST_VARS[ "dic" ] ); ?>" class='text_box'>
</td>
</tr>
<tr>
<td class="form_field" valign='top' align='right'>tel. </td><td width='10' aligh='right' valign='top'></td>
<td class="form_text">
<input type="text" name="tel" value="<?php print HtmlSpecialChars( $HTTP_POST_VARS[ "tel" ] ); ?>" class='text_box'>
</td>
</tr>
<tr>
<td class="form_field" valign='top' align='right'>fax. </td><td width='10' aligh='right' valign='top'></td>
<td class="form_text">
<input type="text" name="fax" value="<?php print HtmlSpecialChars( $HTTP_POST_VARS[ "fax" ] ); ?>" class='text_box'>
</td>
</tr>
<tr>
<td class="form_field" valign='top' align='right'>mobil </td><td width='10' aligh='right' valign='top'> <font size='2' color='#ff0000'>*</font> </td>
<td class="form_text">
<input type="text" name="mobil" value="<?php print HtmlSpecialChars( $HTTP_POST_VARS[ "mobil" ] ); ?>" class='text_box'>
</td>
</tr>
<tr>
<td class="form_field" valign='top' align='right'>e-mail: </td><td width='10' aligh='right' valign='top'> <font size='2' color='#ff0000'>*</font> </td>
<td class="form_text">
<input type="text" name="email" value="<?php print HtmlSpecialChars( $HTTP_POST_VARS[ "email" ] ); ?>" class='text_box'>
</td>
</tr>
<tr>
<td class="form_field" valign='top' align='right'>web </td><td width='10' aligh='right' valign='top'></td>
<td class="form_text">
<input type="text" name="web" value="<?php print HtmlSpecialChars( $HTTP_POST_VARS[ "web" ] ); ?>" class='text_box'>
</td>
</tr>
<tr>
<td class="form_field" valign='top' align='right'>Číslo účtu </td><td width='10' aligh='right' valign='top'> <font size='2' color='#ff0000'>*</font> </td>
<td class="form_text">
<input type="text" name="cisuct" value="<?php print HtmlSpecialChars( $HTTP_POST_VARS[ "cisuct" ] ); ?>" class='text_box'>
</td>
</tr>
<tr><td colspan=3 align='center'><input type='submit' value='Submit'> <input type='button' value='Cancel' onclick="location.href='/';"></td></tr>
</table>
</form>
<!-- End: -->
<?php
if( $sErr ) print "<script language='javascript' type='text/javascript'>location.href='#error';</script>";;;
else: //!$isHideForm
print( "<br><br><hr><center><b>Your form has been sent. Thank you.</b><br><br><input type='button' value='Home' onclick=\"location.href='/';\"></center><br><br>" );
endif; //!$isHideForm
?>
<!-- footer -->
<br /><br />
<div class='form_copyr'>
Generated by : <a href="http://www.freeformmaker.com/" target="_blank">Free Form Maker</a>
</div>
<p> </p>
</center>
</body>
</html>