• Publicidad

Deshabilitando opciones

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

Deshabilitando opciones

Notapor Negrazo » 2009-07-13 11:59 @541

Hola a todos.

Tengo un problema que no he podido resolver.

Resulta que en una aplicación escolar, debo permitir a mis usuarios acceso solo a aquellas opciones a las que tienen autorización en la tabla Usuario de mi base de datos.

Son ocho opciones y los campos de autorización son aut01..aut08.
Si el campo = 1 está autorizada la opción.
Si el campo = 0 no está autorizada la opción.

La presentación de las opciones la tengo en una table y me he topado que para estos elementos no funciona el atributo 'disabled'.

¿De qué otra forma lo pudiera hacer?

Si alguien tiene una idea, se lo voy a agradecer mucho.

Aquí va parte del código.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. my $sth = $con->prepare("SELECT aut01,aut02,aut03,aut04,aut05,aut06,aut07,aut08 FROM usuario where usuario = '$userid' and password = '$pw' ") or die "No puedo leer en la base de datos...";
  2. $sth->execute();
  3.  
  4. my @doc = $sth->fetchrow_array;
  5.  
  6. $session->param('Aut01',$doc[0]);
  7. $session->param('Aut02',$doc[1]);
  8. $session->param('Aut03',$doc[2]);
  9. $session->param('Aut04',$doc[3]);
  10. $session->param('Aut05',$doc[4]);
  11. $session->param('Aut06',$doc[5]);
  12. $session->param('Aut07',$doc[6]);
  13. $session->param('Aut08',$doc[7]);
  14.  
  15. $session->param('user',$userid);
  16. print "<B>Bienvenida(o) $name" . "</B><BR>";
  17. print "<table border='4'   align='center'>";
  18.  
  19. printf ("<tr><td><a href=\"modinscs.pl?%s=%s\">1.-Modulo de Inscripciones<img src='insc02.jpg' border='0' name='banner'></a></td>",  $session->name, $session->id);
  20.  
  21. printf ("<td><a href=\"modpagos.pl?%s=%s\">2.-Modulo de Pagos<img src='pagos01.jpg' border='0' name='banner'></a></td></tr>",  $session->name, $session->id);
  22.  
  23. printf ("<tr><td><a href=\"modbecas.pl?%s=%s\">3.-Modulo de Becas<img src='becas04.jpg' border='0' name='banner'></a></td>",  $session->name, $session->id);
  24.  
  25. printf ("<td><a href=\"modinventarios.pl?%s=%s\">4.-Modulo de Inventarios<img src='inv01.jpg' border='0' name='banner'></a></td></tr>", $session->name, $session->id);
  26.  
  27. printf ("<tr><td><a href=\"modrembolsos.pl?%s=%s\">5.-Modulo de Reembolsos<img src='reemb01.jpg' border='0' name='banner'></a></td>",  $session->name, $session->id);
  28.  
  29. printf ("<td><a href=\"modcalificaciones.pl?%s=%s\">6.-Modulo de Calificaciones<img src='calif04.jpg' border='0' name='banner'></a></td></tr>",  $session->name, $session->id);
  30.  
  31. printf ("<tr><td><a href=\"security.pl?%s=%s\">7.-Seguridad<img src='Fotos13122007028.jpg' border='0' name='banner'> </a></td>",  $session->name, $session->id);
  32.  
  33. printf ("<td><a href=\"cajahorro.pl?%s=%s\">8.-Empleados y Caja de Ahorros<img src='ahorro01.jpg' border='0' name='banner'> </a></td></tr>",  $session->name, $session->id);
  34.  
  35. print "</table>\n";
  36.  
  37. printf ("<a href=\"closes.pl?%s=%s\">Cerrando Sesion<img src='Fotos13122007001.jpg' border='0' name='banner'></a>",  $session->name, $session->id
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4


Gracias.

Negrazo
Negrazo
Perlero nuevo
Perlero nuevo
 
Mensajes: 100
Registrado: 2006-12-28 12:51 @577
Ubicación: Guadalajara, Mexico

Publicidad

Re: Deshabilitando opciones.

Notapor netsoul » 2009-07-13 12:19 @555

Lo que puedes hacer es crear una tabla con niveles jerárquicos, donde cada nivel tendrá su permiso. De esta forma, a la hora de hacer la consulta, solo se hará a un campo con los permisos preasignados.

Espero haber entendido a tu pregunta. :)
With Perl
Imagination is more important than knowledge. Albert Einstein.
netsoul
Perlero nuevo
Perlero nuevo
 
Mensajes: 150
Registrado: 2008-05-04 01:11 @091

Re: Deshabilitando opciones

Notapor explorer » 2009-07-13 15:17 @678

Se pueden hacer varias cosas:

Puedes esconder esas opciones, cambiando el atributo de la línea: <tr style="display: none">

Pones unos if() en el código para que esas opciones no aparezcan.

Pones unos if() que cambien todo el contenido de los href="..." por href="#". Así, los enlaces están, pero no funcionan.
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Deshabilitando opciones

Notapor Negrazo » 2009-07-13 21:08 @922

Estimado explorer.

Nuevamente mil gracias por tu ayuda.
Ya funcionó y muy bien.

De lo que me dijiste, solo había que meter los if() y en los vínculos meter "#" cuando no hay autorización, y con eso fue suficiente.

No hizo falta meterme con lo de 'display:none', que me imagino es parte de estilos CSS, cuando los metí, me hacia algunas cosas raras, en cuanto se los quité, todo funcionó bien.

Di no a Vodafone.
Negrazo
Perlero nuevo
Perlero nuevo
 
Mensajes: 100
Registrado: 2006-12-28 12:51 @577
Ubicación: Guadalajara, Mexico


Volver a Intermedio

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 10 invitados