Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] mostrar si es admin

Estas en el tema de mostrar si es admin en el foro de PHP en Foros del Web. hola amigos... mi pregunta es la siguiente como puedo hacer para que al logearme Como admin me muestre un link como por ejemplo para editar ...
  #1 (permalink)  
Antiguo 28/12/2009, 03:24
 
Fecha de Ingreso: octubre-2009
Mensajes: 46
Antigüedad: 14 años, 6 meses
Puntos: 0
Exclamación mostrar si es admin

hola amigos...

mi pregunta es la siguiente

como puedo hacer para que al logearme Como admin me muestre un link como por ejemplo para editar alguna noticia...

espero me allan entendido... grasias...
  #2 (permalink)  
Antiguo 28/12/2009, 04:49
lamek
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: mostrar si es admin

Hola, lo que puedes hacer es:
En la bd, pones un campo que se llame por ejemplo Privilegios, y que si en un usuario tiene un 1 entonces es que es admin y si pone 0 es que no lo es.

Cada vez que se registre alguien haz que ponga en ese campo de la BD un 0 y si quieres tu lo editas despues.

Despues al cargar la web compruebas si es o no es Admin. Con un IF por ejemplo.


Saludos y espero que te sirva.
  #3 (permalink)  
Antiguo 28/12/2009, 05:26
 
Fecha de Ingreso: diciembre-2009
Ubicación: Móstoles , Madrid
Mensajes: 23
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: mostrar si es admin

Cita:
Iniciado por lamek Ver Mensaje
Hola, lo que puedes hacer es:
En la bd, pones un campo que se llame por ejemplo Privilegios, y que si en un usuario tiene un 1 entonces es que es admin y si pone 0 es que no lo es.

Cada vez que se registre alguien haz que ponga en ese campo de la BD un 0 y si quieres tu lo editas despues.

Despues al cargar la web compruebas si es o no es Admin. Con un IF por ejemplo.


Saludos y espero que te sirva.
Exactamente , lo que debes comprobar en la BD si ese usuario es administrador , si lo es , le muestra un link que sirve para hacer tus cosas. Pero recuerda que si no hacer una verificación con un if(), los usuarios pueden entrar a esa sección aunque no sea administrador.
  #4 (permalink)  
Antiguo 28/12/2009, 18:10
 
Fecha de Ingreso: octubre-2009
Mensajes: 46
Antigüedad: 14 años, 6 meses
Puntos: 0
De acuerdo Respuesta: mostrar si es admin

muchas grasias....
  #5 (permalink)  
Antiguo 28/12/2009, 19:38
 
Fecha de Ingreso: marzo-2009
Ubicación: yokze
Mensajes: 177
Antigüedad: 15 años, 1 mes
Puntos: 3
Respuesta: mostrar si es admin

No entiendo tio...:S:S xDD
Mejor mirarse 1 guia php desde cero (Y)
  #6 (permalink)  
Antiguo 28/12/2009, 19:45
Avatar de zaetoner  
Fecha de Ingreso: noviembre-2007
Ubicación: La ciudad de México
Mensajes: 607
Antigüedad: 16 años, 5 meses
Puntos: 30
Respuesta: mostrar si es admin

que no entiendes???, creo que esta muy claro como lo pone @lamek si en la base de datos el usuario tiene un 1 entonces es admin si no entonces es un user y esto a la hora del logeo se debe poner
if($campotipodeusuario==1){
$_SESSION['tipo']="admin";
}else{
$_SESSION['tipo']="user";
}
__________________
...
  #7 (permalink)  
Antiguo 28/12/2009, 20:26
 
Fecha de Ingreso: octubre-2009
Mensajes: 46
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: mostrar si es admin

Gracias...
Entonces quedaria algo como esto jeje...

Código PHP:
<?
if($campotipodeusuario==1){
$_SESSION['tipo']="admin";
}else{
$_SESSION['tipo']="user";
}

if(
$_SESSION['tipo'] == 'admin'){
echo 
'<a href="index.php?accion=editar&galeria=amigos&id=3">Editar</a>';
echo 
'<a href="index.php?accion=eliminar&galeria=amigos&id=3">Eliminar</a>';
}

?>
  #8 (permalink)  
Antiguo 28/12/2009, 20:33
Avatar de zaetoner  
Fecha de Ingreso: noviembre-2007
Ubicación: La ciudad de México
Mensajes: 607
Antigüedad: 16 años, 5 meses
Puntos: 30
Respuesta: mostrar si es admin

correcto, tomando en cuanta que $campotipodeusuario paso por algo como esto
$a=mysql_fetch_array($c);
$campotipodeusuario=$a['tipodeusuario'];
__________________
...
  #9 (permalink)  
