Foros del Web » Programando para Internet » PHP »

Conectar base de datos con sesión de PHP

Estas en el tema de Conectar base de datos con sesión de PHP en el foro de PHP en Foros del Web. Hola, mi consulta es la siguiente: La web que estoy diseñando tiene un formulario, al rellenar este formulario y enviar los datos quedas registrado, luego ...
  #1 (permalink)  
Antiguo 08/07/2013, 02:49
jorgemibanez
Invitado
 
Mensajes: n/a
Puntos:
Pregunta ¿Cómo llamar una página HTML para una sesión en PHP?

Hola, mi consulta es la siguiente: La web que estoy diseñando tiene un formulario, al rellenar este formulario y enviar los datos quedas registrado, luego al iniciar la sesión con session_start, te sale un mensaje: Bienvenido el [email protected] esta es tu página personal, (Valga lo básico que he explicado hasta aquí), bueno, pues lo que quiero es que al iniciar sesión se cree una página más llamativa, he pensado en crear un HTML y llamarlo a través del PHP
para que la sesión que se cree aparezca con todos los diseños que tenga para ella y no solo un "echo 'Bienvenido '.$_SESSION['email'].', esta es tu página personal';", espero haberme hecho entender.
<?php
session_start();
if($_SESSION['logged'] == 'yes')
{
echo 'Bienvenido '.$_SESSION['email'].', esta es tu página personal';
}else{
echo 'No estas logeado, por favor inicia sesión.';
}
?>

¿Alguna sugerencia?, agradezco todos los comentarios.
  #2 (permalink)  
Antiguo 08/07/2013, 02:57
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: ¿Cómo llamar una página HTML para una sesión en PHP?

Quieres mostrar una página con formato en HTML? No se entiende el problema...
__________________
Fere libenter homines, id quod volunt, credunt.
  #3 (permalink)  
Antiguo 08/07/2013, 03:03
jorgemibanez
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: ¿Cómo llamar una página HTML para una sesión en PHP?

Lo que quiero es crear una sesión más rica en elementos, etc...

Al entrar solo aparece Bienvenido..... el resto en blanco, quiero hacer algo más llamativo, entonces me pregunto es mejor hacerlo debajo del código PHP (echo 'Bienvenido '.$_SESSION['email'].', esta es tu página personal';) que puse arriba?, y si es así ¿Cuál es la mejor forma de hacerlo?, nuevamente gracias.
  #4 (permalink)  
Antiguo 08/07/2013, 03:23
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: ¿Cómo llamar una página HTML para una sesión en PHP?

Simplemente creas una pagina HTML / CSS y la incluyes cuando te hace falta. Depende la estrucutra de tu código pero no hay ninguna otra alternativa. Puedes poner el código HTML como un string en PHP y luego hacer echo pero es difícil de mantener.
__________________
Fere libenter homines, id quod volunt, credunt.
  #5 (permalink)  
Antiguo 08/07/2013, 05:41
 
Fecha de Ingreso: julio-2010
Mensajes: 275
Antigüedad: 13 años, 9 meses
Puntos: 21
Respuesta: ¿Cómo llamar una página HTML para una sesión en PHP?

Creo que hay un malentendido entre las variables de sesión y la interfaz de la sesión de un usuario...

De todos modos, para responder al titulo de tu hilo, una de las forma para llamar una página HTML para una sesión en PHP, dependiendo del tipo de usuario es la siguiente:

Código PHP:
Ver original
  1. <?php
  2. if($_SESSION['logged'] == 'yes')
  3. {
  4. //echo 'Bienvenido '.$_SESSION['email'].', esta es tu página personal';
  5.  
  6. //No debe haber una salida de datos sino arroja un error
  7. if(tipousuario==1)
  8. {
  9.  header('Location:paginadelusuario.html');
  10. }
  11. else
  12. {
  13.  header('Location:paginadelusuario2.html');
  14. }
  15. }else{
  16. echo 'No estas logeado, por favor inicia sesión.';
  17. }
  18. ?>

Última edición por Sirrohan; 08/07/2013 a las 05:46
  #6 (permalink)  
Antiguo 08/07/2013, 11:40
jorgemibanez
Invitado
 
Mensajes: n/a
Puntos:
Pregunta Conectar base de datos con sesión de PHP

Hola, necesito conectar una base de datos con un archivo PHP: lo que sucede es que al usuario iniciar sesión aparece: 'Bienvenido micorreoelectronico, esta es tu página personal.

