Foros del Web » Programando para Internet » PHP »

Duda de codigo de sesiones

Estas en el tema de Duda de codigo de sesiones en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 28/02/2011, 07:41
 
Fecha de Ingreso: mayo-2008
Mensajes: 228
Antigüedad: 15 años, 10 meses
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 ?.
  #2 (permalink)  
Antiguo 28/02/2011, 07:49
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Duda de codigo de sesiones

Guardalos en sesiones.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 28/02/2011, 08:16
 
Fecha de Ingreso: mayo-2008
Mensajes: 228
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Duda de codigo de sesiones

Cita:
Iniciado por abimaelrc Ver Mensaje
Guardalos en sesiones.
¿ Y como se guarda en sesiones ?. Es decir como guardo usuario, contraseña en una sesion y le digo en las paginas que quiera que si el ususario y contraseña no coinciden con el que ya existe en mi bd no muestre nada...

Última edición por arts; 28/02/2011 a las 08:25
  #4 (permalink)  
Antiguo 28/02/2011, 11:25
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: Duda de codigo de sesiones

Todas tus paginas necesitas acceso a la session en primera linea:

Código PHP:
Ver original
  1. <?php session_start(); ?>

Y luego un condicional para saber si el usuario está logueado o no. Ej:

Código PHP:
Ver original
  1. <?php if (!isset( $_SESSION['nombre'] )) die("Contenidos disponibles solo para usuarios logueados!"); ?>

Etiquetas: sesiones
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 21:59.