mostrar solo a usuarios logueados...

21 views
Skip to first unread message

Nicolas Ezequiel Almonacid

unread,
Aug 10, 2014, 6:21:31 PM8/10/14
to programa...@googlegroups.com

Hola amigos, nuevamente por esta gran comunidad exponiendo una pequeña duda que tengo en mi proyecto...tengo un login de usuarios, el cual permite el acceso a una pequeña pagina de administracion, donde cargo un total de registros y tengo 2 botones, eliminar y actualizar, mi problema es que si yo ingreso via browser a la apgina actualiza.php (que esta protegia por el login) esta funcionando, de echo se puede ver que me pide iniciar sesión, pero carga todo el html como se ve, y si hago cualquiermodificacion igual la esta haciendo, y eso es lo que quiero evitar, lo que busco es que si via brwser ingreso a paginas protegidas, solo se muestre el mensaje de advertencia (debe inciar sesion) y no muestre nada del html...tengo el codigo estructruado asi:

Funcion Login:
function Login(){

           
try{
            $usuario
=$_POST['usuario'];
            $contrasena
= ($_POST['contrasena']);
               
//Consulta
            $query
="SELECT * FROM login WHERE usuario=? AND contrasena = ?";
           
           
//Preparamos la Consulta
            $stmt
=$this->con->prepare($query);
           
           
//Blindamos Parametros
            $stmt
->bindParam(1,$usuario,PDO::PARAM_STR);
            $stmt
->bindParam(2,$contrasena,PDO::PARAM_STR);
           
           
//Ejecutamos la consulta
            $stmt
->execute();
           
           
if($stmt->rowCount() == 1){
                $d
= $stmt->fetch(PDO::FETCH_OBJ);
                $_SESSION
['user']= $d->usuario;    
                $_SESSION
['valido'] = true;
                header
("Location: panel.php");
           
}else{
                 echo
"Imposible acceder al panel de Administracion...Contacte con el administrador";
                 
}
           
}catch(PDOException $e){
                echo $e
->getMessage();
           
}
           
       
}//funcion Login

         
       
//Funcion Cerrar Sesion
       
public static function cierraSesion(){
           
if(isset($_SESSION['validado'])){
                unset
($_SESSION['validado']);
                session_destroy
();
                header
("location:../avisos.php");
           
}  
       
}//Funcion Cierra Sesion
y la pagina update:
session_start();

require_once
'../Inc/funciones.php';


//Recibo el cod_aviso que viene desde la pagina
$cod_aviso
= strip_tags($_GET['cod_aviso']);


//Instanciamos
$aviso
= new Avisos();

$avisos
=$aviso->detalleAviso($cod_aviso);

//Cargo el registro en sus campos del formulario
foreach($avisos as $row){
   
    $comuna        
=   $row['comuna'];
    $titulo_aviso  
=   $row['titulo_aviso'];
    $categoria      
=   $row['categoria_aviso'];
    $tipoaviso      
=   $row['tipo_aviso'];
    $valor          
=   $row['valor_producto'];
    $detalleaviso  
=   $row['aviso_completo'];
    $celular        
=   $row['telefono_celular'];
    $fijo          
=   $row['telefono_fijo'];
    $correo        
=   $row['correo_electronico'];
    $direccion      
=   $row['direccion'];
}

//actualizacion
if(isset($_POST['actualizar'])){
 
    $aviso
->actualizaAviso($cod_aviso);
}

//cierre de Sesion
if(isset($_GET['salir'])){
   
   
if($_GET['salir'] == 'ok'){
       
       
Avisos::cierraSesion();
   
}
}

//validacion session
if(isset($_SESSION['validado'])){
   
//echo ' ingresaste bien al sistema cabezon, bariloche se vieneeee eaeaea' .$_SESSION['user'] ;
   
    $user
=$_SESSION['user'];
   
}else{
   
 
    echo
"no tiene permisos de acceso";
}


?>

<!DOCTYPE html>
<!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
   
<head>
       
<meta charset="utf-8">
       
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
       
<title></title>
        <meta name="description" content="">

        <link rel="stylesheet" href="../
css/normalize.min.css">
        <link rel="
stylesheet" href="../css/bootstrap.css">
        <link rel="
stylesheet" href="../css/main.css">

        <script src="
js/vendor/modernizr-2.6.2.min.js"></script>
    </head>
    <body>
       
         
       
        <!--Contenedor Principal-->
        <div class="
container">
            <!--Header-->            
            <header>
                <section class="
col-lg-12">
                            <div class="
col-lg-3 logotipo">
                    <h1><a href="
#"><img src="../img/logo_chiloeavisos.png" alt="Chiloe Avisos" /></a></h1>
                           
</div>
                            <h2 class="text-left">Modulo de Administración</
h2>
                       
</section>
                       
                    <section class="col-lg-12 infoSesion">
                        <div class="col-lg-6">
                            Bienvenido al modulo de Administración: <strong><?php echo $user; ?></