Ya que puse este código: echo 'Bienvenido '.$_SESSION['email'].', esta es tu página personal; pues bien, lo que quiero es que aparezca: echo 'Bienvenido '.$_SESSION['name'].', esta es tu página personal.

Entiéndase que 'name' esta dentro de una base de datos MySQL, pero al poner esto aparece un mensaje de error, algo así como "...no esta definida la variable name....", ¿Dónde estará el error?, ¿¿¿porque no trae el valor de name contenido en la base de datos?????.

Gracias por sus respuestas.
  #7 (permalink)  
Antiguo 08/07/2013, 11:59
 
Fecha de Ingreso: julio-2010
Mensajes: 275
Antigüedad: 13 años, 9 meses
Puntos: 21
Respuesta: Conectar base de datos con sesión de PHP

Código PHP:
Ver original
  1. $sql="select name from usuarios where email='".$_SESSION['email']."'";
  2. $resultado=mysql_query($sql);
  3. $fila=mysql_fetch_assoc($resultado);
  4. $_SESSION['name']=$fila["name"];

Sino haces algo parecido a eso, es muy difícil que la variable de sesion se asigne automáticamente desde un registro de una base de datos...
  #8 (permalink)  
Antiguo 08/07/2013, 12:13
jorgemibanez
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Conectar base de datos con sesión de PHP

Mi código PHP es el siguiente:

<?php
session_start();
require_once('connect_db.php');
mysql_connect("localhost","root", "", "register");
if($_SESSION['logged'] == 'yes')
{
echo 'Bienvenido '.$_SESSION['email'].', esta es tu página personal
<html>
<head>
<meta charset="utf-8">
<title id="pageTitle">Inicio</title>
</head>

<body>
He omitido lo que va en el body para no alargar, son divs y otros elementos.
</body>
</html>


';
}else{
echo 'No estas logeado, por favor inicia sesión.';
}
?>


Me gustaría que en vez del email saliera el nombre pero al colocar la variable 'name' aparece el mensaje de error.
  #9 (permalink)  
Antiguo 08/07/2013, 12:32
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Conectar base de datos con sesión de PHP

tienes que modificar el nombre y/o valor de la session donde esta fue creada o crear una nueva con el valor del nombre , no donde es verificada , una vez modificado ya modificas el nombre en donde dice email
  #10 (permalink)  
Antiguo 08/07/2013, 12:47
jorgemibanez
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Conectar base de datos con sesión de PHP

Lo que necesito es utilizar las variables ya guardadas durante el registro en la base de datos en una sesión.
  #11 (permalink)  
Antiguo 08/07/2013, 12:51
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Conectar base de datos con sesión de PHP

ya sabemos lo que necesitas estoy intentando explicartelo , las sessiones seran creadas en el archivo que procesa el login algo como login.php postea ese codigo ya que ay es donde dbe de estar la session si fue creada y si no te tocara crearla

aparte el error es claro "...no esta definida la variable name...." ........

Última edición por webankenovi; 08/07/2013 a las 12:56
  #12 (permalink)  
Antiguo 08/07/2013, 13:01
jorgemibanez
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Conectar base de datos con sesión de PHP

login.php

<?php
session_start();
require_once('connect_db.php');
mysql_connect("localhost","root","register");

$email = strip_tags($_POST['email']);
$password = strip_tags(sha1($_POST['password']));

$query = @mysql_query('SELECT * FROM users WHERE email="'.mysql_real_escape_string($email).'" AND password="'.mysql_real_escape_string($password).'" ');
if($existe = @mysql_fetch_object($query))
{
$_SESSION['logged'] = 'yes';
$_SESSION['email'] = $email;
echo '<script>window.location="logeado.php"</script>';
}else{
echo 'El usuario y/o contrase&ntilde;a son incorrectos.';
}
?>

Tu disculpa, es que estoy con algo de bulla para terminar este proyecto.
  #13 (permalink)  
Antiguo 08/07/2013, 13:06
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Conectar base de datos con sesión de PHP

Dentro de este if

Código PHP:
Ver original
  1. if($existe = @mysql_fetch_object($query))
  2. {
  3.  
  4. $_SESSION['logged'] = 'yes';
  5.  
  6. // justo aqui http://es1.php.net/manual/es/function.mysql-fetch-object.php creas la session con el valor del objeto del nombre
  7.  
  8. $_SESSION['email'] = $email;
  9.  
  10. echo '<script>window.location="logeado.php"</script>';
  11. }

por cierto http://www.forosdelweb.com/f18/anunc...oleta-1008145/
  #14 (permalink)  
Antiguo 08/07/2013, 14:28
jorgemibanez
Invitado
 
