<?php
session_start();
$error_list = array();
//delete session==========================================================================================
if( isset($_POST['delete_session']) )
{
session_destroy();
header('Location:page1.php');
}
//validation start===============================================================================
if( parameter_check(&$error_list) )
{
non_db_username_check(&$error_list);
password_check(&$error_list);
non_db_email_check(&$error_list);
mysql_data_check(&$error_list);
$_SESSION['error_list'][] = $error_list;
header('Location:page1.php');
}
else
{
$_SESSION['error_list'] = $error_list;
header('Location:page1.php');
}
//functions================================================================================================
function parameter_check(&$error_list)
{
if( (isset($_POST['submit']) ) &&
(!empty($_POST['username']) ) &&
(!empty($_POST['password']) ) &&
(!empty($_POST['password_verify']) ) &&
(!empty($_POST['email']) ) );
else
{
array_push(&$error_list, "<li>fill in all fields</li>");
return false;
}
return true;
}
//===========================================================================================================
function non_db_username_check(&$error_list)
{
$username = $_POST['username'];
//----------------------------------------
if( (strlen($username) >= 3) && (strlen($username) <= 15));
else
{
array_push(&$error_list, "<li>enter 3 - 15 characters username</li>");
return false;
}
//----------------------------------------
if( !ereg("^[A-Za-z0-9.-_]$",$username))
{
array_push(&$error_list, "<li>invalid characters in username</li>");
return false;
}
//----------------------------------------
return true;
}
//===========================================================================================================
function password_check(&$error_list)
{
$password1 = $_POST['password'];
$password2 = $_POST['password_verify'];
//----------------------------------------
if( strcmp($password1,$password2) != 0)
{
array_push(&$error_list, "<li>passwords dont match</li>");
return false;
}
//----------------------------------------
if( (strlen($password1) >= 5) && (strlen($password1) <= 20));
else
{
array_push(&$error_list, "<li>enter 3 - 20 characters password</li>");
return false;
}
//----------------------------------------
return true;
}
//===========================================================================================================
function non_db_email_check(&$error_list)
{
$email = $_POST['email'];
//----------------------------------------
if( ereg("^[^.] [A-Za-z0-9.-_]{1,20} @ [^@.][A-Za-z0-9.-_]{1,40}$",$email) );
else
{
array_push(&$error_list, "<li>email is invalid</li>");
return false;
}
//----------------------------------------
return true;
}
//===========================================================================================================
function mysql_data_check(&$error_list)
{
if( !empty($_SESSION['error_list']) )
{
$_SESSION['error_list'][] = &$error_list;
header('Location:page1.php');
return false;
}
//----------------------------------------
mysql_connect('localhost','root','root') or die(mysql_error());
mysql_select_db('users') or die(mysql_error());
$safe_username = mysql_real_escape_string($_POST['username']);
$safe_email = mysql_real_escape_string($_POST['email']);
$query_username = mysql_query("SELECT username FROM user_info WHERE username=\"$safe_username\"") or die(mysql_error());
$query_email = mysql_query("SELECT email FROM user_info WHERE email=\"$safe_email\"") or die(mysql_error());
//----------------------------------------
if( mysql_num_rows($query_username) != 0 )
array_push(&$error_list, "<li>username already exists</li>");
if( mysql_num_rows($query_email) !=0 )
array_push(&$error_list, "<li>email already exists</li>");
if( (mysql_num_rows($query_username) || mysql_num_rows($query_email)) !=0 ) return false;
//----------------------------------------
array_push(&$error_list, "registration data correct");
return true;
}
//===========================================================================================================
?>