Foros del Web » Programando para Internet » PHP »

Duda sobre las sesiones con base de datos

Estas en el tema de Duda sobre las sesiones con base de datos en el foro de PHP en Foros del Web. Hola a todos!! Veréis he conseguido pasar una simple sesión de una página a otra después de problarlo y ver que era una chorrada ... ...
  #1 (permalink)  
Antiguo 08/04/2013, 15:54
 
Fecha de Ingreso: diciembre-2011
Mensajes: 414
Antigüedad: 12 años, 4 meses
Puntos: 1
Duda sobre las sesiones con base de datos

Hola a todos!!

Veréis he conseguido pasar una simple sesión de una página a otra después de problarlo y ver que era una chorrada ...

Ahora lo que quiero es obtener los datos del usuario que inicia sesión, ahora os paso los formularios y el código correspondiente.

Formulario

Cita:
<form method="POST" id="cuenta" action="iniciarsesion3.php">
Nombre de usuario: <input type="text" name="correo">
</br>
Contraseña:<input type="password" name="contraseña">
</br>
<input type="submit" value="Iniciar Sesion" name="iniciar">
</form>
php

Código PHP:
<link rel="stylesheet" type="text/css" href="css.css"/>  
<?php
include("config.php");
session_start();
$_SESSION["session"]="España";
$correo $_POST["correo"];
$contraseña $_POST["contraseña"];
$busqueda mysql_query("select * from users where correo = '".$correo."' and contraseña = '".$contraseña."' ");
if(
$row=mysql_fetch_array($busqueda)){
header('Location:inicio.php');
}else{
echo 
"No";
}  
?>
Y luego en el resto de páginas (con un include)

Código PHP:
<?php
// Inicializamos sesion
session_start();
echo 
$_SESSION["session"];
?>
Alguna idea de como obtener los datos del usuario que inicia la sesión??
  #2 (permalink)  
Antiguo 08/04/2013, 16:09
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 16 años
Puntos: 47
Respuesta: Duda sobre las sesiones con base de datos

Seria asi

Código PHP:
Ver original
  1. <?php session_start();
  2. include("config.php");
  3.  
  4. $_SESSION["session"]="España";
  5. $correo = $_POST["correo"];
  6. $contraseña = $_POST["contraseña"];
  7. $busqueda = mysql_query("select * from users where correo = '".$correo."' and contraseña = '".$contraseña."' ");
  8. if($row=mysql_fetch_array($busqueda)){
  9.     $_SESSION["session"]["campo1"]=$row["campo_1"];
  10.     $_SESSION["session"]["campo2"]=$row["campo_2"];
  11.     $_SESSION["session"]["campo3"]=$row["campo_3"];
  12.     $_SESSION["session"]["campo4"]=$row["campo_4"];
  13. header('Location:inicio.php');
  14. }else{
  15. echo "No";
  16. }  
  17. ?>
  #3 (permalink)  
Antiguo 09/04/2013, 07:25
 
Fecha de Ingreso: diciembre-2011
Mensajes: 414
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Duda sobre las sesiones con base de datos

No muestra nada...en el inicio como sería? XD

$_SESSION["session"]["nombre"]=$row["nombre"];

Es lo que modifico.

Cita:
<?php
include("config.php");
session_start();
$_SESSION["session"]="España";
$correo = $_POST["correo"];
$contraseña = $_POST["contraseña"];
$busqueda = mysql_query("select * from users where correo = '".$correo."' and contraseña = '".$contraseña."' ");
if($row=mysql_fetch_array($busqueda)){
$_SESSION["session"]["nombre"]=$row["nombre"];
header('Location:inicio.php');
}else{
echo "No";
}
?>
El campo en la base de datos se llama nombre :)
  #4 (permalink)  
Antiguo 09/04/2013, 07:37
Avatar de quinqui  
Fecha de Ingreso: agosto-2004
Ubicación: Chile!
Mensajes: 776
Antigüedad: 19 años, 8 meses
Puntos: 56
Respuesta: Duda sobre las sesiones con base de datos

Holas, kfh1992

La idea que te dio alex1084 es que la variable $_SESSION["session"] pase de ser un string (como lo definiste al principio, al darle el valor "España") a un array, que es lo que haces cuando le asignas subíndices al encontrar que el usuario existe.

Si quieres ver el contenido de $_SESSION["session"], debes tratarlo como array, no como string:

Código PHP:
// Inicializamos sesion
session_start();
print_r($_SESSION["session"]);

// y para acceder a un valor:
print $_SESSION["session"]["nombre"]; 
Saludos.
__________________
pipus.... vieeeeeji plomius!!!
*quinqui site*
  #5 (permalink)  
Antiguo 10/04/2013, 05:05
 
Fecha de Ingreso: diciembre-2011
Mensajes: 414
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Duda sobre las sesiones con base de datos

Hola quinqui y alex1084, gracias por la aclaración ,ahora entonces lo que tengo es esto

Cita:
<?php session_start();
include("config.php");
$_SESSION["session"]="Usuario";
$correo = $_POST["correo"];
$contraseña = $_POST["contraseña"];
$busqueda = mysql_query("select * from users where correo = '".$correo."' and contraseña = '".$contraseña."' ");
if($row=mysql_fetch_array($busqueda)){
$_SESSION["session"]["nombre"]=$row["nombre"];
$_SESSION["session"]["apellido"]=$row["apellido"];
$_SESSION["session"]["alias"]=$row["alias"];
header('Location:inicio.php');
}else{
echo "No";
}
?>
Aqui dejo como está la base de datos



Entonces hasta aquí creo que iría bién la cosa...lo que no se imprmiir el array como dices tu quiniqui

Etiquetas: formulario, mysql, select, sesiones, sql
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 07:16.