Log in

View Full Version : Random Key for users



queerfm
04-25-2009, 12:51 PM
Hi I am trying to give every user there own access key however some users are getting the same random numbers of other users

Here is my code if someone can help that would be nice


//random number

function generate_cust_ID()

{

srand ((double)microtime()*1000000000);

$number=rand(1,9999999999);

return $number;

}



if (!isset($cust_ID))

{

$cust_ID=generate_cust_ID($number);

}


$accesskey = $cust_ID;



$result = @mysql_query("SELECT usid FROM accesscode WHERE usid= '$usid'");

if(!$result || !mysql_num_rows($result))

{



$query2="INSERT INTO accesscode (usid,date,rand) VALUES ('$usid','$MyTimeStamp','$accesskey')";

$results=mysql_query($query2) OR DIE("Your SQL: " . $query2 . "<br/> Produced this Error: " . mysql_error());

if (mysql_affected_rows() == 1) {

echo "<center><font='black'>Access On Facebook<BR/>Your access code is:<br/></font>";

}

$query = "SELECT * FROM accesscode WHERE usid = '$usid'";

$result = mysql_query($query);

$num = mysql_fetch_array($result);

$rand = $num[rand];

print $rand;
echo"<br/><a href='http://apps.new.facebook.com/' target='_blank'>Go To Application</a>";

echo "</center>";





}

else {



$query = "SELECT * FROM accesscode WHERE usid = '$usid'";

$result = mysql_query($query);

$num = mysql_fetch_array($result);

$rand = $num[rand];

echo "<center><font='black'>Access On Facebook<BR/>Your access code is:<br/></font>";

print $rand;
echo"<br/><a href='http://apps.new.facebook.com/' target='_blank'>Go To Application</a>";

echo "</center>";

}

forum_amnesiac
04-25-2009, 01:06 PM
Even with a random number generator you will still sometimes get the same number.

The first thing to do is to test the table to see if that ID has already been allocated, ie SELECT usid FROM accesscode WHERE usid= '$accesskey.

If there are any records returned then generate another number until it is definitely unique.