Autor Tema: select específico para usuario logado php consultas concatenando variables  (Leído 23304 veces)

kessou

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 6
    • Ver Perfil
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
« Última modificación: 20 de Octubre 2014, 17:48 por Alex Rodríguez »

Mastermind

  • Experto
  • *****
  • Mensajes: 536
    • Ver Perfil
Re:Re:redireccionar a diferentes paginas al loguearse
« Respuesta #1 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?

kessou

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 6
    • Ver Perfil
Re:Re:redireccionar a diferentes paginas al loguearse
« Respuesta #2 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

kessou

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 6
    • Ver Perfil
Re:Re:redireccionar a diferentes paginas al loguearse
« Respuesta #3 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.

Mastermind

  • Experto
  • *****
  • Mensajes: 536
    • Ver Perfil
Re:hacer un select específico para el usuario logeado php
« Respuesta #4 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!!

kessou

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 6
    • Ver Perfil
Re:hacer un select específico para el usuario logeado php
« Respuesta #5 en: 20 de Octubre 2014, 17:30 »
Muchísimas Gracias Mastermind !!! Solucionado !! :D

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".