Foros del Web » Programando para Internet » PHP »

[DUDA] Privilegios en zona privada

Estas en el tema de [DUDA] Privilegios en zona privada en el foro de PHP en Foros del Web. saludos, tengo una zona privada y me gustaria saber como hago para cuando un usuario acceda aparezcan ciertos privilegios por ejemplo un include q es ...
  #1 (permalink)  
Antiguo 02/05/2008, 09:34
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 8 meses
Puntos: 28
[DUDA] Privilegios en zona privada

saludos,
tengo una zona privada y me gustaria saber como hago para cuando un usuario acceda aparezcan ciertos privilegios
por ejemplo un include q es un menu..
si la contraseña es incorrecta o no esta logueado que no aparezca dicho menu...
si la contraseña es correcta q aparezca.
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
  #2 (permalink)  
Antiguo 02/05/2008, 09:43
Avatar de Darth_Carl  
Fecha de Ingreso: mayo-2008
Ubicación: En Foros DWP
Mensajes: 160
Antigüedad: 16 años
Puntos: 8
Re: [DUDA] Privilegios en zona privada

A ver, en el LogIn, si el Nick y el Pass son correctos, que se ejecute este código:

Código PHP:
<?php
...
session_register("login");
$_SESSION[login] = "Si";
...
?>
Y ahora, introduce este código en la página privada:

Código PHP:
<?php
if($_SESSION[login]!="Si") {
header("Location: http://tuweb.lalala.com/nolog.php");
}
?>
La página nolog.php es donde hay un mensaje de "No estás registrado bla bla bla". Si aún logeado no tiene nivel, redireccionalo a otro lugar donde se le diga que no tiene nivel
  #3 (permalink)  
Antiguo 02/05/2008, 09:46
Avatar de Monimo  
Fecha de Ingreso: noviembre-2007
Ubicación: Mexico Df
Mensajes: 742
Antigüedad: 16 años, 5 meses
Puntos: 69
Re: [DUDA] Privilegios en zona privada

puedes utilizar ajax, o javascript debes de almacenar a los usuarios con el tipo de usuario que es y asi a la hora de validar desplegar o no un menu yo hice unas funciones parecidas donde puse divs, y dependiendo del tipo de usuario lo muestras ono por ejemplo mi zona de consultas:
Código PHP:

<?php
session_start
();
include(
"conexion.php");


                    
if(
$_SESSION['USUARIO_TIPO']==1)
{
                echo 
"<table border=4>";
            echo
"<tr><td>Nombre del agente</td><td>Linea de negocio</td><td> OT</td><TD>NUMERO DE POLIZA</TD><TD> TRAMITE</TD><TD>INFORMACION</TD><TD>FECHA DE INGRESO</TD><TD>FECHA ESTANDAR</TD><TD>ESTADO</TD><TD>FECHA TERMINO</TD></TR>";
                        echo 
"<TR><TD>".$reg["nombre"]."&nbsp".$reg["app"]."&nbsp".$reg["apm"]."&nbsp</td><td>".$reg["negocio_nombre"]."</td><td>".$reg["ot"]."</td><td>".$reg["numero_poliza"]."</td><td>".$reg["tramite"] ."</td><td>".$reg["informacion"]."</td><td>".$reg["fecha_ingreso"]."</td><td>".$reg["fecha_standard"]."</td><td>".$vare."</td><td>".$reg["fecha_terminacion"]."</td>"
            }
            
