Foros del Web » Programando para Internet » PHP »

ayuda con login

Estas en el tema de ayuda con login en el foro de PHP en Foros del Web. saludos, a todos y de antemano gracias por leer y en su caso ayudarme. tengo un sistema en php conectada a mysql que me logea ...
  #1 (permalink)  
Antiguo 19/04/2008, 08:36
 
Fecha de Ingreso: abril-2008
Mensajes: 88
Antigüedad: 16 años
Puntos: 2
ayuda con login

saludos, a todos y de antemano gracias por leer y en su caso ayudarme.
tengo un sistema en php conectada a mysql que me logea correctamente a mis usuarios, pero ahora necesito que me los cataloge; me refiero a que si un administrador entra, lo dirija a una pantalla solo para administradores, y si es un usuario normal lo mande a otra pagina distinta. anexo el codigo que llevo

<?php
session_start();
//datos para establecer la conexion con la base de mysql.
mysql_connect('localhost','root')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('mibase')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
function quitar($mensaje)
{
$nopermitidos = array("'",'\\','<','>',"\"");
$mensaje = str_replace($nopermitidos, "", $mensaje);
return $mensaje;
}
if(trim($_POST["usuario"]) != " " && trim($_POST["password"]) != " ")
{
// Puedes utilizar la funcion para eliminar algun caracter en especifico
//$usuario = strtolower(quitar($HTTP_POST_VARS["usuario"]));
//$password = $HTTP_POST_VARS["password"];
// o puedes convertir los a su entidad HTML aplicable con htmlentities
$usuario = $_POST["usuario"];
$password = $_POST["password"];
$result = mysql_query('SELECT password, usuario FROM usuarios WHERE usuario=\''.$usuario.'\'');
if($row = mysql_fetch_array($result)){
if($row["password"] == $password){
$_SESSION["k_username"] = $row['usuario'];
echo 'Has sido logueado correctamente '.$_SESSION['k_username'].' <p>';
echo '<a href="index1.php">Index</a></p>';
//Elimina el siguiente comentario si quieres que re-dirigir automáticamente a index.php
/*Ingreso exitoso, ahora sera dirigido a la pagina principal.
<SCRIPT LANGUAGE="javascript">
location.href = "index1.php";
</SCRIPT>*/
}else{
echo 'Password incorrecto';
}
}else{
echo 'Usuario no existente en la base de datos';
}
mysql_free_result($result);
}else{
echo 'Debe especificar un usuario y password';
}
mysql_close();
?>

espero me puedan ayudar, y gracias de antemano
  #2 (permalink)  
Antiguo 19/04/2008, 09:08
 
Fecha de Ingreso: marzo-2007
Mensajes: 347
Antigüedad: 17 años, 1 mes
Puntos: 2
Re: ayuda con login

En la tabla de los usuarios debes crear un campo, llamado lvl, o rango, o como quieras, y expecificas si es usuario, administrador, etc, y despues con un if, pones, if(rango = "administrador") redireccionas a la pagina que tu quieras, y asi con los rangos que tu quieras.

Un saludo
  #3 (permalink)  
Antiguo 19/04/2008, 11:01
 
Fecha de Ingreso: abril-2008
Mensajes: 88
Antigüedad: 16 años
Puntos: 2
Re: ayuda con login

Cita:
Iniciado por Francisco01 Ver Mensaje
En la tabla de los usuarios debes crear un campo, llamado lvl, o rango, o como quieras, y expecificas si es usuario, administrador, etc, y despues con un if, pones, if(rango = "administrador") redireccionas a la pagina que tu quieras, y asi con los rangos que tu quieras.

Un saludo
gracias amigo, pero un poco de paciencia soy nuevo en esto y necesito que me expliques un poco más ya que lo intente como llege a entender y no pude hacerlo
  #4 (permalink)  
Antiguo 19/04/2008, 11:09
 
Fecha de Ingreso: marzo-2007
Mensajes: 347
Antigüedad: 17 años, 1 mes
Puntos: 2
Re: ayuda con login

ok, no hay problema, pero entonces necesito saber lo que tu sabes para saber como poder explicartelo, no sé si no entiendes el concepto de tabla en mysql, o de campo, esque entonces no sabría como explicartelo, lo de añadir el campo lo entiendes?
  #5 (permalink)  
Antiguo 19/04/2008, 11:19
 
Fecha de Ingreso: abril-2008
Mensajes: 88
Antigüedad: 16 años
Puntos: 2
Re: ayuda con login

Cita:
Iniciado por Francisco01 Ver Mensaje
ok, no hay problema, pero entonces necesito saber lo que tu sabes para saber como poder explicartelo, no sé si no entiendes el concepto de tabla en mysql, o de campo, esque entonces no sabría como explicartelo, lo de añadir el campo lo entiendes?
entiendo de hecho ya agrege el campo que me recomendaste lo llame tipo en este caso y le agrege info como administrador y user, lo que no entendi fue lo de meter el i'f', si me pudieras explicar en que parte de mi codigo lo anexo te lo agradecere mucho
  #6 (permalink)  