strong><br>
                           
Sesión iniciada hoy: <strong>07-08-204</strong>
                        </
div>
                       
<div class="col-lg-6 text-right">
                           
<a href="update.php?salir=ok" class="btn btn-link"><img src="../img/exit.png" alt="Cerrar Sesión"/>Cerrar Sesion</a>
                        </
div>
                   
</section>
            </
header>

           
<!--Contenido para Administracion-->    
           
<div class="row panelAdmin">
                           
<h1 class="text-center">Actualización de Avisos</h1>
                               
                            <!--Resultado de la Operacion-->
                            <div class="col-lg-12 resultado">resultado</
div>
                           
                           
<!--Introduccion-->
                           
<div class="col-md-6 col-md-offset-3 text-center alert alert-warning">
                                 
<p>Se van a actualizar datos del aviso con el codigo: <strong><?php echo $cod_aviso; ?></strong></p>
                           
</div>
                           
                            <div class="col-lg-12">      
                                <form method="POST" action="">
                                    <table class="table table-striped table-hover">
                    <thead>
                                            <tr>
                        <td>Comuna Actual: <strong><?php echo $comuna; ?></
strong></td>
                       
<td> Nueva Comuna:
                       
<select name="comuna" class="form-control" >
                                                   
<option value=""selected="selected">Seleccione Nueva comuna:</option>
                                                   
<option value="Castro">Castro</option>
                                                    <option value="Ancud">Ancud</
option>
                                                   
<option value="Quellón">Quellón</option>
                                                    <option value="Quemchi">Quemchi</
option>
                                                   
<option value="Curaco de Velez">Curaco de Velez</option>
                                                    <option value="Dalcahue">Dalcahue</
option>
                                                   
<option value="Queilen">Queilen</option>
                                                    <option value="Puqueldon">Puqueldón</
option>
                                                   
<option value="Puerto Montt">Puerto Montt</option>
                                                    <option value="Osorno">Osorno</
option>
                                                   
<option value="Otra">Otra</option>
                                                </
select>
                       
</td>
                                            </
tr>
                       
                                           
<tr>
                       
<td>Titulo del Aviso:</td>
                       
<td><input type="text" class="form-control" name="titulo_aviso" value="<?php echo $titulo_aviso; ?>"></td>
                                           
</tr>
                       
                                            <tr>
                        <td>Categoria Actual del Aviso: <strong><?php echo $categoria; ?></
strong></td>
                       
<td>Seleccione nueva Categoria:
                       
<select name="categoria_aviso" class="form-control">
                                                   
<option value="default" selected="selected">Seleccione nueva Categoria:</option>
                                                   
<option value="Venta">Venta</option>
                                                    <option value="Arriendo">Arriendo</
option>
                                                   
<option value="Trabajo">Trabajo</option>
                                                    <option value="Otro">Otro</
option>
                       
</select>
                        </
td>
                                           
</tr>
                                           
                                            <tr>
                        <td>Tipo de Aviso Actual: <strong><?php echo $tipoaviso; ?></
strong></td>
                       
<td>Seleccione nuevo Tipo Aviso:
                       
<select name="tipo_aviso" class="form-control">
                                                   
<option value="default" selected="selected">Seleccione nuevo Tipo de Aviso:</option>
                                                   
<option value="Abonado">Abonado</option>
                                                    <option value="Gratis">Gratis</
option>
                       
</select>
                        </
td>
                                           
</tr>
                                           
                                           
                                            <tr>
                        <td>Valor Producto:</
td>
                       
<td><input type="text" class="form-control" name="valor_producto"value="<?php echo $valor; ?>"/></td>
                                           
</tr>
                       
                        <tr>
                                                    <td>Detalle del Aviso:</
td>
                                                   
<td><textarea name="aviso_completo" rows="4" cols="4"  class="form-control"><?php echo $detalleaviso; ?></textarea></td>
                       
</tr>
                                               
                        <tr>
                                                    <td>Telefono Celular:</
td>
                                                   
<td><input type="tel" class="form-control" value="<?php echo $celular; ?>" name="telefono_celular"/></td>
                       
</tr>
                       
                        <tr>
                                                    <td>Telefono Fijo:</
td>
                                                   
<td><input type="tel" class="form-control" value="<?php echo $fijo; ?>" name="telefono_fijo" ></td>
                       
</tr>
                       
                        <tr>
                                                    <td>Correo Electronico:</
td>
                                                   
<td><input type="email" class="form-control"value="<?php echo $correo; ?>" name="correo_electronico" /></td>
                       
</tr>
                       
                        <tr>
                                                    <td>Direccion:</
td>
                                                   
<td><input type="text" class="form-control" value="<?php echo $direccion; ?>" name="direccion" /></td>
                       
</tr>
                       
                    </
thead>
               
<!--    <tbody>
                       
                   
</tbody>-->
                </
table>
               
