Foros del Web » Programando para Internet » PHP »

mostrar campo mysql-php en una sesión

Estas en el tema de mostrar campo mysql-php en una sesión en el foro de PHP en Foros del Web. Soy un principiante y no doy con ello. He creado un sistema de autentificación en DW con la tabla socios con los campos socio , ...
  #1 (permalink)  
Antiguo 20/04/2006, 13:18
 
Fecha de Ingreso: marzo-2003
Mensajes: 225
Antigüedad: 21 años, 1 mes
Puntos: 0
mostrar campo mysql-php en una sesión

Soy un principiante y no doy con ello.
He creado un sistema de autentificación en DW con la tabla socios con los campos socio, pass y nombre; la sesión MM_Usename muestra el usuario del login user pero quiero que muestre el nombre:

login:

Código PHP:
// *** Start the session
session_start();
// *** Validate request to log in to this site.
$FF_LoginAction $PHP_SELF;
if (isset(
$QUERY_STRING) && $QUERY_STRING!=""$FF_LoginAction .= "?".$QUERY_STRING;
if (isset(
$user)) {
  
$FF_valUsername=$user;
  
$FF_fldUserAuthorization="";
  
$FF_redirectLoginSuccess="../socios/soclis.php";
  
$FF_redirectLoginFailed="../index.php";
  
$FF_rsUser_Source="SELECT socio, pass ";
  if (
$FF_fldUserAuthorization != ""$FF_rsUser_Source .= "," $FF_fldUserAuthorization;
  
$FF_rsUser_Source .= " FROM socios WHERE socio='" $FF_valUsername "' AND pass='" md5($userpass) . "'";
  
mysql_select_db($database_zona$zona);
  
$FF_rsUser=mysql_query($FF_rsUser_Source$zona) or die(mysql_error());
  
$row_FF_rsUser mysql_fetch_assoc($FF_rsUser);
  if(
mysql_num_rows($FF_rsUser) > 0) {
    
// username and password match - this is a valid user
    
$MM_Username=$FF_valUsername;   
    
session_register("MM_Username"); 
en las páginas restringidas tengo antes del html:

Código PHP:
// *** Restrict Access To Page: Grant or deny access to this page
$FF_authorizedUsers=" ";
$FF_authFailedURL="../aut/login.php";
$FF_grantAccess=0;
session_start();
if (isset(
$HTTP_SESSION_VARS["MM_Username"])) {
  if (
true || !(isset($HTTP_SESSION_VARS["MM_UserAuthorization"])) || $HTTP_SESSION_VARS["MM_UserAuthorization"]=="" || strpos($FF_authorizedUsers$HTTP_SESSION_VARS["MM_UserAuthorization"])) {
    
$FF_grantAccess 1;
  }
}
if (!
$FF_grantAccess) {
  
$FF_qsChar "?";
  if (
strpos($FF_authFailedURL"?")) $FF_qsChar "&";
  
$FF_referrer $PHP_SELF;
  if (isset(
$QUERY_STRING) && strlen($QUERY_STRING) > 0$FF_referrer .= "?" $QUERY_STRING;
  
$FF_authFailedURL $FF_authFailedURL $FF_qsChar "accessdenied=" urlencode($FF_referrer);
  
header("Location: $FF_authFailedURL");
  exit;

y para mostrar el usuario:

Código PHP:
echo "Hola $MM_Username"
¿cómo lo hago?

gracias y saludos
  #2 (permalink)  
Antiguo 20/04/2006, 14:20
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola jossxx

Creo que en el foro de PHP podrán ayudarte mejor.

Mensaje movido desde Editores Web.

Saludos,
  #3 (permalink)  
Antiguo 20/04/2006, 14:42
 
Fecha de Ingreso: septiembre-2004
Ubicación: Santiago de Chile
Mensajes: 156
Antigüedad: 19 años, 6 meses
Puntos: 0
no entendi bien la consulta, pero supongo que tienes los 3 campo....

asumo que socio debe ser tu identificador(pk)
pass y nombre te sirve para controlar si es el socio...

y que lo que te devuelve es el dato que esta en el campo de SOCIO..

mira si todo eso es asi... seria supero facil, ya que te estaria devolviendo el id asi que bastaria con hacer un Select a la base de datos y luego recogerlo..
Código PHP:


$rs 
mysql_query("Select nombre from socios where socio = '$socio' "); 
en este caso '$socio' es el id osea lo que te esta complicando....
luego recoges el $RS
Código PHP:


while( $row mysql_fetch_array($rs))
{
 
$nombre $row_["nombre"];
}

echo 
$nombre
espero que me hayas entendido, por lo menos es lo que yo te entendi... :P
suerte... cualquier duda hazla saber..
  #4 (permalink)  
Antiguo 20/04/2006, 15:06
 
Fecha de Ingreso: marzo-2003
Mensajes: 225
Antigüedad: 21 años, 1 mes
Puntos: 0
por ahí va..

gracias por tu rapidez;

en el login tengo socio y pass , pero quiero mostrar nombre,
la cuestión es que efectivamente tengo que tomar el valor de nombre y mostrarlo, voy a probar tu código aunque no sé exactamente donde incrustarlo,

saludos
  #5 (permalink)  
Antiguo 20/04/2006, 15:36
 
Fecha de Ingreso: marzo-2003
Mensajes: 225
Antigüedad: 21 años, 1 mes
Puntos: 0
algo no va

en el login busca coincidencias con socio y pass y ya guarda el nombre, creo

Código PHP:
$FF_rsUser_Source="SELECT nombre, socio, pass ";
  if (
$FF_fldUserAuthorization != ""$FF_rsUser_Source .= "," $FF_fldUserAuthorization;
  
$FF_rsUser_Source .= " FROM socios WHERE socio='" $FF_valUsername "' AND pass='" md5($userpass) . "'"
de todas formas después he incrustado la linea para guardar el nombre (ahora MM_Username me muestra el socio):

Código PHP:
mysql_select_db($database_zona$zona);
  
$FF_rsUser=mysql_query($FF_rsUser_Source$zona) or die(mysql_error());
  
$row_FF_rsUser mysql_fetch_assoc($FF_rsUser);
  if(
mysql_num_rows($FF_rsUser) > 0) {
    
// username and password match - this is a valid user
    
$MM_Username=$FF_valUsername;
    
    
$rs mysql_query("Select nombre from socios where socio = '$socio' ");

    
session_register("MM_Username"); 
y en la página protegida la linea para el nombre:

Código PHP:
while( $row mysql_fetch_array($rs)) 

 
$nombre $row_["nombre"]; 


echo 
$nombre
supongo que es algo elemental pero no "pita";
de todas formas no entiendo porqué hay que usar un while si en el select del login ya iba la condición Where socio=x y pass=xx

gracias de nuevo
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 19:12.