prowebdesigns.co.uk Posted January 28, 2007 Share Posted January 28, 2007 this is the auto generated form validation. pls tell me whats wrong my websites running on a windows ftp server so it wont let me chmod this is the code[code]<?phperror_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" => "Name", "text" => "Name", "type" => "text", "required" => "" ) ;$form_mail[] = array( "name" => "E-mail", "text" => "E-mail", "type" => "email", "required" => "" ) ;$form_mail[] = array( "name" => "Subject", "text" => "Subject", "type" => "select", "required" => "" ) ;$form_mail[] = array( "name" => "Message", "text" => "Message", "type" => "textarea", "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 CPANfunction 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 ;}?>[/code] Link to comment https://forums.phpfreaks.com/topic/36094-form-valid/ Share on other sites More sharing options...
karthikeyan_coder Posted January 28, 2007 Share Posted January 28, 2007 what is the problem? CHMOD? or problem in above code? if so what is the problem...you cannt chmod in windows system. but there is some ways to change a file permission. Link to comment https://forums.phpfreaks.com/topic/36094-form-valid/#findComment-171323 Share on other sites More sharing options...
prowebdesigns.co.uk Posted January 28, 2007 Author Share Posted January 28, 2007 either chmod or it i don't know but it doesnt work. Link to comment https://forums.phpfreaks.com/topic/36094-form-valid/#findComment-171348 Share on other sites More sharing options...
prowebdesigns.co.uk Posted January 28, 2007 Author Share Posted January 28, 2007 PLease can someone help me out! Link to comment https://forums.phpfreaks.com/topic/36094-form-valid/#findComment-171372 Share on other sites More sharing options...
Hypnos Posted January 28, 2007 Share Posted January 28, 2007 You posted 350 lines of PHP, and just asked what's wrong. What were you expecting?Give people more to work off of. What exactly doesn't work? Are there any errors? Live examples of this code running?Otherwise, you should be paying someone to do this. Link to comment https://forums.phpfreaks.com/topic/36094-form-valid/#findComment-171377 Share on other sites More sharing options...
prowebdesigns.co.uk Posted January 28, 2007 Author Share Posted January 28, 2007 [url=http://www.prowebdesigns.co.uk/contact.php]http://www.prowebdesigns.co.uk/contact.php[/url] thats the live exmapleAnd it sayssent but it doesn't give ANY emails to me. Link to comment https://forums.phpfreaks.com/topic/36094-form-valid/#findComment-171380 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.