Foros del Web » Programando para Internet » PHP »

Añadir correo electrónico- sistema de miembros

Estas en el tema de Añadir correo electrónico- sistema de miembros en el foro de PHP en Foros del Web. Hola amigo, el problema que tewngo ahora es el siguiente: quiero que en la ventana entrar (la que entra al perfil del usuario) aparezca también ...
  #1 (permalink)  
Antiguo 08/01/2011, 10:56
 
Fecha de Ingreso: enero-2011
Mensajes: 77
Antigüedad: 13 años, 10 meses
Puntos: 3
Pregunta Añadir correo electrónico- sistema de miembros

Hola amigo, el problema que tewngo ahora es el siguiente:

quiero que en la ventana entrar (la que entra al perfil del usuario) aparezca también su correo, como lo hace con el nombre del usuario.

Por ejemplo: Si yo he accedido con el usuario ninco90 quiero que me aparezca el mensaje de bienvenida así:

¡Bienvenido ninco90! (<=eso ya me lo hace el código) [email protected] (<= esto es lo que quiero que aparezca, el correo con que me registre)

Por lo cual quiero que quede algo como esto:

¡Bienvenido ninco90! [email protected]

Este es el código php que tengo. el que procesa los datos del formulario y depsues te lleva al perfil:

Código PHP:
<?
// Configura los datos de tu cuenta
include('configuracion.php');

session_start();

// Conectar a la base de datos
mysql_connect ($dbhost$dbusername$dbuserpass);
mysql_select_db($dbname) or die('No se puede seleccionar la base de datos');

if (
$_POST['username']) {
//Comprobacion del envio del nombre de usuario y password
$username=$_POST['username'];
$password=$_POST['password'];
if (
$password==NULL) {
echo 
"La contraseña no fue enviada,".'<a href="sesion.php">vuelve a intentarlo.</a>'."";
}else{
$query mysql_query("SELECT username,password FROM usuarios WHERE username = '$username'") or die(mysql_error());
$data mysql_fetch_array($query);
if(
$data['password'] != $password) {
echo 
"Datos incorrectos,".'<a href="sesion.php">vuelve a intentarlo.</a>'."";

//Esta es la parte que me interesa para que me aparezca eso, he modificado cosas pero no sé donde está el fallo...

}else{
$query mysql_query("SELECT username,password FROM usuarios WHERE username,email = '$username,$email'") or die(mysql_error());
$row mysql_fetch_array($query);
$_SESSION["s_username"] = $row['username'];
$_SESSION["s_email"] = $row['email'];
$_SESSION["logeado"] = "SI";
echo (
"<h2>¡Bienvenido <strong>".$_SESSION['s_username']." </strong>!".$_SESSION['s_email']."</h2>");
}
}
}
?>
Os agradecería mucho vuestra ayuda!!!
  #2 (permalink)  
Antiguo 08/01/2011, 11:13
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 16 años, 4 meses
Puntos: 416
Respuesta: Añadir correo electrónico- sistema de miembros

La consulta que tienes es esta:
Código MySQL:
Ver original
  1. SELECT username,password FROM usuarios WHERE username,email = '$username,$email'

Cuando deberia ser:
Código MySQL:
Ver original
  1. SELECT username, email FROM usuarios WHERE usuario='$username'

Eso si, ya has cargado alguno de esos datos por lo que tu código tiene esa consulta de mas. Debes reestructurarlo mejor.
  #3 (permalink)  
Antiguo 08/01/2011, 11:18
Avatar de Masterphp  
Fecha de Ingreso: septiembre-2009
Ubicación: /home/php/
Mensajes: 94
Antigüedad: 15 años, 2 meses
Puntos: 3
Respuesta: Añadir correo electrónico- sistema de miembros

y para que seleccionaas los datos ahi tienes todo.. mirad.

Código PHP:
Ver original
  1. $query = mysql_query("SELECT username,password,email FROM usuarios WHERE username,email = '$username,$email'") or die(mysql_error());
  2. $row = mysql_fetch_array($query);
  3. $_SESSION["s_username"] = $row['username'];
  4. $_SESSION["s_email"] = $row['email'];
  5. $_SESSION["logeado"] = "SI";
  6. echo ("<h2>¡Bienvenido <strong>".$_SESSION['s_username']." </strong>!".$row['email']."</h2>");

si tienes guardado email en bd tonces solo selecciona.
  #4 (permalink)  
Antiguo 08/01/2011, 14:23
 
Fecha de Ingreso: enero-2011
Mensajes: 77
Antigüedad: 13 años, 10 meses
Puntos: 3
Respuesta: Añadir correo electrónico- sistema de miembros

No sé si habeís entendido lo que he querido decir...

Bien, he cambiado eso pero ahor ame sale este error:

Unknown column 'usuario' in 'where clause'

Yo lo que quiero que en ese codigo, tambié muestre el correo dle usuario que ha ingresado anteriormente, que muestre el nombre del usuario y su correo, de hay esta fila:

Código PHP:
Ver original
  1. echo ("<h2>¡Bienvenido <strong>".$_SESSION['s_username']." </strong>!".$row['email']."</h2>");
Lo que está en negrita es lo que quiero que funcione... ese código junto al resto deberia de quedar como anteriormente dije: ¡Bienvenido ninco90! [email protected]
  #5 (permalink)  
Antiguo 08/01/2011, 16:14
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 16 años, 4 meses
Puntos: 416
Respuesta: Añadir correo electrónico- sistema de miembros

Me confundi escribiendo la consulta, en vez de usuario al final es username
  #6 (permalink)  
