Foros del Web » Programando para Internet » PHP »

No compara el dato recogido

Estas en el tema de No compara el dato recogido en el foro de PHP en Foros del Web. Siempre entra en el if no hace la comparación de si el campo de la db rango es = 1 2 o 3 muestra el ...
  #1 (permalink)  
Antiguo 06/02/2010, 15:32
Avatar de AdrianSeg  
Fecha de Ingreso: enero-2010
Mensajes: 595
Antigüedad: 14 años, 3 meses
Puntos: 14
No compara el dato recogido

Siempre entra en el if no hace la comparación de si el campo de la db rango es = 1 2 o 3 muestra el mensaje, solo entra en el if, sé que el dato no lo estoy ascando bien pero ya probé varias cosas y no se que hacer.


Código PHP:
<?php
// Configura la información de tu cuenta
$dbhost='localhost';
$dbusername='root';
$dbuserpass='****';
$dbname='proyecto***';
session_start();

// Conexión a la base de datos
mysql_connect ($dbhost$dbusername$dbuserpass);
mysql_select_db($dbname) or die('No se pudo seleccionar base de datos');


// Comprueba si se inició sesión
if (isset($_SESSION['s_nombre'])) {
echo 
"Bienvenido a mi sitio has ingresado como ".$_SESSION['s_nombre'].",
gracias por la visita!"
;
echo 
"</br>";
echo 
"Si quieres cerrar sesión dirígete a <a href='logout.php'>logout</a>.";
}else{
echo 
"Tu no estas autentificado dirígete a <a href='login.php'>login</a>";
echo 
$_SESSION['nombre'];
}
//*************LOGIN***************/

// si somos admin (poder máximo)


if (isset($_SESSION['s_rango'])==2) {
    
    echo 
"Bienvenido DIOS ".$_SESSION['s_nombre'].", gracias por la visita!";
    
}

?>
Mi autentificar.php dónde recojo todos los datos:

Código PHP:
session_start();

// Conectar a la base de datos
mysql_connect ($dbhost$dbusername$dbuserpass);
mysql_select_db($dbname) or die('No se pudo seleccionar base de datos');

// Comprobación del envío del nombre de usuario y password
if ($_POST['nombre']) {
$nombre=$_POST['nombre'];
$password=$_POST['password'];
$rango=$_POST['rango'];
if (
$password==NULL) {
echo 
"El password no fue enviado";
}else{
$query mysql_query("SELECT nombre,password FROM usuarios 
WHERE nombre = '$nombre'"
) or die(mysql_error());
$info mysql_fetch_array($query);
if(
$info['password'] != $password) {
echo 
"Login incorrecto";
}else{
$query mysql_query("SELECT nombre,password,rango FROM usuarios 
WHERE nombre = '$nombre'"
) or die(mysql_error());
$row mysql_fetch_array($query);
$_SESSION["s_nombre"] = $row['nombre'];
$_SESSION["s_rango"] = $row['rango'];

echo 
"Has iniciado sesión correctamente ".$_SESSION['s_nombre']."
y puedes acceder a <a href='index.php'>index</a>."
;
}
}
}
?> 
  #2 (permalink)  
Antiguo 06/02/2010, 16:23
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: No compara el dato recogido

Cita:
Iniciado por AdrianSeg Ver Mensaje
Siempre entra en el if no hace la comparación de si el campo de la db rango es = 1 2 o 3 muestra el mensaje, solo entra en el if [...]
Código PHP:
if (isset($_SESSION['s_rango'])==2) {
    
    echo 
"Bienvenido DIOS ".$_SESSION['s_nombre'].", gracias por la visita!";
    

isset() devuelve un boolean, "osea", 1 o 0 ... ¿que será??
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 06/02/2010, 21:35
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: No compara el dato recogido

Tal vez quisiste poner

Código php:
Ver original
  1. if (isset($_SESSION['s_rango']) && $_SESSION['s_rango']==2){
__________________
HV Studio
Diseño y desarrollo web
  #4 (permalink)  
Antiguo 07/02/2010, 05:12
Avatar de AdrianSeg  
Fecha de Ingreso: enero-2010
Mensajes: 595
Antigüedad: 14 años, 3 meses
Puntos: 14
Respuesta: No compara el dato recogido

Gracia Paketetrueke era eso :)

Etiquetas: dato
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 03:46.