Antiguo 19/04/2008, 11:27
 
Fecha de Ingreso: marzo-2007
Mensajes: 347
Antigüedad: 17 años, 1 mes
Puntos: 2
Re: ayuda con login

Código PHP:
<?php
session_start
();
//datos para establecer la conexion con la base de mysql.
mysql_connect('localhost','root')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('mibase')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
function 
quitar($mensaje)
{
$nopermitidos = array("'",'\\','<','>',"\"");
$mensaje str_replace($nopermitidos""$mensaje);
return 
$mensaje;
}
if(
trim($_POST["usuario"]) != " " && trim($_POST["password"]) != " ")
{

$usuario $_POST["usuario"];
$password $_POST["password"];
$result mysql_query('SELECT password, usuario FROM usuarios WHERE usuario=\''.$usuario.'\'');
if(
$row mysql_fetch_array($result)){
if(
$row["password"] == $password){
$_SESSION["k_username"] = $row['usuario'];
echo 
'Has sido logueado correctamente '.$_SESSION['k_username'].' <p>';
echo 
'<a href="index1.php">Index</a></p>';
//Aqui va el if del que te hable
if($row['tipo'] == "admin"){ //tambien podrias poner los rangos por numeros, 1 = admin, 2 = mod, 3 = user normal, eso ya es por gustos
//aqui va la redireccion a la pagina de administracion
}

}else{
echo 
'Password incorrecto';
}
}else{
echo 
'Usuario no existente en la base de datos';
}
mysql_free_result($result);
}else{
echo 
'Debe especificar un usuario y password';
}
mysql_close();
?>
Pues aqui tienes el codigo donde ya he añadido el if, el if por lógica va justo cuando tu te aseguras que es un usuario registrado, despues de que sepas que es un usuario registrado, haces una comprobacion para saber si el usuario que ya has comprobado que está registrado es administrador, o es otra cosa, si no te queda claro miralo en el código, te lo he puesto con algunos comentarios para que lo entiendas mejor.

Un saludo

Última edición por Francisco01; 19/04/2008 a las 11:35
  #7 (permalink)  
Antiguo 20/04/2008, 11:48
 
Fecha de Ingreso: abril-2008
Mensajes: 88
Antigüedad: 16 años
Puntos: 2
De acuerdo Re: ayuda con login

gracias hermano fue ded gran inspiración, al principio no me salio, pero moviendole al codigo salio el resultado deseado, pongo el código por si alguien llega aestar en el mismo apuro como yo.

nuevamente muchas gracias.

<?php
session_start();
//datos para establecer la conexion con la base de mysql.
mysql_connect('localhost','root')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('mibase')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
function quitar($mensaje)
{
$nopermitidos = array("'",'\\','<','>',"\"");
$mensaje = str_replace($nopermitidos, "", $mensaje);
return $mensaje;
}
if(trim($_POST["usuario"]) != " " && trim($_POST["password"]) != " ")
{
// Puedes utilizar la funcion para eliminar algun caracter en especifico
//$usuario = strtolower(quitar($HTTP_POST_VARS["usuario"]));
//$password = $HTTP_POST_VARS["password"];
// o puedes convertir los a su entidad HTML aplicable con htmlentities
$usuario = $_POST["usuario"];
$password = $_POST["password"];
$result = mysql_query('SELECT password, usuario, tipo FROM usuarios WHERE usuario=\''.$usuario.'\'');
if($row = mysql_fetch_array($result)){
if($row["password"] == $password && $row["tipo"]=="usuario"){
$_SESSION["k_username"] = $row['usuario'];
echo 'Has sido logueado correctamente '.$_SESSION['k_username'].' <p>';
echo '<a href="index1.php">Index</a></p>';
//Elimina el siguiente comentario si quieres que re-dirigir automáticamente a index.php
/*Ingreso exitoso, ahora sera dirigido a la pagina principal.
<SCRIPT LANGUAGE="javascript">
location.href = "index1.php";
</SCRIPT>*/
}
if($row["password"] == $password && $row["tipo"]=="administrador"){
$_SESSION["k_username"] = $row['usuario'];
echo 'Has sido logueado correctamente '.$_SESSION['k_username'].' <p>';
echo '<a href="index1.php">Index</a></p>';
//Elimina el siguiente comentario si quieres que re-dirigir automáticamente a index.php
/*Ingreso exitoso, ahora sera dirigido a la pagina principal.
<SCRIPT LANGUAGE="javascript">
location.href = "index1.php";
</SCRIPT>*/
}
else{
echo 'Password incorrecto';
}
}else{
echo 'Usuario no existente en la base de datos';
}
mysql_free_result($result);
}else{
echo 'Debe especificar un usuario y password';
}
mysql_close();
?>
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 08:02.