Antiguo 28/12/2009, 20:33
Avatar de Yefb  
Fecha de Ingreso: septiembre-2008
Ubicación: Medellín
Mensajes: 55
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: mostrar si es admin

Está muy claro que lo se está trabajando es como un tipo de variable bandera.
Así lo entiendo yo, es como un boolean, en el que "true" es Admin y "false" es Usuario.
Saludos.
  #10 (permalink)  
Antiguo 29/12/2009, 00:43
 
Fecha de Ingreso: octubre-2009
Mensajes: 46
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: mostrar si es admin

hola amigos yo aqui de n uevo molestando jejeje..

lo que pasa es que por ejemplo en el index.php tengo esto...

Código PHP:
<?
mysql_connect
("localhost","root","root");

mysql_select_db("sistema");


$c"SELECT * FROM usuarios";
$a=mysql_query($c);
$b=mysql_fetch_array($a);
$campotipodeusuario$b['user'];

if(
$campotipodeusuario==1){
$_SESSION['tipo']="admin";
}else{
$_SESSION['tipo']="user";
}

if(
$_SESSION['tipo'] == 'admin'){
echo 
'<a href="index.php?accion=editar&galeria=amigos&id=3">Editar</a><br>';
echo 
'<a href="index.php?accion=eliminar&galeria=amigos&id=3">Eliminar</a>';
}

?>
ahi me funciona bien pero en la pagina galeria.php pongo el siguiente codigo y no me funciona
Código PHP:
if($_SESSION['tipo'] == 'admin'){
echo 
'<a href="index.php?accion=editar&galeria=amigos&id=3">Editar</a>';
echo 
'<a href="index.php?accion=eliminar&galeria=amigos&id=3">Eliminar</a>';

Mmmm o acaso en cada pagina tengo que poner el codigo completo?

Gracias por su ayuda....
  #11 (permalink)  
Antiguo 29/12/2009, 01:24
Avatar de zaetoner  
Fecha de Ingreso: noviembre-2007
Ubicación: La ciudad de México
Mensajes: 607
Antigüedad: 16 años, 5 meses
Puntos: 30
Respuesta: mostrar si es admin

aqui tienes que poner la consulta dependiendo del logeo por que de ese modo solo te servira si tienes un solo usuario

Código PHP:
Ver original
  1. $user=$_GET['user'];
  2. $pass=$_GET['pass'];
  3. $c= "SELECT * FROM usuarios WHERE user='$user' and pass='$pass'";
  4. $a=mysql_query($c);
no se si estes poniendo session_start(); en la primera linea de todos los scripts pero no esta de mas recordarlo
__________________
...
  #12 (permalink)  
Antiguo 29/12/2009, 04:04
 
Fecha de Ingreso: octubre-2009
Mensajes: 46
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: mostrar si es admin

muchas gracias me funciono perfectamente...

ahora sigo molestando con una pregunta mas....

Como puedo hacer para que al momento de hacer login me compruebe si el usuario existe y que si el pass es el correcto y si no me mande un mensaje de error...
  #13 (permalink)  
Antiguo 29/12/2009, 04:16
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 17 años, 5 meses
Puntos: 23
Respuesta: mostrar si es admin

tenés que hacer una consulta a la BD con dicho usuario y contraseña, si la consulta no arroja resultados es porque o no existe el usuario o la contraseña esta mal.
Para poder saber si el user no existe o si la constraseña esta mal, tendrias que hacer un poco mas de codigo, que para mí, no se justica.

Saludos.
  #14 (permalink)  
Antiguo 29/12/2009, 05:21
 
Fecha de Ingreso: diciembre-2009
Ubicación: Móstoles , Madrid
Mensajes: 23
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: mostrar si es admin

Pues sería muy facil. Mira lo que debemos hacer es una consulta a la BD donde el usuario sea el que está escrito en el campo. Este sería un code hecho por mí.

Código PHP:
<?php
include("conectar.php");
$user $_POST['usuario'];
$query mysql_query("SELECT * FROM usuarios WHERE nick='$user'");  
$datos mysql_fetch_array($query);
if(
$datos['pass'] == md5($_POST['contra'])){
//  Aquí va tu codigo                     
} else {
echo 
'Usuario/Contraseña inválidas.';
}
?>
Ahora una cosa que a lo mejor si no la sabes te vendría bien. Si te fijas , donde hace la comprobación de que si las contarseñas son iguales aparece md5(). Si en tu Base de datos tienes las contraseñas encriptadas, usa md5(), si no las tienes encriptadas , cambia esa linea por esta :

Cita:
if($datos['pass'] == $_POST['contra']){
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 07:16.