Foros del Web » Programando para Internet » PHP »

como hacer un administrador y usuario

Estas en el tema de como hacer un administrador y usuario en el foro de PHP en Foros del Web. lo que intento hacer es basado como en los foros como el cuanto del administrador y el usuario por ejemplo el admin tiene mas funciones ...
  #1 (permalink)  
Antiguo 12/02/2009, 22:41
 
Fecha de Ingreso: agosto-2008
Ubicación: D,F
Mensajes: 412
Antigüedad: 15 años, 8 meses
Puntos: 4
como hacer un administrador y usuario

lo que intento hacer es basado como en los foros como el cuanto del administrador y el usuario por ejemplo el admin tiene mas funciones que el usuario tamos de acuerdo no y como en el tema pasado vieron algunos que es lo que toy trabajando solo que tengo una duda como le puedo hacer para a la hora de logearte conforme a la base de datos diferencie quien es el usuario y administrador les pongo este codigo para q vean como lo hize

como veran en el if($usuario=="nombre ")lo puse asi para que diferenciara entre el usuario y el administrador pero yo kiero que todo lo tome de la base de datos y no tar haciendo lo mismo para cada nombre si no solo poner 2 veces el paso de los menus uno para administradores y otro para usuarios espero que me halla explicado bien

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('aseco')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($HTTP_POST_VARS["usuario"]) != "" && trim($HTTP_POST_VARS["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 strtolower(htmlentities($HTTP_POST_VARS["usuario"], ENT_QUOTES));
    
$password $HTTP_POST_VARS["password"];
    
$result mysql_query('SELECT psw, login  FROM usuarios WHERE login=\''.$usuario.'\'');
    if(
$row mysql_fetch_array($result)){
        if(
$row["psw"] == $password){
            
$_SESSION["nombre"] = $row['usuario'];
            
            include 
"encabezado.php";
            if(
$usuario=="evo")
            {
            echo 
              
"<center><H1> Bienvenido $_POST[usuario]</H1><br /><br />
               <!-- <h3>Menu Principal</h3>--><br /><br />" 
;
               echo
"<table width=500 border=0 background=2.jpg>
               <tr>
                   <td>"
;
                   
?>
                 <!--echo"-->
                   <input name="alta_reportes" value="Agregar Reportes" type="button" onClick="window.open('formulario_reportes.php')"/></td>
    <td><input name="procedimiento" value="Procedimiento" type="button" onClick="window.open('procedimiento.php')"/></td>
    <!--<td>
    <input name='modificar' value= 'Modificar' type='button' onClick='window.open('modificar_directorio.php','')' /></td>-->
    <td><input name="reportes" value="Hoja de Reportes" type="button" onClick="window.open('ver_reportes.php','')"/></td>
<td><input name="salir" value="Salir" type="button" onClick="javascript:history.go (-1)" /> 
  </tr>
</table>
<?
}
?>

<?

if($usuario=="ricardo")
{
echo 
              
"<center><H1> Bienvenido $_POST[usuario]</H1><br /><br />
               <!-- <h3>Menu Principal</h3>--><br /><br />" 
;
               echo
"<table width=500 border=0 background=2.jpg>
               <tr>
                   <td>"
;?>
                   
                   <input name="alta_reportes" value="Agregar Reportes" type="submit" onClick="window.open('formulario_reportes.php')"/></td>
    <td><input name="procedimiento" value="Procedimiento" type="Submit" onClick="window.open('procedimiento.php')"/></td>
    <td>
    <input name="modificar" value= "Modificar" type="button" onClick="window.open('modificar_reportes.php','')" /></td>
    <td><input name="reportes" value="Hoja de Reportes" type="button" onClick="window.open('ver_reportes.php','')"/></td>
<td><input name="salir" value="Salir" type="button" onClick="javascript:history.go (-1)" /> 
  </tr>
</table>
<?
}
?>




<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;v.2.0 </p>
             <?
             
//echo '<br>Has sido logueado correctamente '.$_SESSION['k_username'].' <p>';
            //echo '<a href="index.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 = "index.php";
            </SCRIPT>*/
        
}else{
            echo 
'Password incorrecto';
        }
    }else{
        echo 
'Usuario no existente en la base de datos';
    }
    
mysql_free_result($result);
}else{
   include 
"encabezado.php";
   
    echo 
     
'<br><center>El Usuario o Password son incorrectos favor de revisar</center>';
}
mysql_close();
?>
  #2 (permalink)  
Antiguo 13/02/2009, 00:04
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: como hacer un administrador y usuario

Puedes agregar un campo en la tabla de usuarios, donde indiques que tipo es (usuario o admin) y al sacar los datos para verificar el login sacas tambien ese campo y ya con ese valor sabes si es admin o no
  #3 (permalink)  
Antiguo 13/02/2009, 00:13
Avatar de uselox  
Fecha de Ingreso: agosto-2008
Ubicación: Lima, Perú
Mensajes: 168
Antigüedad: 15 años, 8 meses
Puntos: 12
Respuesta: como hacer un administrador y usuario

agrega este campo a tu tabla usuarios ;)
Código PHP:
tipo ENUM('usuario','admin','moderador')NOT NULL DEFAULT 'usuario' 
Recuerda q ahora deveras registrar una variable mas tipo cession indicando de q tipo q usuario se trata...
  #4 (permalink)  
Antiguo 13/02/2009, 00:32
Avatar de kurokishi  
Fecha de Ingreso: enero-2009
Ubicación: Tenochtitlán
Mensajes: 109
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: como hacer un administrador y usuario