echo 
"</TR>";
echo 
"</TABLE>";
}
else
{
    if(
$_SESSION['USUARIO_TIPO']==2)
    {
            echo 
"<table border=4>";
            echo
"<tr><td>Nombre del agente</td><td>Linea de negocio</td><td> OT</td><TD>NUMERO DE POLIZA</TD><TD> TRAMITE</TD><TD>INFORMACION</TD><TD>FECHA DE INGRESO</TD><TD>FECHA ESTANDAR</TD><TD>ESTADO</TD><TD>FECHA TERMINO</TD><td>Organizacion</td></TR>";
            
$result_verif=mysql_query($query$conectar);
            echo 
mysql_error();
            
$reg=mysql_fetch_row($result_verif);
            echo 
"<TR>";
            while(
$reg=mysql_fetch_array($result_verif))
            {  
if (
$reg["estado"]=='1')
{
$vare="TERMINADO";
}
else
{
$vare="EN TRAMITE";
}
            
            echo 
"<TR><TD>".$reg["nombre"]."&nbsp".$reg["app"]."&nbsp".$reg["apm"]."&nbsp</td><td>".$reg["negocio_nombre"]."</td><td>".$reg["ot"]."</td><td>".$reg["numero_poliza"]."</td><td>".$reg["tramite"] ."</td><td>".$reg["informacion"]."</td><td>".$reg["fecha_ingreso"]."</td><td>".$reg["fecha_standard"]."</td><td>".$vare."</td><td>".$reg["fecha_terminacion"]."</td><td>".$reg["Nombre_Lista"]."</td>"
                    
            }
            
echo 
"</TR>";
echo 
"</TABLE>";
}
else
{

            }
    else
    {
        if(
$_SESSION['USUARIO_TIPO']==3)
        {
            
$query="SELECT u.nombre, u.app, u.apm, l.negocio_nombre, t.ot, t.numero_poliza, t.tramite, t.informacion, s.fecha_ingreso, s.fecha_standard, s.estado, s.fecha_terminacion
FROM USUARIO AS u, TRAMITES AS t, 
status AS s, LINEA_NEGOCIO AS l
WHERE t.linea_negocio = l.negocio_id
AND t.linea_negocio ="
.$_SESSION['LINEA_NEGOCIO_USR']."
AND t.ot = s.ot_ext
AND t.id_USUARIO = u.USUARIO_id
"
;
    echo 
"<table border=4>";
            echo
"<tr><td>Nombre del agente</td><td>Linea de negocio</td><td> OT</td><TD>NUMERO DE POLIZA</TD><TD> TRAMITE</TD><TD>INFORMACION</TD><TD>FECHA DE INGRESO</TD><TD>FECHA ESTANDAR</TD><TD>ESTADO</TD><TD>FECHA TERMINO</TD></TR>";
            
$result_verif=mysql_query($query,$conectar);
            echo 
mysql_error();
            
$reg=mysql_fetch_row($result_verif);
            echo 
"<TR>";
            while(
$reg=mysql_fetch_array($result_verif))
            {  
if (
$reg["estado"]=='1')
{
$vare="TERMINADO";
}
else
{
$vare="EN TRAMITE";
}

            
            echo 
"<TR><TD>".$reg["nombre"]."&nbsp".$reg["app"]."&nbsp".$reg["apm"]."&nbsp</td><td>".$reg["negocio_nombre"]."</td><td>".$reg["ot"]."</td><td>".$reg["numero_poliza"]."</td><td>".$reg["tramite"] ."</td><td>".$reg["informacion"]."</td><td>".$reg["fecha_ingreso"]."</td><td>".$reg["fecha_standard"]."</td><td>".$vare."</td><td>".$reg["fecha_terminacion"]."</td>"
                    
            }
            
echo 
"</TR>";
echo 
"</TABLE>";
            

        }
        else
        {
            if(
$_SESSION['USUARIO_TIPO']==4||$_SESSION['USUARIO_TIPO']==5||$_SESSION['USUARIO_TIPO']==6)
            {
if(
$_POST['c'] )
{
$hoyi=getdate();
$fecha_terminacion=$hoyi[year]."-".$hoyi[mon]."-".$hoyi[mday];
foreach (
$_POST['c'] as $id){

   echo 
"Esta es la ot ".$id."<br>";
$_SESSION['orden']=$id;
    
$query4="update status set estado=1, fecha_terminacion='".$fecha_terminacion."' where OT_ext=".$_SESSION['orden']; 
    
//echo $query4;
$result_verif=mysql_query($query4,$conectar);
    echo 
mysql_error();
echo 
"<script>alert(\"Se actualizaron los tramites terminados\");</script>";
}





$var=0;
                        
$_SESSION['vario']=0;
                
                
$query="select u.nombre,u.app, u.apm, l.negocio_nombre, t.ot,t.numero_poliza, t.tramite, t.informacion, s.fecha_ingreso, s.fecha_standard, s.estado, s.fecha_terminacion 
    from USUARIO as u, TRAMITES as t, status as s, LINEA_NEGOCIO as l 
    where t.linea_negocio=l.negocio_id   and t.ot=s.ot_ext and t.id_USUARIO=u.USUARIO_id
    "
;
    echo 
"<form name=formita action=backupconsul.php method=post >";
    echo 
"<table border=4>";
            echo
"<tr><td>Nombre del agente</td><td>Linea de negocio</td><td> OT</td><TD>NUMERO DE POLIZA</TD><TD> TRAMITE</TD><TD>INFORMACION</TD><TD>FECHA DE INGRESO</TD><TD>FECHA ESTANDAR</TD><TD>ESTADO</TD><TD>FECHA TERMINO</TD><td>DAR POR TERMINADO</td></TR>";
                
$result_verif=mysql_query($query,$conectar);
                echo 
mysql_error();
                
$reg=mysql_fetch_row($result_verif);
                
            echo 
"<TR>";
            while(
$reg=mysql_fetch_array($result_verif))
            {  
                if (
$reg["estado"]=='1')
                {
            echo 
"<TR><TD>".$reg["nombre"]."&nbsp".$reg["app"]."&nbsp".$reg["apm"]."&nbsp</td><td>".$reg["negocio_nombre"]."</td><td>".$reg["ot"]."</td><td>".$reg["numero_poliza"]."</td><td>".$reg["tramite"] ."</td><td>".$reg["informacion"]."</td><td>".$reg["fecha_ingreso"]."</td><td>".$reg["fecha_standard"]."</td><td>TERMINADO </td><td>"$reg["fecha_terminacion"]."</td>"
            
            }
            else
            {
$var=$var+1$_SESSION['vario']=$_SESSION['vario']+1;

            echo 
"<TR><TD>".$reg["nombre"]."&nbsp".$reg["app"]."&nbsp".$reg["apm"]."&nbsp</td><td>".$reg["negocio_nombre"]."</td><td>".$reg["ot"]."</td><td>".$reg["numero_poliza"]."</td><td>".$reg["tramite"] ."</td><td>".$reg["informacion"]."</td><td>".$reg["fecha_ingreso"]."</td><td>".$reg["fecha_standard"]."</td><td> EN TRAMITE</td><td>"$reg["fecha_terminacion"]."</td> "
            
            }
            
                    
            }
            
echo 
"</TR>";
echo 
"</TABLE>";
echo 
"<input type=submit value=Actualizar name=actu>";
echo 
"</form>";


}
else
{
                        
$var=0;
                        
$_SESSION['vario']=0;
                
                
$query="select u.nombre,u.app, u.apm, l.negocio_nombre, t.ot,t.numero_poliza, t.tramite, t.informacion, s.fecha_ingreso, s.fecha_standard, s.estado, s.fecha_terminacion 
    from USUARIO as u, TRAMITES as t, status as s, LINEA_NEGOCIO as l 
    where t.linea_negocio=l.negocio_id   and t.ot=s.ot_ext and t.id_USUARIO=u.USUARIO_id
    "
;
    echo 
"<form name=formita action=backupconsul.php method=post >";
    echo 
"<table border=4>";
            echo
"<tr><td>Nombre del agente</td><td>Linea de negocio</td><td> OT</td><TD>NUMERO DE POLIZA</TD><TD> TRAMITE</TD><TD>INFORMACION</TD><TD>FECHA DE INGRESO</TD><TD>FECHA ESTANDAR</TD><TD>ESTADO</TD><TD>FECHA TERMINO</TD><td>DAR POR TERMINADO</td></TR>";
                
$result_verif=mysql_query($query,$conectar);
                echo 
mysql_error();
                
$reg=mysql_fetch_row($result_verif);
                
            echo 
"<TR>";
            while(
$reg=mysql_fetch_array($result_verif))
            {  
                if (
$reg["estado"]=='1')
                {
            echo 
"<TR><TD>".$reg["nombre"]."&nbsp".$reg["app"]."&nbsp".$reg["apm"]."&nbsp</td><td>".$reg["negocio_nombre"]."</td><td>".$reg["ot"]."</td><td>".$reg["numero_poliza"]."</td><td>".$reg["tramite"] ."</td><td>".$reg["informacion"]."</td><td>".$reg["fecha_ingreso"]."</td><td>".$reg["fecha_standard"]."</td><td>TERMINADO </td><td>"$reg["fecha_terminacion"]."</td>"
            
            }
            else
            {
$var=$var+1$_SESSION['vario']=$_SESSION['vario']+1;

            echo 
"<TR><TD>".$reg["nombre"]."&nbsp".$reg["app"]."&nbsp".$reg["apm"]."&nbsp</td><td>".$reg["negocio_nombre"]."</td><td>".$reg["ot"]."</td><td>".$reg["numero_poliza"]."</td><td>".$reg["tramite"] ."</td><td>".$reg["informacion"]."</td><td>".$reg["fecha_ingreso"]."</td><td>".$reg["fecha_standard"]."</td><td> EN TRAMITE</td><td>"$reg["fecha_terminacion"]."</td> <td><input type=checkbox name=c[] value=".$reg["ot"]."></td><td><input type=checkbox name=c[] value=".$reg["ot"]."></td>";
            
            }
            
                    
            }
            
echo 
"</TR>";
echo 
"</TABLE>";
echo 
"<input type=submit value=Actualizar name=actu>";
echo 
"</form>";

}            
        
}
//if
            
            
else
            {
                echo 
"alert";
            }
        }
    }

}



                        

