Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/12/2005, 09:17
Avatar de lily_cv
lily_cv
 
Fecha de Ingreso: noviembre-2005
Mensajes: 165
Antigüedad: 18 años, 5 meses
Puntos: 0
Exclamación Problemas con NUmeros Aleatorios

hola chikos teng ste problema sobre numeros aleatorios
tengo el siguiente codigo para generarlos:

Código PHP:
<?php
    
include('conexionmacro.php');
    
$link=Conectarse();

function 
genera_password($longitud,$tipo="alfanumerico"){ 
    if (
$tipo=="numerico"){ 
        
$exp_reg="[^0-9]"
    } 
     
    return 
substr(eregi_replace($exp_reg""md5(rand())) . 
       
eregi_replace($exp_reg""md5(rand())) . 
       
eregi_replace($exp_reg""md5(rand())), 
       
0$longitud); 


do{
    
$Xgiro genera_password(4,"numerico");
    
$aux $Xgiro;
    
$Rsngiro1 mysql_query("select ngiro from giros",$link);
}while(
mysql_fetch_array($Rsngiro1)!=$aux);

$giro $aux;

$RScountcliente mysql_query("select id_cliente from clientes where id_cliente='$acceso2'",$link);
$fila mysql_fetch_array($RScountcliente);
mysql_free_result($RScountcliente);

$Xidcli $fila[0];
$RSinsertcliente mysql_query("insert into giros values ('$Xidcli','$acceso1','$acceso2','$monto_envio','$cuenta','$observacion','$fecha','$giro','$tipom','$estado','','$tcambio')",$link);
mysql_close($link);
?>

<script>
function Cargar(){
    var ng = parseInt(document.frm_datos.giro.value); 
    alert('Nº de Giro: '+ ng );
    document.frm_datos.action="giros_encomiendas.php";
    document.frm_datos.submit();
    window.open("imprimir.php?giro="+ng,'ventana1','height=700,width=550,resizable=yes,scrollbars=yes');
    }
</script>

<body onLoad="Cargar()">
<form action="giros_encomiendas.php" method="post" name="frm_datos">
<input type="hidden" name="txtpais" value="<? echo $txtpais;?>">
<input type="hidden" name="giro" value="<? echo $giro;?>">
</form>
</body>
</html>
ahora cuando yo muestro en un alert el numero aleatorio en momentos me muestra el numero que ha generado y me guarda ese numero a mi bd lo cual lo guarda bien, hasta alli todo bien.
Pero hay momentos en que me muestra un numero que no es, es decir solo lo muestra en el alert pero en mi base de datos guarda otro numero. alguien podria saber cual es mi error porfa necesito sus ayudas urgente.
Gracias de antemano.

Última edición por Cluster; 30/12/2005 a las 09:59