Foros del Web » Programando para Internet » PHP »

Problema Consulta B.D con usuario sesion php

Estas en el tema de Problema Consulta B.D con usuario sesion php en el foro de PHP en Foros del Web. Hola a todos queria hacerles una pregunta, tengo una web que consta de un login inicial tras realizar el logueo del usuario redirige a la ...
  #1 (permalink)  
Antiguo 26/02/2015, 10:05
 
Fecha de Ingreso: julio-2011
Mensajes: 30
Antigüedad: 12 años, 9 meses
Puntos: 0
Problema Consulta B.D con usuario sesion php

Hola a todos queria hacerles una pregunta, tengo una web que consta de un login inicial tras realizar el logueo del usuario redirige a la pagina web principial donde hay un formulario en el que introduciendo el nombre de un cliente se obtiene una consulta a la base de datos de coches que tiene ese cliente.

Mi idea es hacer esto mismo pero sin necesitar un formulario es decir directamente cuando se inicie sesion y se redirija a la web principal mostrar la consulta para el usuario que esta logueado directamente y no sea necesario escribir el nombre en el formulario es decir en la consulta select en el campo nombre en vez de que lo coja de los datos que le envia el formulario lo coja directamente de la sesion que se ha inciado como deberia hacerlo?

Gracias
  #2 (permalink)  
Antiguo 26/02/2015, 10:14
Avatar de GemliosG  
Fecha de Ingreso: enero-2015
Ubicación: La Habana
Mensajes: 153
Antigüedad: 9 años, 3 meses
Puntos: 8
Respuesta: Problema Consulta B.D con usuario sesion php

A ver dejame pensar....

Capturaste el nombre del usuario y la id del mismo en la variable global SESSION en el php del login ?
Los usuarios no pueden tener el mismo nombre o se diferencian por algo más?

Estas son preguntas que debes tomar en cuenta y que me ayudaran a comprender mejor tu problema, pero de todas maneras me arriesgo a responder.

Si tienen un identificador, captura en la variable global el mismo y al dirigirse a la página principal crea una función php que seleccione todos los datos del usuario con ese id, claro dependiendo de las cantidades de tablas que tengas. Me dices esto último para darte una mejor respuesta.

Si es por el nombre de usuario !!!! SI no se repiten !!! es lo mismo pero en ves de ser id es el nombre.

Si tienes más dudas o no sabes como hacerlo, me dices para darte el código que correspondería a lo que pides.

Espero que esto te sea útil.
__________________
GemliosG
  #3 (permalink)  
Antiguo 26/02/2015, 11:07
 
Fecha de Ingreso: julio-2011
Mensajes: 30
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Problema Consulta B.D con usuario sesion php

Cita:
Iniciado por GemliosG Ver Mensaje
A ver dejame pensar....

Capturaste el nombre del usuario y la id del mismo en la variable global SESSION en el php del login ?
Los usuarios no pueden tener el mismo nombre o se diferencian por algo más?

Estas son preguntas que debes tomar en cuenta y que me ayudaran a comprender mejor tu problema, pero de todas maneras me arriesgo a responder.

Si tienen un identificador, captura en la variable global el mismo y al dirigirse a la página principal crea una función php que seleccione todos los datos del usuario con ese id, claro dependiendo de las cantidades de tablas que tengas. Me dices esto último para darte una mejor respuesta.

Si es por el nombre de usuario !!!! SI no se repiten !!! es lo mismo pero en ves de ser id es el nombre.

Si tienes más dudas o no sabes como hacerlo, me dices para darte el código que correspondería a lo que pides.

Espero que esto te sea útil.
La tabla usuario contiene un ID usuario, nombre usuario, contraseña, y el nombre del cliente con otros datos la idea es mostrar la consulta de una tabla que tiene el mismo campo nombre del usuario del login en la tabla. No controlo si me pudieras echar una mano con el codigo mejor

El login se realiza de esta forma una vez que el usuario ya queda registrado

Código PHP:
// Configura los datos de tu cuenta
$dbhost='localhost';
$dbusername='username';
$dbuserpass='password';
$dbname='database';

session_start();

// Conectar a la base de datos
mysql_connect ($dbhost$dbusername$dbuserpass);
mysql_select_db($dbname) or die('Cannot select database');

if (
$_POST['username']) {
//Comprobacion del envio del nombre de usuario y password
$username=$_POST['username'];
$password=$_POST['password'];
if (
$password==NULL) {
echo 
"La password no fue enviada";
}else{
$query mysql_query("SELECT username,password FROM users WHERE username = '$username'") or die(mysql_error());
$data mysql_fetch_array($query);
if(
$data['password'] != $password) {
echo 
"Login incorrecto";
}else{
$query mysql_query("SELECT username,password FROM users WHERE username = '$username'") or die(mysql_error());
$row mysql_fetch_array($query);
$_SESSION["s_username"] = $row['username'];
echo 
"Has sido logueado correctamente ".$_SESSION['s_username']." y puedes acceder al index.php.";
}
}
}
?> 
Un Saludo y gracias
  #4 (permalink)  
Antiguo 26/02/2015, 12:14
Avatar de GemliosG  
Fecha de Ingreso: enero-2015
Ubicación: La Habana
Mensajes: 153
Antigüedad: 9 años, 3 meses
Puntos: 8
Respuesta: Problema Consulta B.D con usuario sesion php

Ya es lo mismo coje la variable SESSION y ponlo al final de la consulta mysql o predefinelo en una variable.- EJ

SELECT * FROM Coches Where (nb o usuario o el campo que lo conecte (deben ser la misma información (ej ci con ci o id con id deben ser iguales)))=a la variable session o a la predefinida.

Más o menos esto debes hacer.

Explico muy mal pero espero que te sea de ayuda.

Pero básicamente es coger el nombre del usuario insertado y utilizarlo de comparación.

Dejame resaltar que si los datos de los coches están separados de los datos del usuario, (que espero que así sea, por organización) debes tener en la tabla coche el atributo llave de la tabla usuario y utilizarlo como llave foranea en la otra. Después es hacer la consulta poniendo como condición la variable global y ya finito
__________________
GemliosG

Etiquetas: formulario, usuario
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 12:42.