11/10/2010, 12:37
|
| | Fecha de Ingreso: agosto-2010
Mensajes: 19
Antigüedad: 14 años, 3 meses Puntos: 0 | |
Mostrar datos de una autenticacion de usuarios Hola, necesito vuestra ayuda, soy muy novato. Es sobre un sistema de autenticación de usuario contraseña con php y mysql.
Creo haber conseguido que me reconozca el usuario y contraseña que están en una tabla, pero luego no soy capaz de mostrar datos del registro de esa tabla, tales como nombre, apellidos, etc.
Os paso el código de lo que he creado, agradeceré muchísimo vuestros comentarios. Seguí los siguientes pasos:
1º formulario para mandar el usuario contraseña
<?php
if ($_GET["errorusuario"]=="si"){
?>
<font color="red" size="+2"><b>Datos incorrectos</b></font>
<?php
}
else{
?>
<?php
}
?>
2º estos datos los mando a una pagina que se llama autenticacion.php
<?php
session_start();
//Conectando a base de datos
$con = mysql_connect("SERVIDOR", "USUARIO", "PASSWORD")
or die("<h3>No se ha podido establecer conexión con el servidor.</h3>");
mysql_select_db("BASE DE DATOS") or die("<h3>La base de datos no se ha encontrado</h3>");
//generando la consulta sobre el usuario y su contrasena
$qr = "SELECT usuario, contrasena, nombre, apellidos ";
$qr .= "FROM clientes WHERE usuario = '" . $_POST['usuario'];
$qr .= "' AND contrasena = '" . $_POST['contrasena'] . "'";
//ejecutando la consulta
$rs = mysql_query($qr);
$row = mysql_fetch_object($rs);
//verificando si hay un usuario con ese password mediante numrows
$nr = mysql_num_rows($rs);
if($nr == 1){
//usuario y contraseña válidos
//se define una sesion y se guarda el dato session_start();
$_SESSION["autenticado"] = "si";
$_SESSION["usuario"] = $_POST['usuario'];
$_SESSION["nombreusr"] = $row->nombre . " " . $row->apellidos;
header ("Location: aplicacion.php");
}
else if($nr <= 0) {
//si no existe se va a login.php y pone el valor de error a SI
header("Location: login.php?errorusuario=si");
}
?>
3º Hay otra página que se llama seguridad.php
<?php
//Inicio la sesión
session_start();
//COMPRUEBA QUE EL USUARIO ESTA AUTENTICADO
if ($_SESSION["autenticado"] == "si") {
}
else{
//si el usuario no está autenticado
//redirigirlo a la página de inicio de sesión
header("Location: login.php");
//salimos de este script
exit();
}
?>
4º si el usuario / password es correcto lo manda a la página aplicacion.php
<?php
include "seguridad.php";
?>
<html>
<head>
</head>
<body>
<h1>Ahora estas en una aplicacion segura</h1>
<br>
<br>
<a href="salir.php">Salir del sistema</a>
</body>
</html>
Hasta aquí llega por lo que entiendo que la conexión a la base de datos, y a la tabla de clientes en particular lo hace bien, pero ahora es donde no se como mostrar diferentes campos del registro al que pertenece el usuario logueado.
Muchas gracias |