Foros del Web » Programando para Internet » PHP »

Problema con sistema de logeo

Estas en el tema de Problema con sistema de logeo en el foro de PHP en Foros del Web. Hola amigos, pues tengo un problema con un sistema de logeo de usuarios, el cual al acceder correctamente su usuario y su password me mande ...
  #1 (permalink)  
Antiguo 12/11/2012, 11:13
 
Fecha de Ingreso: septiembre-2012
Ubicación: Mexico
Mensajes: 58
Antigüedad: 11 años, 7 meses
Puntos: 2
Pregunta Problema con sistema de logeo

Hola amigos, pues tengo un problema con un sistema de logeo de usuarios, el cual al acceder correctamente su usuario y su password me mande a una pagina la cual se llama consulta.php, el problema es que si yo escribo en mi navegador la dirección que me lleva a esta pagina, entra sin problema lo cual no quiero que suceda, porque solo los usuarios que se logen puedan accesarla.

Para probar mi sistema estoy usando XAMMP con localhost, es decir todo las pruebas las hago localmente.

Aquí esta mi archivo de login.php

Código PHP:
Ver original
  1. <?php
  2. include("connect_db.php");
  3.    
  4.     if(empty($_POST['rpe']) || empty($_POST['pass'])){
  5.                     echo "<br>
  6.                             <div align='center'>
  7.                             <font color='red'>ERROR DE LOGUEO: Debes de escribir ambos campos!</font><br>
  8.                             <br><a href='index.php'>Regresar</a>
  9.                         </div>";
  10.                     }else{
  11.  
  12.     $user = protect($_POST['rpe']);
  13.     $pass = protect($_POST['pass']);
  14.  
  15.         $query = mysql_query("SELECT * FROM encargados WHERE pass ='".$pass."' AND rpe='".$user."'", $conexion);
  16.        
  17.         $consulta = mysql_fetch_array($query);
  18.        
  19.         if($consulta==false){
  20.        
  21.         echo "<br>
  22.               <div align='center'>
  23.                  <font color='red'>ERROR DE LOGUEO: El usuario o contraseña son incorrectos, vuelva a intentarlo.</font><br>
  24.                  <br><a href='index.php'>Regresar</a>
  25.               </div>";
  26.         }else{
  27.             $_SESSION["nombre"] = $consulta["n_enc"];
  28.             $user = $consulta["n_enc"];
  29.             echo "<div align='center'>";
  30.             echo "<br>";
  31.             echo "<font size='4'>Bienvenido ".$consulta["n_enc"]." has iniciado una nueva sesion</font>";
  32.             echo "<br>";
  33.             echo "<br>";
  34.             echo "<font size='3'>Entrando al sistema, por favor espere...<font>";
  35.             echo "</div>";
  36.             header('Refresh: 3; url=consulta.php?user=$user');
  37.         }
  38.     }  
  39.     mysql_close($conexion);
  40. ?>

y esta es la pagina consulta.php

Código PHP:
Ver original
  1. <!DOCTYPE html>
  2. <?php
  3. ?>
  4. <html>
  5.     <head>
  6.     <title>Asistencias</title>
  7.     </head>
  8.    
  9.     <body>
  10.     <table align="right">
  11.     <tr><td><?php
  12.     if (isset($_SESSION["nombre"])) {
  13.         echo "Sesion ".$_SESSION["nombre"];
  14.         }else{
  15.             echo "Debes de <a href='index.php'>iniciar sesion</a> antes de consultar esta pagina";
  16.             }
  17.     ?></td>
  18.     <td><a href="logout.php">Cerrar Sesion</a><td>
  19.     </tr>
  20.     </table>
  21.     </br>
  22.     <div align="center">
  23.         <h3>Lista de asistencias</h3>
  24.        
  25.         <form method="POST" action="">
  26.         <label>Dpto./Area:</label>
  27.         <select name="listas">
  28.         <option value="">Seleccione...</option>
  29.         <option value="Distribucion">Distribucion</option>
  30.         <option value="Distribucion_2">Distribucion II</option>
  31.         <option value="Distribucion_3">Distribucion III</option>
  32.         <option value="Norte">Norte</option>
  33.         </select>
  34.         <br>
  35.         <br>
  36.         <table border='0' align='center'>
  37.         <tr>
  38.         <td align='left'>Periodo:</td>
  39.         <td>&nbsp;</td>
  40.         <td>&nbsp;</td>
  41.         </tr>
  42.         <tr>
  43.         <td>
  44.         De : <select name='day1'>
  45.         <option value='1'>1</option><option value='2'>2</option><option value='3'>3</option>
  46.         <option value='4'>4</option><option value='5'>5</option><option value='6'>6</option>
  47.         <option value='7'>7</option><option value='8'>8</option><option value='9'>9</option>
  48.         <option value='10'>10</option><option value='11'>11</option><option value='12'>12</option>
  49.         <option value='13'>13</option><option value='14'>14</option><option value='15'>15</option>
  50.         <option value='16'>16</option><option value='17'>17</option><option value='18'>18</option>
  51.         <option value='19'>19</option><option value='20'>20</option><option value='21'>21</option>
  52.         <option value='22'>22</option><option value='23'>23</option><option value='24'>24</option>
  53.         <option value='25'>25</option><option value='26'>26</option><option value='27'>27</option>
  54.         <option value='28'>28</option><option value='29'>29</option><option value='30'>30</option>
  55.         <option value='31'>31</option>
  56.         </select>
  57.         A : <select name='day2'>
  58.         <option value='1'>1</option><option value='2'>2</option><option value='3'>3</option>
  59.         <option value='4'>4</option><option value='5'>5</option><option value='6'>6</option>
  60.         <option value='7'>7</option><option value='8'>8</option><option value='9'>9</option>
  61.         <option value='10'>10</option><option value='11'>11</option><option value='12'>12</option>
  62.         <option value='13'>13</option><option value='14'>14</option><option value='15'>15</option>
  63.         <option value='16'>16</option><option value='17'>17</option><option value='18'>18</option>
  64.         <option value='19'>19</option><option value='20'>20</option><option value='21'>21</option>
  65.         <option value='22'>22</option><option value='23'>23</option><option value='24'>24</option>
  66.         <option value='25'>25</option><option value='26'>26</option><option value='27'>27</option>
  67.         <option value='28'>28</option><option value='29'>29</option><option value='30'>30</option>
  68.         <option value='31'>31</option>
  69.         </select>
  70.         Mes : <select name='month'>
  71.         <option value='Enero'>Enero</option><option value='Febrero'>Febrero</option><option value='Marzo'>Marzo</option>
  72.         <option value='Abril'>Abril</option><option value='Mayo'>Mayo</option><option value='Junio'>Junio</option>
  73.         <option value='Julio'>Julio</option><option value='Agosto'>Agosto</option><option value='Septiembre'>Septiembre</option>
  74.         <option value='Octubre'>Octubre</option><option value='Noviembre'>Noviembre</option><option value='Diciembre'>Diciembre</option>
  75.         </select>
  76.         Año : <select name='year'>
  77.         <option value='2012'>2012</option><option value='2013'>2013</option><option value='2014'>2014</option>
  78.         <option value='2015'>2015</option><option value='2016'>2016</option><option value='2017'>2017</option>
  79.         </select>
  80.         </td>
  81.         </tr>
  82.         </table>
  83.         <br>
  84.         <input type="submit" name="views" value="Consultar Lista">
  85.         </form>
  86.    
  87.     </div>
  88.     </body>
  89.    
  90. <?php
  91.            
  92.             if(isset($_POST['views'])){
  93.                 require("view_list.php");
  94.             }
  95. ?>
  96. </html>