Hola, pues como te han dicho, debes agregar en tu tabla una columna de 'rol';
en el query de igual manera lo mandas a llamra y para mandarlo a la sesion de usuario o administrador con un if.
Código PHP:
$usuario strtolower(htmlentities($HTTP_POST_VARS["usuario"], ENT_QUOTES)); 
    
$password $HTTP_POST_VARS["password"]; 
    
$result mysql_query('SELECT psw, login, rol  FROM usuarios WHERE login=\''.$usuario.'\''); 
    if(
$row mysql_fetch_array($result)){ 
        if(
$row["psw"] == $password){ 
            
$_SESSION["nombre"] = $row['usuario'];
            
$_SESSION['rol']=$row['rol'];//aqui lo asigno como variable de sesion para que cuando entre lo identifique con este 'rol' y no pueda acceder a esta alguien con otro tipo de rol.

if ($_SESSION["rol"]=='f')//yo solo uso un boolean donde true es administrador y false es el usuario
{
header ('Location: curso/nihongo_aragon.php?modulo=inicio');//redirijo dependiendo del 'rol' que tengan
exit;
}
elseif (
$_SESSION["rol"]=='t')
{
header ('Location: curso/sensei_aragon.php?modulo=inicio');
exit;

Pues espero que te sirvan y pues te aconsejo que trates de hacer tu sistema de forma modular, asi tal vez se creen demasiados scripts, pero al tener tus procesos debidamente ordenados es mas facil despues modificar algun a funcion dentro de un script con funciones especificas que andar buscando en donde corregir en los multitareas (por lo menos a mi se me hace mas facil)
Espero que te sirva,
Salu2!!
__________________
海賊王 に なろ!
  #5 (permalink)  
Antiguo 13/02/2009, 10:29
 
Fecha de Ingreso: agosto-2008
Ubicación: D,F
Mensajes: 412
Antigüedad: 15 años, 8 meses
Puntos: 4
Respuesta: como hacer un administrador y usuario

ya entendi te refieres a la columna rol donde debo poner si es user o admin me imagino no, lo que va hacer aparte de de comparar usuario con contraseña tambien va a tomar la columna rol donde esta especificada si es usuario o admin y en los if devo poner la direcion de administradores y usuario pero eso seria hacer dos paginas me imagino por lo que vi en tu codigo pero para hacerlo en una misma hoja como lo hize como le puedo hacer o estoy mal en eso de hacer dos paginas y puedo redireccionar en la misma solo que ya sabe el sistema que eres (usuario o administrador)

edito : bueno saque otra suposicion en ver de redireccionar puedo poner mi menu como lo hice y no utilizaria el header ni el exit solo tendria que hacer dos menus pero donde todo cambia es en el el if entonces quedaria de esta forma

Código PHP:
<?
if($_SESSION["rol"]=='user')
{
echo  
              
"<center><H1> Bienvenido $_POST[usuario]</H1><br /><br /> 
               <!-- <h3>Menu Principal</h3>--><br /><br />" 

               echo
"<table width=500 border=0 background=2.jpg> 
               <tr> 
                   <td>"

                   
?> 
                 <!--echo"--> 
                   <input name="alta_reportes" value="Agregar Reportes" type="button" onClick="window.open('formulario_reportes.php')"/></td> 
    <td><input name="procedimiento" value="Procedimiento" type="button" onClick="window.open('procedimiento.php')"/></td> 
    <!--<td> 
    <input name='modificar' value= 'Modificar' type='button' onClick='window.open('modificar_directorio.php','')' /></td>--> 
    <td><input name="reportes" value="Hoja de Reportes" type="button" onClick="window.open('ver_reportes.php','')"/></td> 
<td><input name="salir" value="Salir" type="button" onClick="javascript:history.go (-1)" />  
  </tr> 
</table> 
<? 

?>
y hago otro igual pero solo le agrego otro boton donde solo el administrador puede modificar

Última edición por rikimm; 13/02/2009 a las 11:04
  #6 (permalink)  
Antiguo 13/02/2009, 15:35
Avatar de kurokishi  
Fecha de Ingreso: enero-2009
Ubicación: Tenochtitlán
Mensajes: 109
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: como hacer un administrador y usuario

Pue si, eso seria lo indicado, solamente utiliza en vez de un else solo un ifelse (en caso de que tengas mas 'roles' y para especificar bien cada caso)
Código PHP:
if($_SESSION["rol"]=='user'

echo   
              
"<center><H1> Bienvenido ".$_POST[usuario]."</H1><br /><br />  
               <!-- <h3>Menu Principal</h3>--><br /><br />" 
;  
               echo
"<table width=500 border=0 background=2.jpg>  
               <tr>  
                   <td>"

// codigo para este usuario
}
elseif (
$_SESSION["rol"]=='administrador'
{
echo   
              
"<center><H1> Bienvenido ".$_POST[usuario]."</H1><br /><br />  
               <!-- <h3>Menu Principal</h3>--><br /><br />" 
;  
               echo
"<table width=500 border=0 background=2.jpg>  
               <tr>  
                   <td>"

//codigo para este usuario
}
                   
?> 
Pues en pruncipio seria algo asi.
Salu2!
__________________
海賊王 に なろ!
  #7 (permalink)  
Antiguo 13/02/2009, 19:25
 
Fecha de Ingreso: agosto-2008
Ubicación: D,F
Mensajes: 412
Antigüedad: 15 años, 8 meses
Puntos: 4
Respuesta: como hacer un administrador y usuario

gracias kurokishi me sirvio de esa forma te lo agradesco
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:26.