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

Título: select específico para usuario logado php consultas concatenando variables
Publicado 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
Título: Re:Re:redireccionar a diferentes paginas al loguearse
Publicado por: Mastermind en 14 de Octubre 2014, 23:39
¿A qué te refieres con guardar los registros? ¿La fecha y la hora en la que hizo login?
Título: Re:Re:redireccionar a diferentes paginas al loguearse
Publicado por: kessou en 15 de Octubre 2014, 00:48
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
Título: Re:Re:redireccionar a diferentes paginas al loguearse
Publicado por: kessou en 15 de Octubre 2014, 01:06
aqui estan los codigos

login.php
Código: [Seleccionar]
<?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
Código: [Seleccionar]
<?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

Código: [Seleccionar]
<?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

Código: [Seleccionar]
<?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

Código: [Seleccionar]
<?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($resultMYSQL_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.
Título: Re:hacer un select específico para el usuario logeado php
Publicado por: Mastermind en 17 de Octubre 2014, 10:01
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!!
Título: Re:hacer un select específico para el usuario logeado php
Publicado por: kessou en 20 de Octubre 2014, 17:30
Muchísimas Gracias Mastermind !!! Solucionado !! :D