Alguien podría ayudarme como restringir la pagina, es decir que solo la puedan ver los usuarios que entren al sistema.
  #2 (permalink)  
Antiguo 12/11/2012, 11:53
 
Fecha de Ingreso: abril-2009
Ubicación: en un lugar de la mancha
Mensajes: 236
Antigüedad: 15 años
Puntos: 38
Respuesta: Problema con sistema de logeo

chequea en cada pagina ke kieras limitar el acceso de los usarios no logueados con una funcion como algo asi.

Código PHP:
function checkUser()
{
   if ( empty( 
$_SESSION['nombre'])
   {
      
header'Location: index.php' );
      exit;
   }

en cada paguina ke kieras limitar solo emcabezas con
Código PHP:
session_start();
checkUser(); 
Si le usuario no esta autenticado se redireccionara a la pagina index.php
  #3 (permalink)  
Antiguo 12/11/2012, 12:27
 
Fecha de Ingreso: septiembre-2012
Ubicación: Mexico
Mensajes: 58
Antigüedad: 11 años, 7 meses
Puntos: 2
Respuesta: Problema con sistema de logeo

Cita:
Iniciado por rolygc Ver Mensaje
chequea en cada pagina ke kieras limitar el acceso de los usarios no logueados con una funcion como algo asi.

Código PHP:
function checkUser()
{
   if ( empty( 
$_SESSION['nombre'])
   {
      
header'Location: index.php' );
      exit;
   }

en cada paguina ke kieras limitar solo emcabezas con
Código PHP:
session_start();
checkUser(); 
Si le usuario no esta autenticado se redireccionara a la pagina index.php
Gracias amigo rolygc por tu respuesta, entiendo lo que me quieres decir, con una función seria perfecto, pero donde tengo que definirla, para después llamarla en las demás paginas como me lo planteas.

Se define en login.php? en que parte?

Nuevamente gracias!
  #4 (permalink)  
Antiguo 12/11/2012, 12:38
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 3 meses
Puntos: 155
Respuesta: Problema con sistema de logeo

aja la idea es que lo incluyas en todos los lados donde lo necesites , independientemente de donde lo guardes , en mi caso me lo chute como clase

http://www.forosdelweb.com/f18/refer...8/#post4306903
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo
  #5 (permalink)  
Antiguo 12/11/2012, 12:52
 
Fecha de Ingreso: abril-2009
Ubicación: en un lugar de la mancha
Mensajes: 236
Antigüedad: 15 años
Puntos: 38
Respuesta: Problema con sistema de logeo

es depende de tu diseno de aplicacion, pero por lo general, creas un file

funciones.php

y en las paginas donde quieras acceder a esta funcion
Código PHP:
session_start();

require_one'funciones.php' );

checkUser();

//continuas con tu codigo......... 
  #6 (permalink)  
Antiguo 12/11/2012, 13:04
 
Fecha de Ingreso: septiembre-2012
Ubicación: Mexico
Mensajes: 58
Antigüedad: 11 años, 7 meses
Puntos: 2
Respuesta: Problema con sistema de logeo

Cita:
Iniciado por mogurbon Ver Mensaje
aja la idea es que lo incluyas en todos los lados donde lo necesites , independientemente de donde lo guardes , en mi caso me lo chute como clase

http://www.forosdelweb.com/f18/refer...8/#post4306903
Perfecto ahora lo entiendo muy bien, mil gracias por tu ayuda!!

Etiquetas: html, logeo, mysql, sistema, 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 22:24.