Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: kessou en 14 de Octubre 2014, 20:42
-
Saludos! tengo un login en php, ahora lo que quiero saber es como guardo los registros que un usuario hizo cuando se loguea? muchisimas gracias de antemano
-
¿A qué te refieres con guardar los registros? ¿La fecha y la hora en la que hizo login?
-
Hola Mastermind gracias por ayudarme
tengo una tabla en mysql que se llama booking, esta tabla contiene datos para llenar un formulario de reservacion tales como name, email, lugarorigen, lugardestino, time, date, adults y children y mi otra tabla de usuarios que es donde guardo los usuarios registrados que tiene el id, nombre, login, password, email, nivel_usuario. lo que quiero es lo siguiente: cuando un usuario se loguea y haga una reservacion llenando el formulario booking que me muestre solo las reservaciones que se hizo el usuario logueado o sea mostrar solo las reservaciones que le corresponden a cada usuario. no se si me entiendes.
Muchas gracias
-
aqui estan los codigos
login.php
<?php
session_start();
?>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Bootstrap -->
<link href="css/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<form name = "miform" action="procesa_login.php" method="POST">
<br />Login:
<br />
<input type="text" name="login">
<br />Password:
<br />
<input type="password" name="pass">
<br />
<br />
<input class="boton" type="submit" value="Entrar">
</form>
<p><a href="formulario.php" class="btn btn-lg btn-primary btn-block">Registrase en el Sistema</a></p>
</body>
</html>
procesa_login.php
<?php
session_start();
include 'config.php';
$link=Conectarse();
$login = $_POST['login'];
$pass = $_POST['pass'];
$pass=sha1(md5($pass));
$query = sprintf("SELECT usuarios.id,
usuarios.login,
usuarios.nombre,
usuarios.email,
usuarios.nivel
FROM usuarios WHERE usuarios.login='%s'&& usuarios.password = '%s'", $login, $pass);
$result=mysql_query($query,$link);
if(mysql_num_rows($result)){
$array=mysql_fetch_array($result);
$_SESSION["id_usuario"]= $array["id"];
$_SESSION["login"]= $array["login"];
$_SESSION["nombre"]= $array["nombre"];
$_SESSION["email"]= $array["email"];
$_SESSION["nivel"]= $array["nivel"];
header("Location:verifica.php");
} else {
echo "<h2>Login o Password Incorrectos</h2>";
echo "<br>";
echo "<a class='btn btn-primary btn-large btn-bloc' href='login.php' >Volver a intentar</a>";
}
?>
verifica.php
<?php
session_start();
?>
<?php
if($_SESSION["nivel"] == "AD"){
header("Location:admin.php");
} else {
header("Location:usuario.php");
}
?>
<p><a href="logout.php">Cerrar Sesión</a></p>
</body>
</html>
crea_usuarios.php
<?php
session_start();
include 'config.php';
$link=Conectarse();
$login = $_POST['login'];
$pass = $_POST['pass'];
$pass=sha1(md5($pass));
$query = sprintf("SELECT usuarios.id,
usuarios.login,
usuarios.nombre,
usuarios.email,
usuarios.nivel
FROM usuarios WHERE usuarios.login='%s'&& usuarios.password = '%s'", $login, $pass);
$result=mysql_query($query,$link);
if(mysql_num_rows($result)){
$array=mysql_fetch_array($result);
$_SESSION["id_usuario"]= $array["id"];
$_SESSION["login"]= $array["login"];
$_SESSION["nombre"]= $array["nombre"];
$_SESSION["email"]= $array["email"];
$_SESSION["nivel"]= $array["nivel"];
header("Location:verifica.php");
} else {
echo "<h2>Login o Password Incorrectos</h2>";
echo "<br>";
echo "<a class='btn btn-primary btn-large btn-bloc' href='login.php' >Volver a intental</a>";
}
?>
reservauser.php
<?php
session_start();
?>
<head>
<div style = "text-align:right;"><p><a href="logout.php" class = "btn btn-success">Cerrar Sesión</a></p></div>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><?php echo $_SESSION["email"];?></title>
</head>
<?php
require_once('coneccion.php');
$sql = "SELECT b.name, u.email, b.time, b.date, b.comfort, b.adults, b.children, o.origen, d.destino FROM usuarios u join bookingfrom b on u.nombre=b.name join origen o on b.from=o.id join destino d on b.to=d.id where u.nombre=b.name";
$result = mysqli_query($con, $sql);
?>
<h3 class="t_list">LISTA </h3>
<table id="data-list" class="table table-striped">
<thead>
<tr><th>Name</th><th>Email</th><th>From</th><th>To</th><th>Time</th><th>Date</th><th>Comfort</th><th>Adults</th><th>Children</th></tr>
</thead>
<tbody>
<?php
while($row = mysqli_fetch_array($result, MYSQL_ASSOC)) {
echo "<tr>
<td>" . $row['name'] . "</td>
<td>" . $row['email'] . "</td>
<td>" . $row['origen'] . "</td>
<td>" . $row['destino'] . "</td>
<td>" . $row['time'] . "</td>
<td>" . $row['date'] . "</td>
<td>" . $row['comfort'] . "</td>
<td>" . $row['adults'] . "</td>
<td>" . $row['children'] . "</td>
</tr>";
}
?>
</tbody>
</table>
aca en reservauser.php es donde hago mi select para que se ve la reserva del user logueado. muchas gracias por sus ayudas.
-
Hola kessou, lo que he entendido es que quieres que aparezcan sólo los datos para el usuario que está logeado.
Por ejemplo en esta consulta:
$sql = "SELECT b.name, u.email, b.time, b.date, b.comfort, b.adults, b.children, o.origen, d.destino FROM usuarios u join bookingfrom b on u.nombre=b.name join origen o on b.from=o.id join destino d on b.to=d.id where u.nombre=b.name";
Que sólo aparezcan los datos para el usuario que está logeado, cuyo email estará en $_SESSION["email"]
Si es esto simplemente tendrías que añadir una condición WHERE a la consulta, que indique que sólo se muestren los registros donde el email coincide con el email del usuario logeado.
Sería:
$sql = "SELECT b.name, u.email, b.time, b.date, b.comfort, b.adults, b.children, o.origen, d.destino FROM usuarios u join bookingfrom b on u.nombre=b.name join origen o on b.from=o.id join destino d on b.to=d.id where u.nombre=b.name and u.email='".$_SESSION["email"]."'";
Tienes que tener cuidado con las comillas simples - dobles abrirlas y cerrarlas bien porque cualquier pequeño fallo te dará lugar a un error. No estoy seguro sin puede ser mejor and u.email='".$_SESSION['email']."'"; , habría que probarlo.
Saludos!!
-
Muchísimas Gracias Mastermind !!! Solucionado !! :D