Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Regresar a la pagina anterior

Estas en el tema de Regresar a la pagina anterior en el foro de PHP en Foros del Web. Buenas foro Estoy realizando un sistema que tiene permisos para ver para hacer modificaciones y para hacer reportes, pero mi pregunta es como puedo hacer ...
  #1 (permalink)  
Antiguo 27/03/2013, 11:30
Avatar de jandrogdz  
Fecha de Ingreso: julio-2012
Ubicación: public $Guadalajara
Mensajes: 397
Antigüedad: 11 años, 9 meses
Puntos: 12
Pregunta Regresar a la pagina anterior

Buenas foro

Estoy realizando un sistema que tiene permisos para ver para hacer modificaciones y para hacer reportes, pero mi pregunta es como puedo hacer para que si el usuario no tiene permiso de ver esa pagina lo regrese a la pagina de donde quiso acceder y mandarle un mensaje de error.

Espero me puedan apoyar.
__________________
Lo imposible solo cuesta un poco mas
  #2 (permalink)  
Antiguo 27/03/2013, 11:33
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 16 años
Puntos: 47
Respuesta: Regresar a la pagina anterior

hazlo con sesiones y manejando niveles de usuario al momento de registrarlos, ya que de esta formas tendras en tu base identificado a que nivel pertenece cada usuario, por lo tanto cuando se autentique podras guardar en una sesion el nivel al que pertence y asi en tus script podras verificar si el usuario tiene el perfil necesario para acceder a los mismos
  #3 (permalink)  
Antiguo 27/03/2013, 11:44
Avatar de jandrogdz  
Fecha de Ingreso: julio-2012
Ubicación: public $Guadalajara
Mensajes: 397
Antigüedad: 11 años, 9 meses
Puntos: 12
Respuesta: Regresar a la pagina anterior

Eso de los permisos ya lo tengo resulto ya les doy el acceso al modulo que se requiera pero mi duda es que al momento de que quieran entrar al modulo donde no tienen acceso regresarlos a la pagina que estaban mandando un error.

por ahorita utilice una función de javascript:
Código Javascript:
Ver original
  1. <script>javascript:history.back(-1)</script>
__________________
Lo imposible solo cuesta un poco mas
  #4 (permalink)  
Antiguo 27/03/2013, 11:47
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 16 años
Puntos: 47
Respuesta: Regresar a la pagina anterior

mira si lo haces con un header entonces puedes enviar un parametro que te indique que debes enviarle un error

Código PHP:
Ver original
  1. header("location:index.php?error=1");
  #5 (permalink)  
Antiguo 27/03/2013, 12:02
Avatar de jandrogdz  
Fecha de Ingreso: julio-2012
Ubicación: public $Guadalajara
Mensajes: 397
Antigüedad: 11 años, 9 meses
Puntos: 12
Respuesta: Regresar a la pagina anterior

ok si ya intente eso pero como le hago para saber a donde lo va aregresar.
intente con :

Código PHP:
Ver original
  1. header("Location:".$_SERVER['HTTP_REFERER']."?error=lectura");

Pero si trato de entrar varias veces me sigue concatenando el error, es decir

directorio/pagina.php?error=lectura?error=lectura.
__________________
Lo imposible solo cuesta un poco mas
  #6 (permalink)  
Antiguo 27/03/2013, 12:14
 
Fecha de Ingreso: enero-2012
Ubicación: <?php echo"Los teques"; ?>/////estado miranda
Mensajes: 196
Antigüedad: 12 años, 2 meses
Puntos: 9
Respuesta: Regresar a la pagina anterior

en todas las paginas que contengan el enlace pon lo siguiente
<?php
if ( $GET_['error'] == lectura){
echo "ocurrio un error"
echo "<meta http-equiv='Refresh' content='5;url=directorio actual sin variable error'>";
}
?>

esto lo que hara es dar el mensaje que tu desees (entiendo qaue tienes el codigo del popup) y en 5 segundos redireccionarte al enlace sin variable, es basico pero es funcional.
  #7 (permalink)  
Antiguo 27/03/2013, 12:20
 
Fecha de Ingreso: marzo-2013
Ubicación: Neuquén Capital
Mensajes: 111
Antigüedad: 11 años, 1 mes
Puntos: 8
Respuesta: Regresar a la pagina anterior

