Foros del Web » Programando para Internet » PHP »

Admistrador

Estas en el tema de Admistrador en el foro de PHP en Foros del Web. Hola a todos, es una gestión de usuario admistardor y/o usuario normal. Necesito leer un campo de una tabla, echa la sentencia. //DOMINIO y BBDD ...
  #1 (permalink)  
Antiguo 18/02/2012, 03:48
Avatar de interjsr  
Fecha de Ingreso: octubre-2011
Ubicación: Madrid
Mensajes: 81
Antigüedad: 12 años, 6 meses
Puntos: 2
Admistrador

Hola a todos, es una gestión de usuario admistardor y/o usuario normal. Necesito leer un campo de una tabla, echa la sentencia.

//DOMINIO y BBDD
$conn = mysql_connect("localhost","usuario","contra");

mysql_select_db("BBDD",$conn);


//Sentencia SQL para buscar un usuario con datos introducidos en página
$ssql = "SELECT * FROM Usuarios WHERE Usuario='$f_Usuario' and Clave='$f_Clave'";

//Ejecuto la sentencia
$rs = mysql_query($ssql,$conn);

//Justo aquí me gustaría saber leer el 2 campo de mi Tabla Usuarios que es Tipo, (Integer de una posición), y que me vale para diferenciar usuarios normales de usuarios administradores, de este modo se lo meto a session y así si un usuario se loga puedo desde cualquier página decidir si le habró una u otra dependiendo donde clickee tan sólo con ver en la Session. Espero me podaís ayudar, gracias.
  #2 (permalink)  
Antiguo 18/02/2012, 05:40
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 1 mes
Puntos: 62
Respuesta: Admistrador

http://es2.php.net/mysql_fetch_array
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #3 (permalink)  
Antiguo 18/02/2012, 06:37
Avatar de interjsr  
Fecha de Ingreso: octubre-2011
Ubicación: Madrid
Mensajes: 81
Antigüedad: 12 años, 6 meses
Puntos: 2
Respuesta: Admistrador

Hola Zital gracias por contestar. He probado eso pero no consigo que me funcione.

$conn = mysql_connect("localhost","usuario","contra");
//selecciono la BBDD
mysql_select_db("BBDD",$conn);

//Sentencia SQL para buscar un usuario con datos introducidos en página
$ssql = "SELECT * FROM Usuarios WHERE Usuario='$f_Usuario' and Clave='$f_Clave'";
//Ejecuto la sentencia
$rs = mysql_query($ssql,$conn);

//esta es la misma pero para extraer el dato de Tipo y saber si es Administrador
$result = mysql_query("SELECT * FROM Usuarios WHERE Usuario='$f_Usuario' and Clave='$f_Clave'");

Comentado porque no me funciona
/*while($row = mysql_fetch_array($result)){
$obj = $row['Tipo'];
}

while($renglon = mysql_fetch_row($result)){
$obj = $renglon[1];
}*/


Probado y tampo.
if (!$result) {
echo 'Could not run query: ' . mysql_error();
exit;
}

$row = mysql_fetch_row($result);
$obj= $row[1];

/************************************************** **********/
En todos los casos me entra como administrador.







//vemos si el usuario y contraseña es váildo
//si la ejecución de la sentencia SQL nos da algún resultado
//es que si que existe esa conbinación usuario/contraseña
if (mysql_num_rows($rs)!=0){
  #4 (permalink)  
Antiguo 18/02/2012, 06:44
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 1 mes
Puntos: 62
Respuesta: Admistrador

vete paso por paso:

Código PHP:
Ver original
  1. //Sentencia SQL para buscar un usuario con datos introducidos en página
  2. $ssql = "SELECT * FROM Usuarios WHERE Usuario='$f_Usuario' and Clave='$f_Clave'";
  3. //Ejecuto la sentencia
  4. $rs = mysql_query($ssql,$conn);
  5.  
  6. $tmp = array();
  7. while($renglon = mysql_fetch_row($rs))
  8. {
  9. $tmp[] = $renglon;
  10. }
  11.  
  12. echo "<pre>";
  13. print_r($tmp);
  14. echo "</pre>";
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #5 (permalink)  
Antiguo 18/02/2012, 07:13
Avatar de interjsr  
Fecha de Ingreso: octubre-2011
Ubicación: Madrid
Mensajes: 81
Antigüedad: 12 años, 6 meses
Puntos: 2
Respuesta: Admistrador

No sé porqué no funciona esto que tengo:

$ssql = "SELECT * FROM Usuarios WHERE Usuario='$f_Usuario' and Clave='$f_Clave'";

//Ejecuto la sentencia
$rs = mysql_query($ssql,$conn);



//veo si el usuario y contraseña es váildo
//si la ejecución de la sentencia SQL da algún resultado
//es que si que existe esa conbinación usuario/contraseña
if (mysql_num_rows($rs)!=0){

$row = mysql_fetch_row($ssql);
$obj= $row[1];
//Aquí se supongo que obtengo el campo Tipo que me dirá si es Administrador o no.
//Es el 2º campo y empiezan por 0 como los arrays, ¿no?

//defino una sesion y guardo datos
session_start();
session_register("autentificado");
session_register("tipo");
$_SESSION['autentificado']="SI";
$_SESSION['tipo']=$obj;


header("Location:".$f_Ruta);
exit();
}else {
//si no existe le mando otra vez a la portada
header("Location:".$f_Ruta1);
exit();
}

mysql_free_result($rs);
mysql_free_result($result);
mysql_close($conn);
exit();
}

//Y debería funcionar pero simpre me toma la session como si fuera administrador.
  #6 (permalink)  
Antiguo 18/02/2012, 11:14
Avatar de tata009  
Fecha de Ingreso: septiembre-2008
Ubicación: En mi casa
Mensajes: 426
Antigüedad: 15 años, 7 meses
Puntos: 3
Respuesta: Admistrador

Código PHP:

//ACA HACES LA CONSULTA

$result mysql_query("SELECT * FROM Usuarios WHERE Usuario='$f_Usuario' and Clave='$f_Clave'");




//veo si el usuario y contraseña es váildo
//si la ejecución de la sentencia SQL da algún resultado
//es que si que existe esa conbinación usuario/contraseña
if (mysql_num_rows($result)!=0){

//METE TODO A UN ARRAY

$row mysql_fetch_array($result);




IF(
$row['campo donde guardas si es ADM o no']=="1"//Suponiendo que si "1" es ADM sino es user normal
{
//defino una sesion y guardo datos
session_start();
session_register("autentificado");
session_register("tipo");
$_SESSION['autentificado']="SI";
$_SESSION['tipo']="1";
}

ELSE
{
session_start();
session_register("autentificado");
session_register("tipo");
$_SESSION['autentificado']="SI";
$_SESSION['tipo']="0";

Listo, entonces cada vez que quieras saber si es adm o user normal,
pones

Código PHP:
 session_start();
          IF(
$_SESSION[tipo]=="1") { Lo que pasa si es ADMIN }
          ELSE { 
LO QUE PASA SI ES USER NORMAL

Espero que te sirva, saludos.
__________________
SI pones un CD de MIcrosoft al reves aparecen mensajes satanicos pero si lo pones a la derecha PEOR SE TE INSTALA WINDOWS!!!!
Para webmasters e informaticos

Etiquetas: mysql, sql, tabla, usuarios
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 20:45.