Buenas, junte 3 ejemplos que encontre en la red de generar seriales en 1 solo codigo, la cosa es que si estoy cojiendo 3 datos diferentes, no entiendo por que el script me repite seriales.
<?php
function RandomString($length=10,$uc=TRUE,$n=TRUE,$sc=FALSE)
{
//$source = 'abcdefghijklmnopqrstuvwxyz';
//if($uc==1) $source .= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
if($uc==1) $source .= 'abcdefghijklmnopqrstuvwxyz';
if($n==1) $source .= '1234567890';
//if($sc==1) $source .= '|@#~$%()=^*+[]{}-_';
if($length>0){
$rstr = "";
for($i=1; $i<=$length; $i++){
$rstr .= $source[$num-1];
}
}
return $rstr;
}
//echo "<font size=38>a".RandomString(6,TRUE,true,false)."</font>";
function generateKey($webroot,$shortname,$version){
for($i=0;$i<strlen($webroot);$i++){
$alpha = substr($webroot,$i,$i+1); $key1="";
$thisS=getValue($alpha);
$key1= $key1 + $thisS;
}
for($i=0;$i<strlen($shortname);$i++){
$alpha = substr($shortname,$i,1);
$key3="";
$key3= $key3 + $thisS;
}
for($i=0;$i<strlen($version);$i++){
$alpha = substr($version,$i,1); $key4 ="";
$key4 =$key4+$thisS;
}
$hkey1 = ($key1 + $key3 * $key4) * 9;
$hkey2 = ($key1 * $key3 - $key4) * 2;
$hkey3 = ($key1 - $key3 * $key4) * 3;
$hkey4 = ($key1 - $key3 - $key4) * 5;
return $ckey1."-".$ckey4;
}
function getValue($alpha){
switch($alpha){
case 'a': return 6678 ; break;
case 'b': return 1712 ; break;
case 'c': return 5513 ; break;
case 'd': return 6648 ; break;
case 'e': return 7626 ; break;
case 'f': return 4581 ; break;
case 'g': return 7221 ; break;
case 'h': return 4891 ; break;
case 'i': return 4441 ; break;
case 'j': return 8503 ; break;
case 'k': return 7567 ; break;
case 'l': return 8028 ; break;
case 'm': return 2074 ; break;
case 'n': return 1770 ; break;
case 'o': return 2442 ; break;
case 'p': return 3321 ; break;
case 'q': return 3899 ; break;
case 'r': return 2474 ; break;
case 's': return 5313 ; break;
case 't': return 7505 ; break;
case 'u': return 9808 ; break;
case 'v': return 3571 ; break;
case 'w': return 3352 ; break;
case 'x': return 3410 ; break;
case 'y': return 7058 ; break;
case 'z': return 5847 ; break;
case '0': return 15058 ; break;
case '1': return 89739 ; break;
case '2': return 27663 ; break;
case '3': return 53044 ; break;
case '4': return 74136 ; break;
case '5': return 89338 ; break;
case '6': return 17816 ; break;
case '7': return 93186 ; break;
case '8': return 84464 ; break;
case '9': return 58450 ; break;
default: return 1419 ; break;
}
}
function encrypt($string, $key) {
$result = '';
for($i=0; $i<strlen($string); $i++) {
$char = substr($string, $i, 1); $result.=$char;
}
}
for ($i = 0; $i < 90; $i++) {
$cod1 = "a".RandomString(6,TRUE,true,false);
$webroot = $cod1;
$cadena_encriptada = encrypt($cod1,$shortname);
$version = $cadena_encriptada;
echo $cod1." / ".$version." / ".$shortname." <br/>";
$serial = generateKey($webroot,$shortname,$version);
mysql_query("insert into seriales(qr,serial) values('$cod1','$serial')",$link); }
?>
Esta convinacion de 3 ejemplos fue lo mejor que encontre, si conocen de mas ejemplos de generar serial en php, se agradece...