Hi All,😕
just trying to connect PHP to mySQL but it doesnt seem to be working and im having awful trouble figuring out how to fix it.
essentially what im trying 2 do is, create a a registration screen through flash,that writes the users details to a mysql database.If anyone has past experience with this and would know how to help me, please i beg of you do, because im at my wits end with this!!!If you spot something wrong in my code also please let me know!!!THANKS SO MUCH IN ADVANCE! 🙂
my database code is:
CREATE TABLE user_auth (
userID int(20) unsigned NOT NULL auto_increment,
userName varchar(15) NOT NULL default '0',
userPassword varchar(32) NOT NULL default '0',
userMail varchar(255) NOT NULL default '',
userQuestion varchar(255) NOT NULL default '',
userAnswer varchar(255) NOT NULL default '',
PRIMARY KEY (userID),
UNIQUE KEY userMail(userMail),
UNIQUE KEY userName(userName)
) TYPE=MyISAM;
my PHP code is:
user_auth.php
<?php
error_reporting(E_ALL);
require_once('conf.inc.php');
require_once('function.php');
// --------------------
// registering new user
// --------------------
function register($username,$pass,$email,$question,$answer)
{
$username = trim($username);
$pass = trim($pass);
$email = trim($email);
$question = addslashes(trim($question));
$answer = addslashes(trim($answer));
$validEmail = valid_email($email);
$validName = valid_userName($username);
$validPass = valid_password($pass);
if(!$validName) return "error=invalid name";
if(!$validPass) return "error=invalid password";
if(!$validEmail) return "error=invalid email";
$pass = md5(trim($pass));
// all checks ok
$query = @mysql_query("INSERT INTO user_auth (userName,userPassword,userMail,userQuestion,userAnswer) VALUES "
."('$username','$pass','$email','$question','$answer')");
if(!$query)
{
return "error=" . mysql_error();
} else {
return "user=ok";
}
}
// -------------------
// login, check user
// -------------------
function login($username,$pass)
{
$username = trim($username);
$pass = md5(trim($pass));
$query = mysql_query("SELECT * FROM user_auth WHERE userName = '$username' AND userPassword = '$pass'");
return mysql_num_rows($query);
}
// ---------------
// forget password
// ---------------
function forget($email)
{
$email = trim($email);
$query = mysql_query("SELECT userName, userQuestion from user_auth WHERE userMail = '$email'");
if(mysql_num_rows($query)<1)
{
return "error=email not present into database";
}
$row = mysql_fetch_array($query);
return "userName=$row[userName]&userQuestion=" . stripslashes($row['userQuestion']);
}
// ---------------------
// generate new password
// ---------------------
function new_password($username,$email,$answer)
{
$username = trim($username);
$email = trim($email);
$answer = addslashes(trim($answer));
$query = mysql_query("SELECT * FROM user_auth WHERE userName = '$username' AND userMail = '$email' AND userAnswer = '$answer'");
if(mysql_num_rows($query) < 1)
{
return "error=wrong answer";
}
$rand_string = '';
// ---
// generating a random 8 chars length password
// sourced at phpbuilder.com
// ---
for($a=0;$a<7;$a++)
{
do
{
$newrand = chr(rand(0,256));
} while(!eregi("^[a-z0-9]$",$newrand));
$rand_string .= $newrand;
}
$pwd_to_insert = md5($rand_string);
$new_query = mysql_query("UPDATE user_auth SET userPassword = '$pwd_to_insert' WHERE userName = '$username' AND userMail = '$email'");
if(!$new_query)
{
return "error=unable to update value";
}
return "userName=$username&new_pass=$rand_string";
}
// -------
// choose
// -------
if(isset($HTTP_POST_VARS["action"]))
{
switch($HTTP_POST_VARS["action"])
{
case "register":
$result = register($HTTP_POST_VARS['username'],$HTTP_POST_VARS['pass'],$HTTP_POST_VARS['email'],$HTTP_POST_VARS['question'],$HTTP_POST_VARS['answer']);
print $result;
break;
case "login":
$result = login($HTTP_POST_VARS['username'],$HTTP_POST_VARS['pass']);
print "user=" . $result;
break;
case "forget":
$result = forget($HTTP_POST_VARS['email']);
print $result;
break;
case "new_password":
$result = new_password($HTTP_POST_VARS['username'],$HTTP_POST_VARS['email'],$HTTP_POST_VARS['answer']);
print $result;
break;
}
}
?>
//function.php
<?php
function valid_email($email)
{
$REGE = '/^[a-z0-9\_\.\-]+[\@]+[a-z0-9\-]+[\.]+[a-z0-9\.]{0,10}$/i';
// check if email is valid
if( !preg_match($REGE, $email))
{
return false;
} else if( gethostbyname($regs[2]) == $regs[2] )
{
// if host is invalid
return false;
} else
{
return true;
}
}
function valid_userName($name)
{
$REGU = '/^[a-z0-9\_\ ]+$/i';
// check valid input name
if(!preg_match($REGU, $name))
{
return false;
} else
{
return true;
}
}
function valid_password($pwd)
{
$REGP = '/^[a-z0-9\_\ ]{6,8}+$/i';
// check valid password
if(!preg_match($REGP, $pwd))
{
return false;
} else
{
return true;
}
}