Pone al principio del codigo de cada pagina, que averigue mediante el $SESSION que exista el usuario en la BD.
Código PHP:
Ver original
  1. //Validar que el usuario este logueado y exista un UID
  2. if ( ! ($_SESSION['autenticado'] == 'SI' && isset($_SESSION['uid'])) )
  3. {

Que de resultado tenga un formulario..

Código HTML:
Ver original
  1. <form name="formulario" method="post" action="index.php">
  2.             <input type="hidden" name="msg_error" value="2">
  3.         </form>
  4.         <script type="text/javascript">
  5.             document.formulario.submit();
  6.         </script>
y que el valor de la UID lo saque mediante una consulta a la base de datos. TODO ESTO antes del HTML asi te aseguras de que NO CARGUE LA PAGINA si no esta registrado!
  #8 (permalink)  
Antiguo 27/03/2013, 12:35
Avatar de jandrogdz  
Fecha de Ingreso: julio-2012
Ubicación: public $Guadalajara
Mensajes: 397
Antigüedad: 11 años, 9 meses
Puntos: 12
Respuesta: Regresar a la pagina anterior

mmm he probado eso que me comentan pero sigo sin exito alguien sabe como guardar en una session o cookie para poder saber a donde se va
__________________
Lo imposible solo cuesta un poco mas
  #9 (permalink)  
Antiguo 27/03/2013, 12:43
 
Fecha de Ingreso: enero-2012
Ubicación: <?php echo"Los teques"; ?>/////estado miranda
Mensajes: 196
Antigüedad: 12 años, 2 meses
Puntos: 9
Respuesta: Regresar a la pagina anterior

otra cosa, obten los datos del user, y crea un campo en la tabla llamado permisos 1 es un user normal 2 es con permisos suficientes y pon esto

<?php
if ( $obtener_valor_de_permisos == 2) {
echo "<a href='aca el link'> aca el texto </a>";
}
elseif ( $obtener_valor_de_permisos ==1 ) {
echo "<a href="#" onClick="alert('No tienes suficientes permisos')'>aca el texto</a>";
}
?>
pon eso donde mostraras el enlace :P
  #10 (permalink)  
Antiguo 27/03/2013, 12:54
Avatar de jandrogdz  
Fecha de Ingreso: julio-2012
Ubicación: public $Guadalajara
Mensajes: 397
Antigüedad: 11 años, 9 meses
Puntos: 12
Respuesta: Regresar a la pagina anterior

No comprendi tu respuesta omarinfinito
Me puedes explicar
__________________
Lo imposible solo cuesta un poco mas
  #11 (permalink)  
Antiguo 27/03/2013, 13:04
 
Fecha de Ingreso: enero-2012
Ubicación: <?php echo"Los teques"; ?>/////estado miranda
Mensajes: 196
Antigüedad: 12 años, 2 meses
Puntos: 9
Respuesta: Regresar a la pagina anterior

ok, primero que nada debes obtener si el usuario tiene derechos o no, ejemplo:
<?php
$query = mysql_qurery ("SELECT * FROM tutabla WHERE user = $_SESSION['user']");
while($fila=mysql_fetch_array($query)){
$permisos = $fila['permisos'];
}
?>
<?php
if ( $permisos == 2) {
echo "<a href='aca el link'> aca el texto </a>";
}
elseif ( $permisos ==1 ) {
echo "<a href="#" onClick="alert('No tienes suficientes permisos')'>aca el texto</a>";
}
?>


recuerda que no se como se llama el campo que contiene los permisos, y tampoco se si guardas los user con session o no, recuerda que lo puedes modificar a tu gusto, prueba este codigo aparte en un archivo propio a ver si e funciona.
  #12 (permalink)  
Antiguo 27/03/2013, 13:32
Avatar de jandrogdz  
Fecha de Ingreso: julio-2012
Ubicación: public $Guadalajara
Mensajes: 397
Antigüedad: 11 años, 9 meses
Puntos: 12
Respuesta: Regresar a la pagina anterior

Pues parece que ya me funciono.
mi solucion hasta ahorita es hacer un archivo independiente donde lo direcciono y le genero un boton de regreso con la funcion de javascript:

Y si los usuarios ya estan en session y ya tengo como sacar los permisos.

Gracias a todos.
__________________
Lo imposible solo cuesta un poco mas
  #13 (permalink)  
Antiguo 27/03/2013, 13:35
 
Fecha de Ingreso: enero-2012
Ubicación: <?php echo"Los teques"; ?>/////estado miranda
Mensajes: 196
Antigüedad: 12 años, 2 meses
Puntos: 9
Respuesta: Regresar a la pagina anterior

eh estado pensando, y encontre otra forma, en la pagina donde se muestra el enlace pon esto

<?php
if ( $_SERVER['HTTP_REFERER'] == paginarestringida){
echo "aca el codigo que mostrara el error";
}
?>

de manera que si la pagina anterior es la pagina restringida, de el error :D

Etiquetas: regresar
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 18:35.