bindiya Posted March 11, 2011 Share Posted March 11, 2011 I have a contact form in html with captcha image.The Captcha image is randomnly created using a php file and stored in a session variable. But when i check whether the session (captcha variable) and the use entered captcha value i dont get answer. posting my code below contact.php(html's action page) if(isset($_POST['csubmit'])) { $name=$_POST['cname']; $lname=$_POST['last_name']; $email=$_POST['cemail']; $tele=$_POST['telephone']; $comments=$_POST['comments']; $date_posted=date('Y:m:d H:i:s');$status='Inactive'; $security_code=$_POST['security_code']; //echo $security_code; //echo"<br>". $_SESSION['security_code']; //$_SESSION['security_code'] = $code; //echo $_SESSION['security_code']; //if( $_SESSION['security_code'] == $_POST['security_code'] && !empty($_SESSION['security_code'] ) ) { //if(!(empty($_SESSION['security_code'] ) ||strcmp($_SESSION['security_code'], $_POST['security_code']) != 0)) //if(empty($_SESSION['security_code'] ) || $_POST['security_code']) != 0) //if( $_SESSION['security_code'] == $_POST['security_code'] && !empty($_SESSION['security_code'] ) ) { $sql="insert into contact_us(first_name,last_name,email,contact_number,comments,status,date_posted) values('$name','$lname','$email','$tele','$comments','$status','$date_posted')"; $res=mysql_query($sql); $mail_to_user ="[email protected]"; $mail_subject_user="Comments "; $mail_body_user='<table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td colspan="3"> Sir,<br> Please see the comments </td> </tr> <tr> <td width="20%"> </td> <td width="14%"><strong>First Name</strong></td> <td width="66%">'.$_POST[cname].'</td> </tr> <tr> <td> </td> <td><strong>Last Name</strong></td> <td>'.$_POST[last_name].'</td> </tr> <tr> <td> </td> <td><strong>Email</strong></td> <td>'.$_POST[cemail].'</td> </tr> <tr> <td> </td> <td><strong>Telephone Number</strong></td> <td>'.$_POST[telephone].'</td> </tr> <tr> <td> </td> <td><strong>Comments</strong></td> <td>'.$_POST[comments].'</td> </tr> <tr> <td> </td> <td> </td> <td> </td> </tr> </table>'; $headers_user="MIME-Verson:1.0\n"; $headers_user.="Content-Type: text/html;charset=iso-8859-1\n"; $headers_user.="Content-Transfer-Encoding: 8bit\n"; $headers_user.="From: [email protected]\n"; $headers_user .="Bcc: [email protected]\r\n"; mail($mail_to_user,$mail_subject_user,$mail_body_user,$headers_user); echo "<script language='javascript'>alert('Message has been sent to the Administrator.');</script>"; //=================email to user $mail_to_user1 = $_POST['cemail']; $mail_subject_user1 = "Thanks for contacting with us "; $mail_body_user1 ='<table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td> Sir,<br> We are very much glad to hear from you. We will contact you soon. <br/><br/> Thanks, <br/>Cusrtomer Care</td> <td> </td> <td> </td> </tr> </table>'; $headers_user1="MIME-Verson:1.0\n"; $headers_user1.="Content-Type: text/html;charset=iso-8859-1\n"; $headers_user1.="Content-Transfer-Encoding: 8bit\n"; $headers_user1.="From: [email protected] "; mail($mail_to_user1,$mail_subject_user1,$mail_body_user1,$headers_user1); //header('Location:contact_us.html'); echo "<script> self.location='contact_us.html';</script>"; //} /*else{ //Note: the captcha code is compared case insensitively. //if you want case sensitive match, update the check above to // strcmp() //unset($_SESSION['security_code']); echo"<script language='javascript'>alert('The security code you entered is not correct');</script>"; echo "<script> self.location='contact_us.html';</script>"; //header('Location:contact_us.html'); // $errors .= "\n The captcha code does not match!"; }*/ /*else{ ?> <script language="javascript"> alert("The security code you entered is not correct"); history.go(-1); </script> <?php } */ } unset($_SESSION['security_code']); html form=========contact_us.html <form name='contact_form' id='contact_form' method="post" action="contact.php"> <table width="518" height="341" align="center" border="0" style=" vertical-align:top"> <tbody><tr><td width="202" height="28" valign="middle" align="left"> <label for="first_name"><span class="style26 style20">First Name *</span></label> </td> <td width="14" align="center" valign="middle">:</td> <td width="448" valign="top" > <div class="con" ><input type="text" size="30" maxlength="50" name="cname" id="cname" class="contact_text"> </div> </td> </tr> <tr> <td valign='middle'> <label for="last_name"><span class="style26 style20">Last Name *</span></label> </td> <td align="center" valign="middle">:</td> <td valign="top"> <div class="con" > <input type="text" size="30" maxlength="50" name="last_name" id="last_name" class="contact_text"></div> </td> </tr> <tr> <td valign="middle"> <label for="email"><span class="style26 style20">Email Address *</span></label> </td> <td align="center" valign="middle">:</td> <td valign="top"><div class="con" ><input type="text" size="30" maxlength="50" name="cemail" id="cemail" class="contact_text"/></div></td> </tr> <tr> <td valign="middle"> <label for="telephone"><span class="style26 style20">Telephone Number</span></label> </td> <td align="center" valign="middle">:</td> <td valign="top"> <div class="con" > <input type="text" size="30" maxlength="80" name="telephone" id="telephone" class="contact_text" > </div> </td> </tr> <tr> <td height="123" valign="middle"> <label for="comments"><span class="style26 style20">Comments *</span></label> </td> <td align="center" valign="middle">:</td> <td valign="middle"> <div class="cmn_ct"><textarea rows="6" cols="25" maxlength="1000" name="comments" id="comments" onfocus=" this.value = this.value.replace(/\s+/g,'');" onblur="checkLength(this.value,0,100);" class="cmn_text"></textarea></div> </td> </tr> <tr><td><label for="security code"><span class="style26 style20">Security Code *</span></label></td><td align="center" valign="middle"></td><td><img src="CaptchaSecurityImages.php?width=100&height=40&characters=5" alt="security_code" height="22" id="security_code" name='security_code' class='secuimage'/><br /> <div class="se_code"><input id="security_code" name="security_code" type="text" class="secuInput" /></div> <center></td> <tr> <td height="26" colspan="3" style="text-align: center;"> <table width=69% align="right"> <tr><td align='left'> <input type="submit" value="Submit" name="csubmit" onclick="return verify();"> </td></tr></table> </td> </tr></table></form></p> CaptchaSecurityImages.php <?php class CaptchaSecurityImages { var $font = 'monofont.ttf'; function generateCode($characters) { /* list all possible characters, similar looking characters and vowels have been removed */ $possible = '23456789bcdfghjkmnpqrstvwxyz'; $code = ''; $i = 0; while ($i < $characters) { $code .= substr($possible, mt_rand(0, strlen($possible)-1), 1); $i++; } return $code; } function CaptchaSecurityImages($width='120',$height='40',$characters='6') { $code = $this->generateCode($characters); /* font size will be 75% of the image height */ $font_size = $height * 0.75; $image = @imagecreate($width, $height) or die('Cannot initialize new GD image stream'); /* set the colours */ $background_color = imagecolorallocate($image, 255, 255, 255); $text_color = imagecolorallocate($image, 20, 40, 100); $noise_color = imagecolorallocate($image, 100, 120, 180); /* generate random dots in background */ for( $i=0; $i<($width*$height)/3; $i++ ) { imagefilledellipse($image, mt_rand(0,$width), mt_rand(0,$height), 1, 1, $noise_color); } /* generate random lines in background */ for( $i=0; $i<($width*$height)/150; $i++ ) { imageline($image, mt_rand(0,$width), mt_rand(0,$height), mt_rand(0,$width), mt_rand(0,$height), $noise_color); } /* create textbox and add text */ $textbox = imagettfbbox($font_size, 0, $this->font, $code) or die('Error in imagettfbbox function'); $x = ($width - $textbox[4])/2; $y = ($height - $textbox[5])/2; imagettftext($image, $font_size, 0, $x, $y, $text_color, $this->font , $code) or die('Error in imagettftext function'); /* output captcha image to browser */ header('Content-Type: image/jpeg'); imagejpeg($image); imagedestroy($image); $_SESSION['security_code'] = $code; } } $width = isset($_GET['width']) ? $_GET['width'] : '120'; $height = isset($_GET['height']) ? $_GET['height'] : '40'; $characters = isset($_GET['characters']) && $_GET['characters'] > 1 ? $_GET['characters'] : '6'; $captcha = new CaptchaSecurityImages($width,$height,$characters); ?> I just want to know how will i pass a session variable frm php to html thru js and from there to the php page where action of the html page occurs? Link to comment https://forums.phpfreaks.com/topic/230320-passing-a-variable-from-php-to-htmljavascrippt/ Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.