Foros del Web » Programando para Internet » PHP »

no valida

Estas en el tema de no valida en el foro de PHP en Foros del Web. hola, tengo este script Código PHP: <?php include( '../connect.php' ); $codigo = $_GET [ 'codigo' ]; $sql = "SELECT * FROM bonos where codigo = '" . $codigo . "'" ; $validacion ...
  #1 (permalink)  
Antiguo 24/01/2007, 14:30
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 23 años
Puntos: 20
no valida

hola, tengo este script
Código PHP:
<?php

include('../connect.php');

$codigo=$_GET['codigo'];

$sql="SELECT * FROM bonos where codigo = '".$codigo."'";
$validacion=mysql_query($sql) or die (mysql_error());

if(
mysql_num_rows($validacion)>0){


    while (
$row=mysql_fetch_assoc($validacion))
    {

if (
$codigo==$row['codigo']) {

echo 
"El codigo <b>$codigo</b> es válido, en este momento esta siendo redireccionado al formulario para activar su cuenta";

echo 
'<META HTTP-EQUIV="Refresh" CONTENT="5;URL=registrobonos.php"> ';


    } 
    
    else {

        echo 
"El codigo <b>$codigo</b> esta errado, por favor intenta nuevamente";

        echo 
"en 5 segundos sera redireccionado al formulario de autenticacion, gracias";

echo 
'<META HTTP-EQUIV="Refresh" CONTENT="5;URL=activarcuenta.php">';
}
}
}
?>
la idea es que el tome el codigo que viene en la variable y lo valide, pues bien eso funciona perfecto, es decri si el codigo esta en la BD redirecciona a registrobonos, el problema que tengo es que si el codigo no existe, no hace nada, o sea que no me esta tomando lo que pasa despues del else, alguien me puede ayudar?
__________________
Say no more.......
  #2 (permalink)  
Antiguo 24/01/2007, 17:55
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Re: no valida

tu problema esta aqui

if(mysql_num_rows($validacion)>0)

si el código no existe el resultado es 0 (cero) por lo tando si tu preguntas
0>0=falso ya que se 0=0, por lo tanto al ser falso busca el else de ese if y como no lo tiene simplemente se termina de cargar la página sin hacer nada.

prueba agregando el =, es decir que te algo como esto

if(mysql_num_rows($validacion)>=0)

la verdad es que tambien quitaría el while ya que el resultado, me imagino que sería siempre 1 o 0 porque creo q el codigo es único para cada registro, recalco creo, pero si te funciona dejalo.

saludos y espero que esto te sirva.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:30.