Foros del Web » Programando para Internet » PHP »

Que hago mal! ayuda por favor!

Estas en el tema de Que hago mal! ayuda por favor! en el foro de PHP en Foros del Web. Hola amigos me gustaria saber que estoy haciendo mal, que no me manda a la pagina menup.php, sino a la de error, accesodenegado.php, este es ...
  #1 (permalink)  
Antiguo 06/11/2007, 17:19
Avatar de ferphp  
Fecha de Ingreso: julio-2007
Ubicación: San Pedro Sula
Mensajes: 115
Antigüedad: 16 años, 9 meses
Puntos: 1
Que hago mal! ayuda por favor!

Hola amigos me gustaria saber que estoy haciendo mal, que no me manda a la pagina menup.php, sino a la de error, accesodenegado.php, este es mi codigo:

Código PHP:
<? 
    
include("conectarmysql.php");
    
$conexion=conectarse("user","pass","n_db");
    
$sql="select * from usuarios where usuario='$tus' and clave='$tclave'";
    
$rs =mysql_query($conexion,$sql);
    
$num=mysql_num_rows($rs);
    
$dr =mysql_fetch_row($rs);
    if(
$num>0)
    {    
session_start();
        
$_SESSION["us"]=$tus;
        
$_SESSION["cla"]=$tclave;
        
$_SESSION["dere"]=$dr["derechos"];
        
header("location:menup.php"); 
//        echo "llamar a menup.php";
    
}    
    else
    { 
header("location:accesodenegado.php");
    }
    
    
?>
y mi archivo conectarmysql.php es este:

Código PHP:
<?
  
function conectarse($user,$pass,$bdd)
  { 
     
$link=mysql_pconnect("localhost",$user,$pass,$bdd);
  
  if (!
$link)
  {echo 
"no se pudo conectar";}
  
  return 
$link;
  }
?>

Última edición por ferphp; 06/11/2007 a las 17:48
  #2 (permalink)  
Antiguo 06/11/2007, 17:27
 
Fecha de Ingreso: mayo-2006
Mensajes: 288
Antigüedad: 18 años
Puntos: 4
Re: Que hago mal! ayuda por favor!

Aja es facil de deducir lo que pasa es q estas usando doble salida, o una salida dentro de otra.
en ves de usar header("location:accesodenegado.php"); podrias usar javascript busca algo de eso en GOOGLE o aqui en el foro.
  #3 (permalink)  
Antiguo 06/11/2007, 17:45
Avatar de ferphp  
Fecha de Ingreso: julio-2007
Ubicación: San Pedro Sula
Mensajes: 115
Antigüedad: 16 años, 9 meses
Puntos: 1
Re: Que hago mal! ayuda por favor!

Pues hasta donde yo se, le estoy diciendo que si el password y clave es correcto, que me mande a menup.php y sino que me mande a accesodenegado.php, escribo el password y clave correcta y me manda a accesodenegado.php, es por eso mi interrogante, ¿que puedo estar haciendo mal? ayudaa, por favor!
  #4 (permalink)  
Antiguo 06/11/2007, 18:00
Avatar de Txane  
Fecha de Ingreso: febrero-2004
Ubicación: Morelia Michoacan
Mensajes: 272
Antigüedad: 20 años, 3 meses
Puntos: 2
Re: Que hago mal! ayuda por favor!

Aparanetemente el codigo esta bien entonces tal vez el error sea al conectarse a la base de datos.

porque no intentas asi a ver si se esta haciendo bien la consulta a la base de datos.

$rs =mysql_query($conexion,$sql) or die("Error en $sql por ".mysql_error());

Asi sabes si hay error al hacer la consulta.
  #5 (permalink)  
Antiguo 06/11/2007, 18:03
Avatar de _ssx  
Fecha de Ingreso: mayo-2003
Ubicación: mX
Mensajes: 683
Antigüedad: 21 años
Puntos: 60
Re: Que hago mal! ayuda por favor!

Supongo que estas recibiendo tus variables asi..?? ya que si no tienes habilitado register_globals recibirlas asi "nomas" pues no funciona..

Código PHP:
$tus $_POST["tus"];
$tclave $_POST["tclave"]; 
__________________
Escribe tu código de forma que refleje, y saque a relucir,lo mejor de tu carácter personal
www.oscararzola.com/blog
Principios de un programador
  #6 (permalink)  
Antiguo 06/11/2007, 18:31
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: Que hago mal! ayuda por favor!

prueba de esta forma
conectarmysql.php
Código PHP:
function conectarse($user,$pass,$bdd){
    
//intentamos conectar con mysql
    
$link=mysql_pconnect("localhost",$user,$pass);
        
//si la conexion falla, terminamos
        
if(!$link){
            die(
"no se pudo conectar");
        }
    
//seleccionamos la BD
    
$db=mysql_select_db($bdd,$link);
        if(!
$db){
            die(
"no se pudo seleccionar la BD");
        }
    
//si todo esta bien regresamos el link
    
return $link;

y para la página(que no se como se llama )
Código PHP:
session_start();
//si es por metodo post
$tus=$_POST['tus'];
$tclave=$_POST['tclave'];
//si es por metodo get
/*
$tus=$_GET['tus'];
$tclave=$$_GET['tclave'];
*/
include("conectarmysql.php");
$conexion=conectarse("user","pass","n_db");
$sql="select * from usuarios where usuario='$tus' and clave='$tclave'";
$rs =mysql_query($sql,$conexion);//corregido
$num=mysql_num_rows($rs);
if(
$num>0){
    
$dr =mysql_fetch_assoc($rs);//aqui se cambio el row por el assoc
    
$_SESSION["us"]=$tus;
    
$_SESSION["cla"]=$tclave;
    
$_SESSION["dere"]=$dr["derechos"];
    
header("location:menup.php"); 
}    
else{
    
session_destroy();
    
header("location:accesodenegado.php");

corregí algunos errores,
espero que te sirva, suerte y saludos.

editado: cierto lo que dice Lanselot, no me habia dado cuenta de eso, pero ya lo corregí.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.

Última edición por eits; 06/11/2007 a las 20:13
  #7 (permalink)  
Antiguo 06/11/2007, 18:47
Avatar de ferphp  
Fecha de Ingreso: julio-2007
Ubicación: San Pedro Sula
Mensajes: 115
Antigüedad: 16 años, 9 meses
Puntos: 1
De acuerdo Re: Que hago mal! ayuda por favor!

gracias amigos, voy a probar, luego les cuento!
  #8 (permalink)  
Antiguo 06/11/2007, 19:37
 
Fecha de Ingreso: noviembre-2007
Mensajes: 157
Antigüedad: 16 años, 5 meses
Puntos: 3
Re: Que hago mal! ayuda por favor!

En realidad es simple.
Tienes escrito
Código PHP:
$rs =mysql_query($conexion,$sql); 
Va al revés
Código PHP:
$rs =mysql_query($sql,$conexion); 
La función conectarse también está mal, usa la de eits
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 22:44.