<input type="hidden" name="update" />
               
<input type="hidden" name="cod_aviso" value="<?php echo $cod_aviso ?>"/>
               
<input type="submit" class="btn btn-success text-center" name="actualizar" value="Guardar Actualización de Registro"/>
               
</form>
                            </
div>  <!--cont form-->  
                               
                           
</div>
                           
                        <!--Pie de Pagina-->
            <footer>
                <div class="text-center copyright">
                    <p class="copyright">Diseño y Desarrollo by <a href="http:/
/www.nicolasalmonacid.com">Nicolás Ezequiel Almonacid</a></p>
                </div>
            </footer>
               
            </div>
       
        <script src="
//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
     
<script src="js/vendor/jquery-1.11.0.min.js"></script>'
        <script src="../js/vendor/bootstrap.js"></script>
        <script src="../js/plugins.js"></script>
        <script src="../js/main.js"></script>
       
</body>
</html>

y aca una captura de pantalla paa que sea mas entendible:


muhas gracias desde ya por su tiempo y su ayuda

Jeison Varilla Mendoza

unread,
Aug 10, 2014, 10:25:33 PM8/10/14
to programa...@googlegroups.com
Sencillo amigo. 
?php 
if (isset la session tal):

? cieere php
html
body
?php
else:

redireccionas con un header("location:" login.php?error=1)

en tu login recolecta esa variable $_GET y muestra el msg que deseas...

Saludos. disculpa por no colocar el codigo completo tengo un teclado dificil de sacar las etiquetas. ajjajaa









--
--
Publicar: programa...@googlegroups.com
Anular suscripción: programando-an...@googlegroups.com
Webs: http://www.blonder413.com/ - http://www.cesarcancino.com/ - http://www.oscar-gomez.net/ - http://www.keyphercom.com/blog/

---
Has recibido este mensaje porque estás suscrito al grupo "Programando Ando" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a programando-an...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

Jonathan Morales Salazar

unread,
Aug 11, 2014, 10:28:47 AM8/11/14
to programa...@googlegroups.com
ya que esta es la validación, simplemente ponga un header location o un exit


//validacion session
if(isset($_SESSION['validado'])){
   
//echo ' ingresaste bien al sistema cabezon, bariloche se vieneeee eaeaea' .$_SESSION['user'] ;
   
    $user
=$_SESSION['user'];
   
}else{
 header ("Location; login.php");  
 // o lo siguiente:
    echo"no tiene permisos de acceso";
exit;
}

le recomiendo que esto lo haga al inicio del script, de tal manera que si el usuario no tiene permiso no pierda tiempo cargando datos como la instancia, las asignaciones y el método que llama.

--


Jonathan Morales Salazar
Ingeniero de Sistemas
www.blonder413.com

Nicolas Ezequiel Almonacid

unread,
Aug 11, 2014, 10:48:54 AM8/11/14
to programa...@googlegroups.com
nuevamente agradeciendote estimado amigo, espero no molestarlos con tantas preguntas, es que estoy contra el tiempo, el grueso de la aplicacion la tengo, me faltan detalles pequeños pero son los que mas me estan complicando, tome el desafio porque estoy sin trabajo y bueno, a veces la necesida es mas pudiente que todo, bueno, no era la idea exponer mi situacion personal ejeje, pero no quiero pasar como una persona que no sabe ni donde esta aprado y quiere que le hagan todo, hasta ahora gracias a la ayuda de todos ustedes he aprendido muchisimo mas...

pasanado a lo que me comentas amigo, mi logica estaba bien entonces, mira hago lo siguiente:
1.- en mi login.php (donde esta el form) recogo esta variable:
 session_start();
require_once
'../Inc/funciones.php';
//require_once '../Inc/logear.php';

$errorlogin
=NULL;
if(isset($_POST['enviar'])){

       
   
//Instanciamos
    $login
= new Avisos();
   
    $login
->Login();
   
    $estado
=$_GET['estado'];
   
}

y luego seria asi?
<?php
if(isset($_SESSION['valido'])):
 //si el login es correcto
   
    $user=$_SESSION['user'];
?>
    <html>
<body>
</body>
</html>

}else{
   
 
    echo"no tiene permisos de acceso";
//hago la reidreccion como me menciona
}

pero me sigue funcionando igual

Saludos y gracias
/section>
                      &nb
...

Nicolas Ezequiel Almonacid

unread,
Aug 11, 2014, 11:06:23 AM8/11/14
to programa...@googlegroups.com
impecable, lo tenia con el header("redirection"); pero estaba fallando en que tenia la función al ultimo....

Otro tema solucionado, gracias maestros, como comente hace un ratito, espero no ser una molestia para ustedes con su ayuda, son detalles pequeños que me estan faltando resolver, por lo cual agradesc muchisimo su ayuda, y espero no molestar con mis preguntas...saludos cordiales y que dios los ayude
...
Reply all
Reply to author
Forward
0 new messages