Foros del Web » Programando para Internet » PHP »

Mantener sesion

Estas en el tema de Mantener sesion en el foro de PHP en Foros del Web. Hola a todos forosdelweb, consigo hacer el login y obtener los datos de la base de datos ok? Cita: <?php include("config.php"); session_start(); $correo = $_POST["correo"]; ...
  #1 (permalink)  
Antiguo 21/11/2012, 04:33
 
Fecha de Ingreso: diciembre-2011
Mensajes: 414
Antigüedad: 12 años, 11 meses
Puntos: 1
Mantener sesion

Hola a todos forosdelweb, consigo hacer el login y obtener los datos de la base de datos ok?

Cita:
<?php
include("config.php");
session_start();
$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['usuario'] = $row['nombre'];
$_SESSION['usuario'] = $row['apellido'];
$_SESSION['usuario'] = $row['alias'];
$_SESSION['usuario'] = TRUE;
echo $row['nombre'];
echo $row['apellido'];
echo $row['alias'];
header('Location:inicio.php');
}else{
echo "No";
}
?>
Resulta que no se como mantener la sesión de las sesiones que obtienen datos de la base de datos? Pero si las normales,vamos que se redirige a inicio.php tranquilamente pero no me recoje ningun dato
  #2 (permalink)  
Antiguo 21/11/2012, 04:45
Avatar de veruti85  
Fecha de Ingreso: octubre-2012
Ubicación: Entre Huelva y Madrid
Mensajes: 32
Antigüedad: 12 años
Puntos: 7
Respuesta: Mantener sesion

Varias cosas, no se muy bien que quieres hacer, pero desde luego ese script esta regular...

Código PHP:
Ver original
  1. $_SESSION['usuario'] = $row['nombre'];
  2. $_SESSION['usuario'] = $row['apellido'];
  3. $_SESSION['usuario'] = $row['alias'];
  4. $_SESSION['usuario'] = TRUE;
Aqui estas machacando el valor una y otra vez... $_SESSION['usuario'] vale "true"

Código PHP:
Ver original
  1. echo $row['nombre'];
  2. echo $row['apellido'];
  3. echo $row['alias'];
  4. header('Location:inicio.php');
Esto te va a acabar fallando a la que lo subas a un servidor, no puedes imprimir nada antes de establecer las cabeceras, el header location no se va a ejecutar
  #3 (permalink)  
Antiguo 21/11/2012, 04:54
 
Fecha de Ingreso: agosto-2008
Mensajes: 606
Antigüedad: 16 años, 3 meses
Puntos: 11
Respuesta: Mantener sesion

vamos haber si o que pretendes es rellenar las variables globales de session y que te redirija yo lo haria así:

Código PHP:
Ver original
  1. <?php
  2. include("config.php");
  3. $correo = $_POST["correo"];
  4. $contraseña = $_POST["contraseña"];
  5. $busqueda = mysql_query("select * from users where correo = '".$correo."' and contraseña = '".$contraseña."' ");
  6. if($row1= mysql_fetch_array($busqueda)){
  7. while($row1= mysql_fetch_array($busqueda, MYSQL_ASSOC)){
  8. $_SESSION['usuario'] = $row1['nombre'];
  9. $_SESSION['usuario'] = $row1['apellido'];
  10. $_SESSION['usuario'] = $row1['alias'];
  11. $_SESSION['usuario'] = TRUE;
  12.  
  13. }
  14. header('Location:inicio.php');
  15. }else{
  16. echo "No";
  17. }
  18. ?>


pero no puedes visualizar el echo, por eso lo quito ya que si las variables van llenas como pones en tu condicional te va a redirigir. Bueno pruébalo. si lo que quieres es que te imprima entonces quita el re direccionamiento e imprime si quieres con echo.
  #4 (permalink)  
Antiguo 21/11/2012, 05:01
 
Fecha de Ingreso: diciembre-2011
Mensajes: 414
Antigüedad: 12 años, 11 meses
Puntos: 1
Respuesta: Mantener sesion

