Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] restringir acceso a paginas

Estas en el tema de restringir acceso a paginas en el foro de PHP en Foros del Web. buenas noches amigos, estoy tratando de restringir el acceso a una pagina pero no me sale no encuentro la vuelta ya que si copio la ...
  #1 (permalink)  
Antiguo 05/01/2016, 17:55
 
Fecha de Ingreso: septiembre-2015
Ubicación: caracas
Mensajes: 75
Antigüedad: 8 años, 7 meses
Puntos: 0
restringir acceso a paginas

buenas noches amigos, estoy tratando de restringir el acceso a una pagina pero no me sale no encuentro la vuelta ya que si copio la url de entrada a la pagina y la peego sigo entrando cuando lo logico es que me salga un alerta que indique que no puedo entrar a menos que entre normal con usuario y passwordsi por favor alguien me puede ayudar se lo agradeceria.


aqui esta el login.php que hace la rutina de sección

<?php
SESSION_START();

include("claseconexion.php");

$user=$_POST['txtlogin'];
$contrasena=$_POST['txtclave'];

$sql="select * from usuarios where usuario='$user' and password='$contrasena'";

$result=mysql_query($sql,conectar::conn()) or die("error de ejecucion de consulta");

if(mysql_fetch_array($result)){

?>
<script>

location.href="index1.php";
</script>
<?php
$_SESSION["usuario"]=$user;

}else{
?>
<script>
alert("El usuario no Existe");
location.href="index.php";
</script>
<?php
}
?>
<?php
SESSION_START();
if($_SESSION["usuario"]!=""){
//if($_SESSION["usuario"]="$user"){
?>


aqui esta la pagina que tengo problemas en rojo las rutinas donde tengo el porblema

<?php
SESSION_START();
if($_SESSION["usuario"]!=""){
//if($_SESSION["usuario"]="$user"){
?>

<html>
<head>
</head>
<body>

<form action="registroage.php" method="POST" enctype="multipart/form-data" class="form-horizontal">
<div class="form-group">

<div class="col-md-3">

</div>

<label for="nombre" class="control-label col-md-1">Nombres:</label>
<div class="col-md-5">
<input class="form-control" type="text" name="nombres" placeholder="Introduzca Nombres completos...Ejem Roberto Luis"/>
</div>
<div class="col-md-3">

</div>
</div>



<div class="form-group">

<div class="col-md-3">

</div>

<label for="apellido" class="control-label col-md-1">Apellidos:</label>
<div class="col-md-5">
<input class="form-control" type="text" name="apellidos" placeholder="Introduzca Apellidos completos...Ejem Peréz Alvarado"/>
</div>
<div class="col-md-3">
</div>
</div>

<div class="form-group">

<div class="col-md-3">

</div>

<label for="email" class="control-label col-md-1">E_mail:</label>
<div class="col-md-5">
<input class="form-control" type="text" name="correo" placeholder="Introduzca un Correo valido...Ejem [email protected]"/>
</div>

<div class="col-md-3">

</div>

</div>

<div class="form-group">

<div class="col-md-2">

</div>

<label for="telf1" class="control-label col-md-2">Telf-móvil:</label>
<div class="col-md-5">
<input class="form-control" type="text" name="telf1" placeholder="Introduzca un teléfono valido...Ejem 04125591374"/>
</div>

<div class="col-md-3">

</div>

</div>


<div class="form-group">

<div class="col-md-3">

</div>

<label for="telf2" class="control-label col-md-1">Telf-fijo:</label>
<div class="col-md-5">
<input class="form-control" type="text" name="telf2" placeholder="Introduzca un teléfono valido...Ejem 02125148547"/>
</div>

<div class="col-md-3">

</div>

</div>


<div class="form-group">

<div class="col-md-2">

</div>

<label for="archivo" class="control-label col-md-2">Foto personal:</label>

<div class="col-md-5">

<input type="file" name="imagen" >
<p class="help-block">Máximo 100 kb en tamaño - Dimensiones 200x200</p>

</div>

</div>


<center><div class="form-group">



<input type="button" value="Guardar registro" onClick="validar()" class="btn btn-primary btn-md"> <input type="reset" value="Borrar registro" button class="btn btn-success">
<button type="button" class="btn btn-info btn-md" data-toggle="modal" data-target="#myModal">Información</button>

<!-- Modal -->
<div id="myModal" class="modal fade" role="dialog">
<div class="modal-dialog">

<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">Información sobre el módulo de registro</h4>
</div>
<div class="modal-body">
<p>Some text in the modal.</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div></div></center>
</form>
</div>





</body>
</html>



<?php
}else{
echo "<h1>USTED NO TIENE PERMISO PARA ENTRAR A ESTA PAGINA</h1>";
echo "<br>";
echo "<h1>CONTACTE CON EL ADMINISTRADOR</h1>";
}
?>



Por favor si alguien me puede ayudar muchas gracias
__________________
ymanol caires z
  #2 (permalink)  
Antiguo 05/01/2016, 19:48
 
Fecha de Ingreso: diciembre-2015
Mensajes: 529
Antigüedad: 8 años, 4 meses
Puntos: 39
Respuesta: restringir acceso a paginas

Si haces esto
Código PHP:
Ver original
  1. echo $_SESSION['usuario'];

Te imprime algo?
  #3 (permalink)  
Antiguo 05/01/2016, 20:38
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: restringir acceso a paginas

Lo raro es que no te de algún error de php.

Recuerda que php case sensitive y distingue entre minúsculas y mayúsculas.

Mal
Código PHP:
Ver original 

Bien
Código PHP:
Ver original 

Más información sobre session_start
  #4 (permalink)  
Antiguo 05/01/2016, 21:54
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: restringir acceso a paginas

Cita:
Recuerda que php case sensitive y distingue entre minúsculas y mayúsculas.
Sí, pero con los nombres de clases o funciones no existe tal restricción.

Código PHP:
Ver original
  1. ECHO 'OK';
  2. eChO 'OK';
  3. PrInT('OK');

Por otro lado en definitiva hay que consultar el manual, ya que session_start() funcionará únicamente si no existe ningún tipo de salida antes.

Además habrá que activar el reporte completo de errores porque es bastante probable que ya ocurran errores y ni como enterarse.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 06/01/2016, 06:18
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: restringir acceso a paginas

Cita:
Iniciado por pateketrueke Ver Mensaje
Sí, pero con los nombres de clases o funciones no existe tal restricción.

Código PHP:
Ver original
  1. ECHO 'OK';
  2. eChO 'OK';
  3. PrInT('OK');

Por otro lado en definitiva hay que consultar el manual, ya que session_start() funcionará únicamente si no existe ningún tipo de salida antes.

Además habrá que activar el reporte completo de errores porque es bastante probable que ya ocurran errores y ni como enterarse.
No sabia que clases y funciones estuviesen exentos. Gracias por la información.
  #6 (permalink)  
Antiguo 06/01/2016, 08:44
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: restringir acceso a paginas

lo que veo es que estas haciendo la redirección antes de crear las variables de sesión y debería ser lo contrario, que crees las variables de sesión antes de cualquier redirección.
__________________
[email protected]
HITCEL
  #7 (permalink)  
Antiguo 06/01/2016, 16:25
 
Fecha de Ingreso: septiembre-2015
Ubicación: caracas
Mensajes: 75
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: restringir acceso a paginas

Saludos amigo no funciona el problema es que registra el usuario, pero cuando copio la url y la pego sigue entrando

<?php
SESSION_START();
if($_SESSION["usuario"]!=""){
//if($_SESSION["usuario"]="$user"){
?>

body

<?php
}else{
echo "<h1>USTED NO TIENE PERMISO PARA ENTRAR A ESTA PAGINA</h1>";
echo "<br>";
echo "<h1>CONTACTE CON EL ADMINISTRADOR</h1>";
}
?>
__________________
ymanol caires z
  #8 (permalink)  
Antiguo 06/01/2016, 16:52
 
Fecha de Ingreso: diciembre-2015
Mensajes: 529
Antigüedad: 8 años, 4 meses
Puntos: 39
Respuesta: restringir acceso a paginas

Quizá porque en vez de "" te devuelva null php.
Prueba así.

Código PHP:
Ver original
  1. if (!empty($_SESSION["usuario"]) )
o
Código PHP:
Ver original
  1. if ($_SESSION["usuario"] != "null")
  #9 (permalink)  
Antiguo 06/01/2016, 17:32
 
Fecha de Ingreso: septiembre-2015
Ubicación: caracas
Mensajes: 75
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: restringir acceso a paginas

Listo rodocoyote15 mira lo que hice con tu ayuda

cree un php denominado cerrar.php donde destuye la sección

<html>
<body>
<?php
SESSION_UNSET();
SESSION_DESTROY();
?>
<script>
location.href="index.php";
</script>
</body>
</html>

luego en la pagina o paginas a restringir hice esto

<?php
SESSION_START();
//aqui coloco tu ayuda que es el centro del problema y funciono agregando el cerrar.php

if (!empty($_SESSION["usuario"]) ){
?>

<body>
//aqui si el usuario esta dentro sale del sistema y destruye su usuario a través del php cerrar
<a href="cerrar.php">Salir del sistema</a>;

</body>

// aqui si tratan de entrar sin una clave o copiando la url le indica este mansaje y los arroja nuevamente a introducir el usuario y clave

<?php
}else{
echo "<h1>USTED NO TIENE PERMISO PARA ENTRAR A ESTA PAGINA</h1>";
echo "<br>";
echo "<h1>CONTACTE CON EL ADMINISTRADOR</h1>";
echo "<br>";
echo "<a href=cerrar.php>Salir del sistema</a>";
}
?>

muchas gracias amigo por la ayuda excelente
__________________
ymanol caires z
  #10 (permalink)  
Antiguo 06/01/2016, 17:36
 
Fecha de Ingreso: diciembre-2015
Mensajes: 529
Antigüedad: 8 años, 4 meses
Puntos: 39
Respuesta: restringir acceso a paginas

Perfecto! A los que te ayudaron nos hace sentir bien un +1 jeje
Yo ya daba por hecho que destruías la sesión cuando hablabas de 'salir' jajaja. Un saludo

Etiquetas: html, registro, restringir, select, sql, 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 09:42.