Foros del Web » Programando para Internet » PHP »

Su opinion sobre campos ocultos

Estas en el tema de Su opinion sobre campos ocultos en el foro de PHP en Foros del Web. Soy novatoen php, pero lo que deseo es mostrar funciones especiales para un tipo de usuario al momento de logearse exitosamente. Las opciones o funciones ...
  #1 (permalink)  
Antiguo 17/07/2011, 21:10
Avatar de mitcheldaza  
Fecha de Ingreso: junio-2011
Ubicación: Colombia
Mensajes: 42
Antigüedad: 12 años, 10 meses
Puntos: 1
Su opinion sobre campos ocultos

Soy novatoen php, pero lo que deseo es mostrar funciones especiales para un tipo de usuario al momento de logearse exitosamente.

Las opciones o funciones de usuario estaran dadas por botones (accion para ejecutar una funcion) se que para ejecutar cualquier script en php hay que recargar la pagina ademas no tengo problemas con el logeo ni la distincion de tipo de usuario.

Tengo dos preguntas:

1. es conveniente usar botones submit para cada funcion o tarea del usuario con campos ocultos en el formulario de manera que parezcan botones normales que ejecuten una funcion, existe otra manera de hacerlo.
pongo el ejemplo de la tarea borrar cuenta, solo la puede realizar un usuario administrador pondria yo un formulario con un campo oculto y su respectivo boton submit que ejecutara un script que me muestre todos los registros de la BD y permita escoger uno y borrarlo.

2. identifico el tipo de usuario mediante la comparacion del nombre de usuario y una campo en la BD que me da el tipo de usuario.

Código PHP:
$usuario=mysql_query("select tipo_usuario from usuarios where nombre_usuario='$_REQUEST[user2]'",$conex)
                        or die(
"problemas al elegir tipo usuario".mysql_error());
if(
$cont=mysql_fetch_array($usuario)){
                            echo 
"<H3>"."BIENVENIDO  ".$_REQUEST['user2']."</H3>";
                            switch(
$cont['tipo_usuario']){  
                                case 
0:
                                
$us="administrador";
                                break;
                            
                                case 
1
                                
$us="comprador";
                                break;    
                            }
                            echo 
"tipo de usuario  ".$us." permisos otorgados";
                        } 
lo que quiero es mostrar determinados formularios y disposicion de estos (para las tareas permitidas a cada usuario) dependiendo del tipo de usuario.
Ya he pensado en redirigir a paginas distintas por cada tipo de usuario donde estaran accesibles las funciones para cada tipo de usuario.
Es correcto hacer esto o existe otra manera.

Acudo a personas que tengan experiencia para saber si lo que hago es realmente recomendable.

GRACIAS POR CUALQUIER RESPUESTA
  #2 (permalink)  
Antiguo 17/07/2011, 21:21
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Su opinion sobre campos ocultos

1 - la mejor forma de proporcionar seguridad es usar sesiones (php session) y con ello registrar los usuarios y su tipo en una DB (no limitativo), así al loguearse registras en una variable de sesión si el mismo es admin o no.

2 - evita el uso de $_REQUEST, usa $_POST o $_GET según el caso
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 17/07/2011, 21:29
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 10 meses
Puntos: 181
Respuesta: Su opinion sobre campos ocultos

Pues lo que pretendes hacer en realidad no esta del todo mal. Por ejemplo si deseas que un usuario no borre algun dato lo puedes colocar en un formulario donde la función no deje que borre los datos. Sin embargo tambien sería recomendable que por cada usuario (administrador, usuario, ventas, etc) colocaras unos valores de sesión personalizados por usuario. En cada formulario primero se deberia verificar que el usuario inicio sesión y que para ese tipo de formulario su sesión le da los permisos suficientes para el mismo. En caso de que no haya iniciado sesión o sus variables de sesión no correspondan con esa página en particular deberia redireccionar inmediatamente a otra página y no dejar que use paginas prohibidas.

Averigua un poco sobre inicio de sesiones en PHP para saber mas al respecto.
  #4 (permalink)  
Antiguo 17/07/2011, 21:32
Avatar de mitcheldaza  
Fecha de Ingreso: junio-2011
Ubicación: Colombia
Mensajes: 42
Antigüedad: 12 años, 10 meses
Puntos: 1
Respuesta: Su opinion sobre campos ocultos

Gracias, pero el por que debo evitar el uso de $_REQUEST ?

y si me puedes ayudar con decirme si usar formularios con campos ocultos para usar los botones submit como botones que generen un llamado a un script (funciones de usuario) es conveniente ?
  #5 (permalink)  
Antiguo 17/07/2011, 23:56
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Su opinion sobre campos ocultos

El problema con request es que es indiferente y no hace distinción sobre si es una petición GET o POST, imagina que intentan acceder al archivo de esta manera tuarchivo.php?user2=cualquier_usuario funcionaria igual o no tal cual sin usar un formulario
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #6 (permalink)  
Antiguo 18/07/2011, 19:11
Avatar de mitcheldaza  
Fecha de Ingreso: junio-2011
Ubicación: Colombia
Mensajes: 42
Antigüedad: 12 años, 10 meses
Puntos: 1
Respuesta: Su opinion sobre campos ocultos

Muchas gracias a todos los que me ayudaron y si de ahora en adelante tendre en cuenta la sugerencia de no usar REQUEST para validar, me ayudara a mejorar mi codigo.

Etiquetas: campos, ocultos, registro, formulario, usuarios
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 11:58.