I've created config.php
<?php
date_default_timezone_set('Asia/Singapore');
$DB_host = "localhost";
$DB_user = "";
$DB_pass = "";
$DB_name = "";
$mysqli = new MySQLi($DB_host,$DB_user,$DB_pass,$DB_name);
if($mysqli->connect_error){
die('Error : ('. $mysqli->connect_errno .') '. $mysqli->connect_error);
}
?>
And register.tpl
{include file='css/global_css.tpl'}
{include file='css/style_css.tpl'}
{include file='css/formvalidation_css.tpl'}
</head>
<body class="hold-transition skin-main sidebar-mini">
<div class="register-box">
<div class="register-logo">
</div>
<div class="register-box-body">
<div id="success"></div>
<div id="loader"></div>
<form id="register" method="post" accept-charset="UTF-8">
<p class="login-box-msg">Sign-up Free 5Hrs Trial!</p>
<input type="hidden" id="submitted" name="submitted" value="Register Account" />
<div class="summary-errors alert alert-danger alert-dismissible">
<p>Errors list below: </p>
<ul></ul>
</div>
<div class="form-group has-feedback">
<input id="full_name" type="text" class="form-control capitalize" name="full_name" value="{$full_name}"
autocomplete="off" ondrop="return false;" onpaste="return false;" placeholder="Full Name" required>
<label class="control-label" for="full_name">
<i class="glyphicon glyphicon-user form-control-feedback"></i>
</label>
</div>
<div class="form-group has-feedback">
<input id="user_name" type="text" class="form-control" name="user_name" value="{$user_name}"
autocomplete="off" ondrop="return false;" onpaste="return false;" placeholder="Username" required>
<label class="control-label" for="user_name">
<i class="glyphicon glyphicon-user form-control-feedback"></i>
</label>
</div>
<div class="form-group has-feedback">
<input id="user_email" type="email" class="form-control" name="user_email" value="{$user_email}"
autocomplete="off" ondrop="return false;" onpaste="return false;" placeholder="Email Address" required>
<label class="control-label" for="user_email">
<i class="glyphicon glyphicon-envelope form-control-feedback"></i>
</label>
</div>
<div class="form-group has-feedback">
<div class="input-group">
<input id="user_pass" type="password" class="form-control" name="user_pass" value="{$user_pass}"
autocomplete="off" ondrop="return false;" onpaste="return false;" placeholder="Password" required>
<a class="input-group-addon" href="javascript:;" onclick="toggle_password('user_pass');" id="showhide"><i class="glyphicon glyphicon-eye-open"></i></a>
</div>
<div class="progress password-meter" id="signuppwdMeter">
<div class="progress-bar"></div>
</div>
</div>
<div class="form-group has-feedback">
<div class="input-group">
<input id="user_pass2" type="password" class="form-control" name="user_pass2" value="{$user_pass2}"
autocomplete="off" ondrop="return false;" onpaste="return false;" placeholder="Confirm Password" required>
<a class="input-group-addon" href="javascript:;" onclick="new_password('user_pass2');" id="newshowhide"><i class="glyphicon glyphicon-eye-open"></i></a>
</div>
<div class="progress password-meter" id="chkpwdMeter">
<div class="progress-bar"></div>
</div>
</div>
<div class="form-group clearfix">
<a class="pull-right" href="/recovery">Password Recovery?</a>
</div>
<button type="submit" class="btn btn-info btn-block btn-lg" id="submitRegister" name="submitRegister">
<i class="glyphicon glyphicon-log-in"></i> Sign-up
</button>
</form>
<p>Have account already? Please go to <a href="/login">Sign In</a></p>
</div>
</div>
</div>
{include file='js/global_js.tpl'}
{include file='js/formvalidation_js.tpl'}
{include file='ajax/register.tpl'}
<script>
$('document').ready(function()
{
var loading = $('#loader').html('<div class="text-center padding-40">'+
'<img src="bootstrap/global/css/loader/ajax-loader.gif" aria-hidden="true"><i></i> Please! Wait while uploading your data...'+
'</div>').addClass('hide');
var $form = $('#register');
$form.ajaxForm({
type: "POST",
url: "{$base_url}/serverside/forms/register.php",
data: $form.serialize(),
beforeSend: function() {
loading.show().removeClass('hide');
$form.hide();
},
error: function(jqXHR, textStatus, errorThrown) {
$('#success').html(data);
$form.show();
},
success: function(data){
$('#success').html(data);
$form.trigger('reset');
$form[0].reset();
$form.show();
},
complete: function(){
loading.hide().addClass('hide');
$form.show();
}
});
});
</script>
And register.php
<?php
error_reporting(E_ERROR | E_PARSE);
ini_set('display_errors', '1');
require_once '../../includes/config.php';
$valid = true;
if(isset($POST['submitted'])) {
global $db, $prefix, $error_msg;
global $site_name, $site_email, $site_url, $validate;
$userip = $SERVER['REMOTE_ADDR'];
$sql = "SELECT * FROM limit_registration WHERE ipaddress = '".$userip."'";
$result = $mysqli->query($sql);
$count = $result->num_rows;
$rows = $result->fetch_assoc();
$timestamp = $rows['regtime'];
$oneday = 86400;
$time = time();
$onedaytime = $time + $oneday;
$time_check = $timestamp - $time;
$timedelete = $time - 100;
$dur = $db->calc_time($time_check);
$onedayreg = $dur['hours'] . " hour(s) and " . $dur['minutes'] . " minutes " . $dur['seconds'] . " seconds";
$deletetime = $db->sql_query("DELETE FROM limit_registration WHERE regtime < $time");
$user_name = $db->Sanitize(trim($_POST['user_name']));
$user_pass = $db->Sanitize(trim($_POST['user_pass']));
$user_pass2 = $db->Sanitize(trim($_POST['user_pass2']));
$full_name = $db->Sanitize(trim($_POST['full_name']));
$user_email = $db->Sanitize(trim($_POST['user_email']));
if(empty($user_name))
{
$db->HandleError('Username is empty!');
$valid = false;
}
else if(preg_match('/[^_a-z-A-Z-0-9 ]/', $user_name))
{
$db->HandleError('Invalid Username!');
$valid = false;
}
else
{
$username_chk = $db->sql_numrows($db->sql_query("SELECT user_name FROM users WHERE user_name='".$db->SanitizeForSQL($user_name)."'"));
if($username_chk > 0){
$db->HandleError($user_name.' is already taken!');
$valid = false;
}
}
if(empty($user_pass))
{
$db->HandleError('Password is empty!');
$valid = false;
}
else if(strlen($user_pass2)<8)
{
$db->HandleError('Yor Password is too short!');
$valid = false;
}
if(empty($user_pass))
{
$db->HandleError('Retype password!');
$valid = false;
}
else if(strlen($user_pass2)<8)
{
$db->HandleError('Yor Password is too short!');
$valid = false;
}
if((!empty($user_pass)) && (!empty($user_pass2)))
{
if($user_pass != $user_pass2)
{
$db->HandleError('Password doesn\'t match!');
$valid = false;
}
}
$email = $user_email;
$whitelist = array("gmail.com", "yahoo.com", "yahoo.com.ph", "live.com", "hotmail.com");
$allowed = $whitelist;
if(empty($user_email))
{
$db->HandleError('Email is empty!');
$valid = false;
}
else
if (filter_var($email, FILTER_VALIDATE_EMAIL))
{
$explodedEmail = explode('@', $email);
$domain = array_pop($explodedEmail);
if(!in_array($domain, $allowed))
{
$db->HandleError('Invalid Email address!
Accepted Email List
gmail.com, yahoo.com | .ph, live.com and hotmail.com');
$valid = false;
}
}
else if(!preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/i", $user_email))
{
$db->HandleError('Invalid Email address!');
$valid = false;
}
else
{
$email_chk = $db->sql_numrows($db->sql_query("SELECT user_email FROM users WHERE user_email='".$db->SanitizeForSQL($user_email)."'"));
if($email_chk > 0){
$db->HandleError($user_email.' is already registered!');
$valid = false;
}
}
$result_site_options = $db->sql_query("SELECT * FROM site_options");
$row_site_options = $db->sql_fetchrow($result_site_options);
$email_validation = $row_site_options['email_validation'];
$email_validation = 1;
$code = md5(time());
$code = rand(0,999999999);
if($email_validation == 1){
$is_validated = 0;
$subject = "Validation & login information";
}else{
$is_validated = 1;
$subject = "Your login information";
}
$message = "<html>
<head>
<title>$subject</title>
</head>
<body>
<h2>Welcome to ".$db->siteTitle."</h2>
<div>Please keep this email for your records. Your account information is as follows:</div>
<br />
<div>-------------------------------</div>
<div>Username: $user_name</div>
<div>Password: $user_pass</div>
<div>-------------------------------</div>
<br />";
if($email_validation == 1){
$message .= "<div>Your account is currently NOT active. Please click following link to activate your account now.</div>";
$message .= "<div><a href=\"http://".$db->sitename."?p=activate&code=$code&email=$user_email\"><strong>Click here to Activate</strong></a></div>";
$message .= "<br /><br />";
$message .= "<div> <strong> Click the following link or copy and paste into your browser </strong> </div>";
$message .= "<div><h2>http://".$db->sitename."?p=activate&code=$code&email=$user_email</h2></div>";
} else {
$message .= "<div>Your account is currently active. You can use it by visiting the following link:</div>";
$message .= "<div><a href=\"http://".$db->sitename."/login\">Click here to Login</a></div>";
}
$message .= "<br />";
$message .= "<div>Please do not forget your password as it has been encrypted in our database and we cannot retrieve it for you. However, should you forget your password you can request a new one which will be sent to your email.</div>";
$message .= "<div>Thank you for registering.</div>";
$message .= "<br />";
$message .= "<div>-------------------------------</div>";
$message .= "<div>- $db->siteTitle</div>";
$message .= "<div>http://".$db->sitename."</div>";
$message .= "<br /><br />";
$message .= "<div>This email was automatically generated.</div>";
$message .= "<div>Please do not respond to this email or it will be ignored.</div>";
$message .= "</body></html>";
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= "From: $db->siteTitle <no-reply@".$db->sitename.">".$eol;
$headers .= "Reply-To: $db->siteTitle <no-reply@".$db->sitename.">".$eol;
$headers .= "Return-Path: $db->siteTitle <no-reply@".$db->sitename.">".$eol;
if($valid)
{
if(!@mail($user_email, $subject, $message, $headers)){
if($email_validation = 1) {
$error = 1;
} else {
$error = 2;
}
} else {
if($email_validation = 1) {
$error = 3;
} else {
$error = 4;
}
}
if(!$timestamp < $time_check) {
$db->HandleError('Sorry! you cannot register at this time... '. $onedayreg);
$valid = false;
} else {
$insert_limit = $db->sql_query("INSERT INTO limit_registration (ipaddress, regtime) VALUES ('".$userip."', '".$onedaytime."')");
$password = $db->encrypt_key($db->encryptor('encrypt',$user_pass));
$auth_vpn = md5($user_pass);
$result = $db->sql_query("INSERT INTO users ( user_name, user_pass, auth_vpn, user_email, full_name, regdate, is_active, is_freeze, is_ban, code, is_validated)
VALUES
('".$db->SanitizeForSQL($user_name)."','".$db->SanitizeForSQL($password)."','".$db->SanitizeForSQL($auth_vpn)."',
'".$db->SanitizeForSQL($user_email)."','".$db->SanitizeForSQL($full_name)."', NOW(), 1, 0, 0,
'".$db->SanitizeForSQL($code)."', '".$db->SanitizeForSQL($is_validated)."')");
$insert_id = $db->sql_nextid();
$insert_profile = $db->sql_query("INSERT INTO users_profile (profile_id) VALUES ('".$insert_id."')");
$db->HandleSuccess('Successfully registered! Please confirm your e-mail address to activate your FREE account. THANK YOU!');
}
}
echo $db->GetSuccessMessage();
echo $db->GetErrorMessage();
}else{
if(empty($POST['user_name'])){
$db->RedirectToURL($db->base_url());
exit;
}
if(empty($POST['user_pass'])){
$db->RedirectToURL($db->base_url());
exit;
}
if(empty($POST['user_pass2'])){
$db->RedirectToURL($db->base_url());
exit;
}
if(empty($POST['full_name'])){
$db->RedirectToURL($db->base_url());
exit;
}
if(empty($_POST['user_email'])){
$db->RedirectToURL($db->base_url());
exit;
}
}
$result_site_options = $db->sql_query("SELECT * FROM site_options");
$row_site_options = $db->sql_fetchrow($result_site_options);
//echo $email_validation = $row_site_options['email_validation'];
$email_validation = $row_site_options['email_validation'];
?>
Says Successfully Created but not added to mysql users table