php - How to validate captcha in registration form? -


i'm trying create registration form captcha, using this tutorial, don't know how validate captcha, can me?

<?php  include ('php/mysql_prisijungimas.php');   if (isset($_post['formsubmitted'])) {     $error = array();//declare array store error message       if (empty($_post['name'])) {//if no name has been supplied          $error[] = 'please enter name ';//add array "error"     } else {         $name = $_post['name'];//else assign variable     }      if (empty($_post['e-mail'])) {         $error[] = 'please enter email ';     } else {           if (preg_match("/^([a-za-z0-9])+([a-za-z0-9\._-])*@([a-za-z0-9_-])+([a-za-z0-9\._-]+)+$/", $_post['e-mail'])) {            //regular expression email validation             $email = $_post['e-mail'];         } else {              $error[] = 'your email address invalid  ';         }       }       if (empty($_post['password'])) {         $error[] = 'please enter password ';     } else {         $password = $_post['password'];     }       if (empty($error)) //send database if there's no error '      { // if everything's ok...          // make sure email address available:         $query_verify_email = "select * members  email ='$email'";         $result_verify_email = mysqli_query($dbc, $query_verify_email);         if (!$result_verify_email) {//if query failed ,similar if($result_verify_email==false)             echo ' database error occured ';         }          if (mysqli_num_rows($result_verify_email) == 0) { // if no previous user using email .               // create unique  activation code:             $activation = md5(uniqid(rand(), true));               $query_insert_user = "insert `members` ( `username`, `email`, `password`, `activation`) values ( '$name', '$email', '$password', '$activation')";               $result_insert_user = mysqli_query($dbc, $query_insert_user);             if (!$result_insert_user) {                 echo 'query failed ';             }              if (md5($_post['norobot']) == $_session['randomnr2'])   {          // here  place code executed if captcha test passes             echo "hey great , appears not robot";     }   else {           // here  place code executed if captcha test fails             echo "you're naughty robot!";     }              if (mysqli_affected_rows($dbc) == 1) { //if insert query successfull.                   // send email:                 $message = " activate account, please click on link:\n\n";                 $message .= website_url . '/activate.php?email=' . urlencode($email) . "&key=$activation";                 mail($email, 'registration confirmation', $message, 'from: test@gmail.com');                  // flush buffered output.                   // finish page:                 echo '<div class="success">thank registering! confirmation email has been sent '.$email.' please click on activation link activate account </div>';               } else { // if did not run ok.                 echo '<div class="errormsgbox">you not registered due system error. apologize inconvenience.</div>';             }          } else { // email address not available.             echo '<div class="errormsgbox" >that email address has been registered. </div>';         }      } else {//if "error" array contains error msg , display them    echo '<div class="errormsgbox"> <ol>';         foreach ($error $key => $values) {              echo '  <li>'.$values.'</li>';            }         echo '</ol></div>';      }      mysqli_close($dbc);//close db connection  } // end of main submit conditional.    ?>   <head>     <meta charset="utf-8">      <!-- remove line if use .htaccess -->     <meta http-equiv="x-ua-compatible" content="ie=edge,chrome=1">      <meta name="viewport" content="width=device-width">      <meta name="description" content="test.">     <meta name="author" content="test">      <title>test</title>       <link href='http://fonts.googleapis.com/css?family=open+sans:400italic,400,700' rel='stylesheet' type='text/css'>     <link rel="stylesheet" href="css/stilius.css">  </head> <body>  <div class="container">  <hr> <div class="home-page main">     <section class="grid-wrap" >         <header class="grid col-full">  <div class="right"> <form align="center" action="registracija.php" method="post" class="registration_form">   <fieldset>     <legend>registracijos forma </legend>       <div class="elements">       <label for="name">slapyvardis :</label>       <input type="text" id="name" name="name" size="25" />     </div>     <div class="elements">       <label for="e-mail">el. pa&#353;tas :</label>       <input type="text" id="e-mail" name="e-mail" size="25" />     </div>     <div class="elements">       <label for="password">slapta&#382;odis:</label>       <input type="password" id="password" name="password" size="25" />         <img src="captcha_code_file.php?rand=<?php echo rand(); ?>" id="captchaimg" > <label for="message">enter code above here :</label> <input id="6_letters_code" name="6_letters_code" type="text">        </div>     <div class="submit">      <input type="hidden" name="formsubmitted" value="true" />       <input type="submit" value="registruotis!" />     </div>   </fieldset> </form> </div>  </body> </html> 

captcha string created using image library.process below:

1- create random or dictionary word string 2- store anywhere [session in case before displaying registration form 3- compare session value user submit value

your code :

if (md5($_post['norobot']) == $_session['randomnr2']) {     echo 'you passed captcha test'; } 

$_session['randomnr2'] random string created , stored in session.before storing md5 encrypted.


Comments

Popular posts from this blog

php - Why I am getting the Error "Commands out of sync; you can't run this command now" -

linux - Does gcc have any options to add version info in ELF binary file? -

java - Are there any classes that implement javax.persistence.Parameter<T>? -