Ver Mensaje Individual
  #6 (permalink)  
Antiguo 07/04/2007, 20:33
Avatar de codigoflecha
codigoflecha
 
Fecha de Ingreso: noviembre-2004
Mensajes: 325
Antigüedad: 19 años, 6 meses
Puntos: 3
Re: extraer campos de un usuario validado

Hola Yrnving, antes que nada agradecerte nuevamente tu respuesta.
Cita:
Ok pero que es lo que no puedes extraer la información de los datos…. De la base de datos?
exacto
Cita:
Supongo que antes de llegar al formulario debe existir alguna especie de log in.. para conocer el nombre del usuario es decir otro pequeño formulario que llamaría al formulario completo la cual recauda todos los datos de la persona y expone los nuevos campos.
si tengo un log in, con lo clásico usuario y contraseña, lo que ocurre es que utilizo lo que comentas en el code que marco:
Código:
 $query = "select * from user ". 
           "where User='$userid' " 
           ."and Password='$password'";
valido usuario y contraseña y registro una id de sesion con el usuario pero no sabia como recoger el resto de los datos (nombre, dirección, etc.) pero ya veo como en tu explicación, de todas formas te pongo lo que estoy haciendo asi si tengo alguna duda no te hago perder el tiempo en intentar imaginar como lo estoy haciendo:

Código PHP:
   if (identificar($usuario$password))  // funcion identificar que pongo más abajo
    
{        
      
// si se encuentran en la base de datos registrar la id de usuario
      
$admin_user $usuario;
      
session_register("admin_user");
       
do_html_headerform("Procesar pedido");

  if(
$cart&&array_count_values($cart))
  {
    
display_cart($cartfalse0);  // muestro el valores del carro sin permitir ya modificar las cantidades
    
display_checkoutclients_form(); //aqui llamo al formulario del que hablamos
  
}
  else
    echo 
"<p>No hay artículos en su carro de compras";
display_volver();

  
do_html_footer();
      
    }
    else
    {
      
// login incorrecto
      
do_html_headerform("Error:");
      echo 
"Nombre de usuario o contraseña no válidos. Pruebe de nuevo, por favor.<br>";
      
do_html_url("identificacion.php""Identificación");  // lo mando al form del login
      
do_html_footer();

      exit;
    } 
Código PHP:
function identificar($usuario$password)
// comprueba el nombre del usuario y el password con la base de datos
// si sí, devuelve verdadero
// si no devueelve falso
{
  
// conectar a la base de datos
  
$conn db_connect();
  if (!
$conn)
    return 
0;

  
// comprobar que el nombre de usuario sea único
  
$pass md5($password);     
  
$result mysql_query("select * from clients
                         where usuario='$usuario'
                         and password = '$pass'"
);
  if (!
$result)
     return 
0;

  if (
mysql_num_rows($result)>0)
     return 
1;
  else
     return 
0;

En el caso de no seguir adelante y seguir mirando en productos o comprar más, si vuelvo a procesar el pedido pongo esto:

Código PHP:
if (check_admin_user())  // compruebo si la sesion de usuario existe, la pongo más abajo
{
  
  if(
$cart&&array_count_values($cart))
  {
    
display_cart($cartfalse0); // muestro los articulos del carro
    
display_checkoutclients_form();
  }
  else
    echo 
"<p>No hay artículos en su carro de compras";
  
}
else
  
   
display_identificacion(); 
Código PHP:
function check_admin_user(
{
  global 
$admin_user;
  if (
session_is_registered("admin_user"))
    return 
true;
  else
    return 
false;

en checkoutclients_form muestro el formulario como tu bien comentas, con los input disable con los datos recogidos del usuario, que no me funcionaba, y debajo los datos de envio y lo mando a las funciones que te comentaba en el post anterior, en este paso no tengo problema, aunque no conocia la funcion para comprobar el campo dirección ...

Bueno vaya rollo no? muchas gracias sobre todo por tomarte tiempo en mi problema, voy a probar dentro de un rato tu respuesta sobre esta parte:
Código PHP:
@$row mysql_fetch_array($result); 

if(!
$row){ 
    
header("Location: login.php?error=Disculpe pero usted no esta registrado, regístrate es gratis!!."); 
    exit(); 
    } 
Else{ 
// Extraemos  la informacion 
  
$nombre_userstripslashes($row["nombre"]); 
  
$apellido_userstripslashes($row["apellido"]); 
  
$email_userstripslashes($row["email"]); 
  
$direccion_userstripslashes($row["dirrecion"]); 
que creo que es lo más o menos me falta no?

en fin, lo dicho si necesitas cualquier cosa no dudes en pedirmelo, mi especialidad es el xhml y css, con php como ves todavia me falta pero cada dia avanzo rápido, flash, photoshop, corel, etc. asi que si necesitas algún diseño, etc. por aqui estamos.
saludos

Última edición por codigoflecha; 07/04/2007 a las 20:53