Antiguo 08/01/2011, 16:20
 
Fecha de Ingreso: enero-2011
Mensajes: 77
Antigüedad: 13 años, 10 meses
Puntos: 3
Respuesta: Añadir correo electrónico- sistema de miembros

Ya pero lo puse bien, peor sigue sin funcionar lo que quiero. Quiero hacer algo como gmail cuando estás abriendo un correo ;)
  #7 (permalink)  
Antiguo 08/01/2011, 16:40
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 16 años, 4 meses
Puntos: 416
Respuesta: Añadir correo electrónico- sistema de miembros

Prueba asi:

Código PHP:
<?php 
// Configura los datos de tu cuenta 
include('configuracion.php'); 

session_start(); 

// Conectar a la base de datos 
mysql_connect ($dbhost$dbusername$dbuserpass); 
mysql_select_db($dbname) or die('No se puede seleccionar la base de datos'); 

if (
$_POST['username']) { 
    
//Comprobacion del envio del nombre de usuario y password 
    
$username=$_POST['username']; 
    
$password=$_POST['password']; 
    if (
$password==NULL) { 
        echo 
"La contraseña no fue enviada,".'<a href="sesion.php">vuelve a intentarlo.</a>'.""
    }else{ 
        
$query mysql_query("SELECT username,password,email FROM usuarios WHERE username = '$username'") or die(mysql_error()); 
        
$data mysql_fetch_array($query); 
        if(
$data['password'] != $password) { 
            echo 
"Datos incorrectos,".'<a href="sesion.php">vuelve a intentarlo.</a>'."";
        }else{
            
$_SESSION["s_username"] = $row['username']; 
            
$_SESSION["s_email"] = $row['email']; 
            
$_SESSION["logeado"] = "SI"
            echo (
"<h2>¡Bienvenido <strong>".$_SESSION['s_username']." </strong>!".$_SESSION['s_email']."</h2>"); 
        } 
    } 

?>
  #8 (permalink)  
Antiguo 08/01/2011, 16:57
 
Fecha de Ingreso: enero-2011
Mensajes: 77
Antigüedad: 13 años, 10 meses
Puntos: 3
Respuesta: Añadir correo electrónico- sistema de miembros

Funciona pero ahora ni me aparece el nombre del usuario y tampoco el correo del usuario.
  #9 (permalink)  
Antiguo 08/01/2011, 18:10
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 16 años, 4 meses
Puntos: 416
Respuesta: Añadir correo electrónico- sistema de miembros

No me habia fijado en algo cuando edite el codigo. Con esto bastara:

Código PHP:
<?php 
// Configura los datos de tu cuenta 
include('configuracion.php'); 

session_start(); 

// Conectar a la base de datos 
mysql_connect ($dbhost$dbusername$dbuserpass); 
mysql_select_db($dbname) or die('No se puede seleccionar la base de datos'); 

if (
$_POST['username']) { 
    
//Comprobacion del envio del nombre de usuario y password 
    
$username=$_POST['username']; 
    
$password=$_POST['password']; 
    if (
$password==NULL) { 
        echo 
"La contraseña no fue enviada,".'<a href="sesion.php">vuelve a intentarlo.</a>'.""
    }else{ 
        
$query mysql_query("SELECT username,password,email FROM usuarios WHERE username = '$username'") or die(mysql_error()); 
        
$data mysql_fetch_array($query); 
        if(
$data['password'] != $password) { 
            echo 
"Datos incorrectos,".'<a href="sesion.php">vuelve a intentarlo.</a>'."";
        }else{
            
$_SESSION["s_username"] = $data['username']; 
            
$_SESSION["s_email"] = $data['email']; 
            
$_SESSION["logeado"] = "SI"
            echo (
"<h2>¡Bienvenido <strong>".$_SESSION['s_username']." </strong>!".$_SESSION['s_email']."</h2>"); 
        } 
    } 

?>
  #10 (permalink)  
Antiguo 08/01/2011, 20:28
Avatar de zerpico_01  
Fecha de Ingreso: enero-2008
Ubicación: Wilde - Avellaneda -
Mensajes: 421
Antigüedad: 16 años, 10 meses
Puntos: 13
Respuesta: Añadir correo electrónico- sistema de miembros

cambia la sentencia a BD por esto:

Código PHP:
Ver original
  1. $query = sprintf("SELECT *  FROM usuarios WHERE username ='%s'",
  2. $tomar= mysql_query($query);
  3. $usar=mysql_fetch_array($tomar);

igualar el resultado de la consutal con la session seria asi

Código PHP:
Ver original
  1. $usuario= htmlentities($usar['username'], ENT_QUOTES);
  2.  
  3.  $_SESSION["s_username"] =$usuario;

El principio del archivo esta mal, no va

Cita:
<?php
// Configura los datos de tu cuenta
include('configuracion.php');

session_start();
tiene que ir asi :

Cita:
<?php session_start();
// Configura los datos de tu cuenta
include('configuracion.php');
para mostrar el mail usando la consulta que propuse haslo asi:
Código PHP:
Ver original
  1. $mail=htmlentities($usar['mail']);
  2.  
  3. donde quieras que aparesca mail coloca <?php echo $mail ?>

de hecho no debes trabajar con nombre usuario o mail en la session, usa mejor el ID del usuario luego cuando este logueado solo recorres la DB en busca del ID y con el id cargas en un echo la respuesta de la consulta.


saludos!!

Última edición por zerpico_01; 08/01/2011 a las 20:37

Etiquetas: añadir, correo, sitemap
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 03:19.