Mensajes: n/a
Puntos:
Pregunta Problema al definir variable en sesión

Hola a todos, tengo el siguiente código PHP, es el login.php, con este el usuario ingresa correctamente y le aparece su sesión:

<?php
session_start();
require_once('connect_db.php');
mysql_connect("localhost","root","register");
$email = strip_tags($_POST['email']);
$password = strip_tags(sha1($_POST['password']));
$query = @mysql_query('SELECT * FROM users WHERE email="'.mysql_real_escape_string($email).'" AND password="'.mysql_real_escape_string($password).'" ');
if($existe = @mysql_fetch_object($query))
{
$_SESSION['logged'] = 'yes';
$query = @mysql_query('SELECT name FROM users');
if($existe = @mysql_fetch_object($query))
{
$_SESSION['name'] = $name;
}
$_SESSION['email'] = $email;
echo '<script>window.location="logeado.php"</script>';
}else{
echo 'El usuario y/o contrase&ntilde;a son incorrectos.';
}
?>

Sin embargo aparece algo así como undefinied index....name, debería aparecer esto = echo 'Bienvenido '.$_SESSION['name'].', esta es tu página personal.

Si en vez de name coloco email, si lo reconoce, pero necesito que aparezca name.

Gracias de antemano.
  #15 (permalink)  
Antiguo 08/07/2013, 15:13
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema al definir variable en sesión

¿Te has dado cuenta que usas la variable $name pero jamás la estás declarando?

Me imagino que debería ser así:
Código PHP:
Ver original
  1. $_SESSION['name'] = $existe->name;
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #16 (permalink)  
Antiguo 09/07/2013, 06:06
jorgemibanez
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema al definir variable en sesión

Sigue sin funcionarme. Entiendo que no he declarado $name, eso es lo que me gustaría que alguien me explicara, como declararla, ya que he intentado de todo tipo de formas y me sigue apareciendo el mismo error, se me está volviendo un rollo.......
  #17 (permalink)  
Antiguo 09/07/2013, 09:07
jorgemibanez
Invitado
 
Mensajes: n/a
Puntos:
Pregunta ¿Cómo hacer que una sesión ingrese a una base de datos?

Llevo tiempo intentando que alguien me ayude a encontrar una manera de hacer que en las sesiones de usuario aparezcan variables guardadas en una base de datos, lógicamente tengo que declarar la variable en el login, pero es que ya he tratado con varios códigos y aún nada, aquí mis códigos:

Login.php
<?php
session_start();
require_once('connect_db.php');
mysql_connect("localhost","root","register");

$email = strip_tags($_POST['email']);
$password = strip_tags(sha1($_POST['password']));

$query = @mysql_query('SELECT * FROM users WHERE email="'.mysql_real_escape_string($email).'" AND password="'.mysql_real_escape_string($password).'" ');
if($existe = @mysql_fetch_object($query))
{
$_SESSION['logged'] = 'yes';
$_SESSION['email'] = $email;
echo '<script>window.location="logeado.php"</script>';
}else{



echo '<script>window.location="welcome-try-again.html"</script>';
}
?>

logeado.php (Una vez que el login ha comprobado los datos)

<?php
session_start();
mysql_connect("localhost","root", "");
if($_SESSION['logged'] == 'yes')
{
echo 'Bienvenido '.$_SESSION['email'].', esta es tu página personal.

Aquí ( ......'.$_SESSION['email'].'.....)es donde necesito ingresar la variable 'name', que se encuentra en una tabla y fue proporcionada por el usuario al registrarse junto a muchos más datos, pero al colocar name aparece undefinied index.......etc..., alguna sugerencia.

<html lang="es" id="W" class="tinyViewport"><head>
<meta charset="utf-8">
<title id="pageTitle">Inicio</title>

........................de aquí en adelante puro html........
  #18 (permalink)  
Antiguo 09/07/2013, 11:32
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Conectar base de datos con sesión de PHP

Probaste como te dijo pateketrueke ? es la manera correcta ya que implementas mysql_fetch_object y trabaja con objetos, consultaste el manual ?

$_SESSION['name'] = $name; // manera incorrecta

$_SESSION['name'] = $existe->name; // manera correcta

cerciorate del nombre de tu base de datos del campo en concreto que deseas obtener se tiene que llamar igual que el nombre del objeto

$existe->(nombre_exacto_al_de_la_bd)

No entiendo como implementas mysql_fetch_object sin ni siquiera unas nociones minimas de su funcionamiento

Etiquetas: definir, formulario, html, mysql, página, select, sesión, sql, tabla, variable, variables
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 21:53.