?>
<HTML>
<TITLE>Consultas</TITLE>

<a><input type="button" name="" value="REGRESAR" onClick=document.location.href="menu.php"></a>



</HTML>
  #4 (permalink)  
Antiguo 02/05/2008, 10:08
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 8 meses
Puntos: 28
Re: [DUDA] Privilegios en zona privada

ok perfecto... fijense en algo y de antemano gracias por su atencion :)

yo tngo mi login q es este...

Código PHP:
<?php
// Configura los datos de tu cuenta 
$dbhost='localhost'
$dbusername='root'
$dbuserpass=''
$dbname='granterraza'

session_start(); 

// Conectar a la base de datos 
mysql_connect ($dbhost$dbusername$dbuserpass); 
mysql_select_db($dbname) or die('Cannot select database'); 

if (
$_POST['username']) { 
//Comprobacion del envio del nombre de usuario y password 
$username=$_POST['username']; 
$password=$_POST['password']; 
if (
$password==NULL) { 
echo 
"La password no fue enviada"
}else{ 
$query mysql_query("SELECT username,password FROM users WHERE username = '$username'") or die(mysql_error()); 
$data mysql_fetch_array($query); 
if(
$data['password'] != $password) { 
echo 
"Login incorrecto"
}else{ 
$query mysql_query("SELECT username,password FROM users WHERE username = '$username'") or die(mysql_error()); 
$row mysql_fetch_array($query); 
$_SESSION["s_username"] = $row['username']; 
echo 
"Has sido logueado correctamente ".$_SESSION['s_username']." y puedes acceder al index.php."


}  

?>
//aqui se daran cuenta q agrego el codigo
<?php
...
session_register("login");
$_SESSION[login] = "Si";
...
?>
logico si el pass es incorrecto deberia cargarme una vez mas el form de login...
pero no lo hace solo me dice si es correcto o incorrecto :(
soy un tanto malin para la programacion ...
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
  #5 (permalink)  
Antiguo 02/05/2008, 10:56
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 8 meses
Puntos: 28
Re: [DUDA] Privilegios en zona privada

no me anda >.<

sigue sin mostrar la parte privada

Código PHP:
<?php
if($_SESSION[login]!="Si") {
header("nolog.php");
}
?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<p>&nbsp;</p>
</body>
</html>
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...

Última edición por T4ke0veR; 02/05/2008 a las 10:57 Razón: faltaba el codigo
  #6 (permalink)  
Antiguo 02/05/2008, 11:01
Avatar de Darth_Carl  
Fecha de Ingreso: mayo-2008
Ubicación: En Foros DWP
Mensajes: 160
Antigüedad: 16 años
Puntos: 8
Re: [DUDA] Privilegios en zona privada

Cita:
Código PHP:
//aqui se daran cuenta q agrego el codigo
<?php
...
session_register("login");
$_SESSION[login] = "Si";
...
?>
Elimina los ..., dejalo asi:
Código PHP:
<?php
session_register
("login");
$_SESSION[login] = "Si";
?>
Crea en tu web, un archivo llamado nolog.php que diga lo de "Sin nivel", y modifica el código de la parte privada:

Código PHP:
<?php
if($_SESSION[login]!="Si") {
header("Location: http://tuweb.com/nolog.php"); 
//Sustituye ttp://tuweb.com/nolog.php por la URL donde se encuentra el
//nolog.php
//Es importante el Location:
}
?>
  #7 (permalink)  
Antiguo 02/05/2008, 11:07
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 8 meses
Puntos: 28
Re: [DUDA] Privilegios en zona privada

como q diga lo d sin nivel????

fijate esto... este es mi nolog

Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<
title>Untitled Document</title>
</
head>

<
body>
hola hola hola
</body>
</
html
simplemente ur archivo de prueba a ver si me lo carga....
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
  #8 (permalink)  
Antiguo 02/05/2008, 13:26
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 8 meses
Puntos: 28
Re: [DUDA] Privilegios en zona privada

aaaaaaja aqui la tengo...
esta es la pagina de login... la pagina privada...
ahora bien... yo no deseo q me muestre esos echos si no q me muestre el contenido de la pagina... como le debo hacer???

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

// Conexión a la base de datos 
mysql_connect ($dbhost$dbusername$dbuserpass); 
mysql_select_db($dbname) or die('Cannot select database'); 


if (isset(
$_SESSION['s_username'])) { 
echo 
"Bienvenido a mi sitio has ingresado como ".$_SESSION['s_username'].", gracias por la visita!"
}else{ 
echo 
"Tu no estas autentificado dirígete a login.php o registrate en register.php"
echo 
$_SESSION['s_username']; 
}  
?>
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
  #9 (permalink)  
Antiguo 04/05/2008, 01:07
Avatar de Monimo  
Fecha de Ingreso: noviembre-2007
Ubicación: Mexico Df
Mensajes: 742
Antigüedad: 16 años, 5 meses
Puntos: 69
Re: [DUDA] Privilegios en zona privada

Ah ya pues utiliza un
Código PHP:

header 
("Location: menu.php"); 
enlugar de el echo
  #10 (permalink)  
Antiguo 04/05/2008, 16:27
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Re: [DUDA] Privilegios en zona privada

Haz lo que te diji monimo

Código PHP:

<?php 
// Configura la información de tu cuenta  
$dbhost='localhost';  
$dbusername='root';  
$dbuserpass='';  
$dbname='granterraza';  
session_start();  

// Conexión a la base de datos  
mysql_connect ($dbhost$dbusername$dbuserpass);  
mysql_select_db($dbname) or die('Cannot select database');  


if (isset(
$_SESSION['s_username'])) {  
header ("Location: index.php");  lo mandas a index como logueado
}else{  
header ("Location: registro.php"); //lo mandas a tu pagina de registro
}   
?>
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 19:32.