lo del header es verdad,fallo mio,he limpiado el echo $row

Y ahora se redirige (igual que siempre a inicio.php), esto funciona, pone que "si" y entonces lo que quiero mostrar es el nombre,apellido,alias que he obtenido al iniciar la sesión.

Gracias!!

Cita:
<?php
// Inicializamos sesion
session_start("usuario");
// Comprobamos si existe la variable
if ( isset ( $_SESSION['usuario'] ) ) {
echo "Si";
} else {
echo 'No';
}

?>
pd:Gracias!a los dos me han servido
  #5 (permalink)  
Antiguo 21/11/2012, 05:07
 
Fecha de Ingreso: agosto-2008
Mensajes: 606
Antigüedad: 16 años, 3 meses
Puntos: 11
Respuesta: Mantener sesion

no deberias de guardar en la misma variable datos distintos que quieres recuperar. poque gusrdaras sol el ultimo.
Código PHP:
Ver original
  1. $_SESSION['usuario'] = $row1['nombre'];
  2. $_SESSION['usuario'] = $row1['apellido'];
  3. $_SESSION['usuario'] = $row1['alias'];
  4. $_SESSION['usuario'] = TRUE;


yo lo que haria una vez nombrada las variables de forma distinta por ejemplo:

Código PHP:
Ver original
  1. $_SESSION['usuario1'] = $row1['nombre'];
  2. $_SESSION['usuario2'] = $row1['apellido'];
  3. $_SESSION['usuario3'] = $row1['alias'];

Es imprimirlas pero en el archivo al que redirijes.
  #6 (permalink)  
Antiguo 21/11/2012, 05:15
 
Fecha de Ingreso: diciembre-2011
Mensajes: 414
Antigüedad: 12 años, 11 meses
Puntos: 1
Respuesta: Mantener sesion

Si las guardo asi?

$_SESSION['usuario'] = $row['nombre'];
$_SESSION['usuario'] = $row['apellido'];
$_SESSION['usuario'] = $row['alias'];

xd el problema viene luego, el problema es que no se imprimirlas luego.
  #7 (permalink)  
Antiguo 21/11/2012, 05:25
 
Fecha de Ingreso: agosto-2008
Mensajes: 606
Antigüedad: 16 años, 3 meses
Puntos: 11
Respuesta: Mantener sesion

guardarlas asi es machacar el resultado de la variable. es decir solo se guardaría $row['alias'];

para imprimir te lo dije. en la pagina donde re direcciones haz los echo pertinentes, pero haciendolo asi solo te imprimirá el ultimo.
  #8 (permalink)  
Antiguo 21/11/2012, 05:27
 
Fecha de Ingreso: diciembre-2011
Mensajes: 414
Antigüedad: 12 años, 11 meses
Puntos: 1
Respuesta: Mantener sesion

Gracias trevol,pues esa parte no la sabia....y para poder imprimir las tres como seria entonces?

Cita:
<?php
include("config.php");
session_start();
$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)){
$row['nombre'];
$row['apellido'];
$row['alias'];
header('Location:inicio.php');
}else{
echo "No";
}
?>
  #9 (permalink)  
Antiguo 21/11/2012, 05:32
 
Fecha de Ingreso: agosto-2008
Mensajes: 606
Antigüedad: 16 años, 3 meses
Puntos: 11
Respuesta: Mantener sesion

pues nombra las variables por ejemplo así:

Código PHP:
Ver original
  1. $_SESSION['usuario1'] = $row1['nombre'];
  2. $_SESSION['usuario2'] = $row1['apellido'];
  3. $_SESSION['usuario3'] = $row1['alias'];

ojo utiliza $row1 o $row segun lo tengas tu. Luego imprime en donde redirijas así:

Código PHP:
Ver original
  1. echo $_SESSION['usuario1'];
  2. echo $_SESSION['usuario2'] ;
  3. echo $_SESSION['usuario3'] ;

Etiquetas: mysql, sql, usuarios
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 14:07.