zas a znova: formular

Programovacie jazyky, rady, poradňa...
nejdeoto
Expert
Expert
Používateľov profilový obrázok
Príspevky: 195
Registrovaný: 23 máj 2006, 22:39
Bydlisko: Beluša
Kontaktovať používateľa:

zas a znova: formular

Príspevok od používateľa nejdeoto »

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?
vajda65
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1250
Registrovaný: 22 feb 2005, 16:36
Bydlisko: hojko.com
Kontaktovať používateľa:

Príspevok od používateľa vajda65 »

audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

jasné že sa dá: cez javascript. Hoď sem svoj formulár, a my ti ho upravíme..
nejdeoto
Expert
Expert
Používateľov profilový obrázok
Príspevky: 195
Registrovaný: 23 máj 2006, 22:39
Bydlisko: Beluša
Kontaktovať používateľa:

moj tvoreny cez form makeer

Príspevok od používateľa nejdeoto »

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&#268;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&#268; </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'>&#268;íslo ú&#269;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'> &nbsp;&nbsp; <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>&nbsp;</p>
</center>
</body>
</html>
Nizo
Amateur
Amateur
Príspevky: 12
Registrovaný: 24 dec 2004, 11:19

Príspevok od používateľa Nizo »

Nazdar sorry že sa tu pletiem do témy ale napadlo ma či sa dá odoslať formulár bez toho aby som klikol na submit. Je to možné?
roman3x
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 448
Registrovaný: 02 nov 2005, 18:30
Kontaktovať používateľa:

Príspevok od používateľa roman3x »

gwixt
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3912
Registrovaný: 24 sep 2005, 16:50
Bydlisko: Trash-Can

Príspevok od používateľa gwixt »

Nizo napísal:Nazdar sorry že sa tu pletiem do témy ale napadlo ma či sa dá odoslať formulár bez toho aby som klikol na submit. Je to možné?
stlac enter :wink:
Napísať odpoveď