<?php
 require_once('recaptchalib.php');
 $privatekey = "your_private_key";
 $resp = recaptcha_check_answer ($privatekey,
 $_SERVER["REMOTE_ADDR"],
 $_POST["recaptcha_challenge_field"],
 $_POST["recaptcha_response_field"]);

if (!$resp->is_valid) {
 // What happens when the CAPTCHA was entered incorrectly
 die ("The reCAPTCHA wasn't entered correctly. Go back and try it again." .
 "(reCAPTCHA said: " . $resp->error . ")");
 } else {
 $username = $_POST['username'];
 $activation_code = $_POST['activation_code'];
 $db_host = "localhost";
 $db_name = "databasename";
 $db_use = "root";
 $db_pass = "password";
 $link = mysql_connect($db_host, $db_use, $db_pass);
 mysql_select_db($db_name, $link);
 $command = "UPDATE email_activation SET check_activation='$activation_code' WHERE username='$username' and activation='$activation_code'";
 $result = mysql_query($command);
 if ($result) {
 echo "Congratulations. Your membership has been activated …";
 }else{
 echo ("You've entered an invalid username / activation code – please retry");
 }
 }
 ?>
Member Avatar for diafol

Give us more info with regard to what you need to update in the member db. Also this is very dangerous SQL - not cleaned so you're vulnerable to SQL injection. Use mysql_real_escape_string if you insist on using mysql_* functions. Ohterwise switch to mysqli or PDO.

Here are my email_activation db:

CREATE TABLE 'email_activation' (
  'id' int(11) NOT NULL auto_increment,
  'username' varchar(25) NOT NULL,
  'email' varchar(25) NOT NULL,
  'password' varchar(25) NOT NULL,
  'activation' int(6) NOT NULL default '0',
  'check_activation' int(6) NOT NULL default '0',
  PRIMARY KEY  ('id')
) ;

and I want to add username,email,password,postcode into member db.

Member Avatar for diafol

Why don't you just have an extended members table with a status and activation_code fields?

looks like you need to run another query after user has activated the membership. He is a short example, note: mysql_insert_id() will be removed in future version of php.. As diafol suggested, you should move to pdo or mysqli

if(!$result){
    //Run Error code
}else{

    $new_id = mysql_insert_id();

    $new_member = mysql_query("INSERT INTO memebers_db(id, username, email, passcode, postal) VALUES('$id', '$username', '$email', '$passcode', '$postal') LIMIT 1");

    if(!$new_member){
        die('Internal Error!', mysql_error());
    }
}
Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.