Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/02/2011, 07:41
arts
 
Fecha de Ingreso: mayo-2008
Mensajes: 228
Antigüedad: 16 años
Puntos: 2
Duda de codigo de sesiones

Tego una duda en un codigo para sesiones.
Supestamente el codigo que tengo lo que hace es registra una session en 2 paginas. Pero y si lo necesito para 7 como lo hago?, mi intencion es que todas las paginas por donde se encuentra el usuario registrado solo puedan ser vistas por este y nadie mas.

Por ejemplo.
Admin.php si se envia el formulario va a autentificacion.php
Código PHP:
Ver original
  1. <?php
  2. // Desactivar toda notificación de errores
  3. if ($_GET["errorusuario"]=="si"){
  4. ?>
  5. <font color="red"><b>Datos incorrectos</b></font>
  6. <?php
  7. }else{
  8. ?>
  9. <?php
  10. }
  11.  
  12. ?>
  13. <form action="autenticacion.php" method="POST">
  14. <table border="0">
  15. <tr>
  16. <td>Nombre de usuario </td>
  17. <td><input name="usuario" size="25" value="" /></td>
  18. </tr>
  19. <tr>
  20. <td>Contraseña </td>
  21. <td><input name="contrasena" size="25" type="password" /></td>
  22. </tr>
  23. <tr>
  24. <td></td><td><input type="submit" value="Inicio de sesión" /></td>
  25. </tr>
  26. </table>
  27. </form>

autentificacion.php
Código PHP:
Ver original
  1. <?php
  2. //Conectando a base de datos
  3. $con = mysql_connect("localhost", "root", "")
  4. or die("<h3>No se ha podido establecer conexión con el servidor.</h3>");
  5.  
  6. mysql_select_db("pruebas") or die("<h3>La base de datos no se ha encontrado</h3>");
  7. //generando la consulta sobre el usuario y su contrasena
  8. $qr = "SELECT usuario, password, nombre, apellidos, nivel ";
  9. $qr .= "FROM usuarios WHERE usuario = '" . $_POST['usuario'];
  10. $qr .= "' AND password = '" . $_POST['contrasena'] . "'";
  11. //ejecutando la consulta
  12. $rs = mysql_query($qr);
  13. $row = mysql_fetch_object($rs);
  14. //verificando si hay un usuario con ese password mediante numrows
  15. $nr = mysql_num_rows($rs);
  16.  
  17. if($nr == 1){
  18. //usuario y contraseña válidos
  19. //se define una sesion y se guarda el dato session_start();
  20. $_SESSION["autenticado"] = "si";
  21. $_SESSION["usuario"] = $_POST['usuario'];
  22. $_SESSION["nombreusr"] = $row->nombre . " " . $row->apellido;
  23. $_SESSION['nivel'] = $row->nivel;
  24. header ("Location: aplicacion.php?nivel=$_nivel");
  25. }else if($nr <= 0) {
  26. //si no existe se va a admin.php y pone el valor de error a SI
  27. header("Location: admin.php?errorusuario=si");
  28. } ?>

Si se encuentra en mi bd va hacia aplicacion
Código PHP:
Ver original
  1. echo '<html xmlns="http://www.w3.org/1999/xhtml">';
  2. echo '<head>';
  3. echo '       <title>';
  4. echo '            Aplicación segura';
  5. echo'        </title>';
  6. echo'    </head>';
  7. echo'    <body>';
  8. echo'        <h1>';
  9. echo'            Ahora estás en una aplicación segura';
  10. echo'        </h1><br/>';
  11. echo'        <br/>'
  12. echo'       Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.<br />';
  13. echo'        <br/>';
  14. echo'        <br/>';
  15. echo'        <a href="salir.php">Salir del sistema</a>';
  16. echo'    </body>';
  17. echo' </html>';

Aqui viene mi duda, si por ejemplo ahora necesito hacer hacer un link que vaya a otra pagina ? ¿como hago para que tenga seguridad tambien y pueda obtener los datos los cuales escribió el usuario en el formulario del principio ?.