Foros del Web » Programando para Internet » PHP »

extraer campos de un usuario validado

Estas en el tema de extraer campos de un usuario validado en el foro de PHP en Foros del Web. hola amig@s, tengo un problema, en un formulario de un cliente registrado y validado con sesion en ese momento, le doy la opción de que ...
  #1 (permalink)  
Antiguo 07/04/2007, 07:07
Avatar de codigoflecha  
Fecha de Ingreso: noviembre-2004
Mensajes: 325
Antigüedad: 19 años, 5 meses
Puntos: 3
extraer campos de un usuario validado

hola amig@s, tengo un problema, en un formulario de un cliente registrado y validado con sesion en ese momento, le doy la opción de que ponga una dirección distinta de envio, esto me funciona cuando el cliente no esta registrado ya que tiene que introducir su datos personales y opcionalmente sus datos de envio si quiere enviar el pedido a un destino diferente .
Pero en el caso de que este registrado los datos personales ya estan en la base de datos y necesito coger los valores de ese cliente registrado de la tabla clients y los valores de nombre, apellidos, direccion, etc. y enviarlos ocultos con <input type = hidden name = nombre value="nombre de ese usuario registrado"> y asi con los demás campos, ya que lógicamente no salen los input nombre, apellidos, etc, como en el caso de los clientes no registrados.
Creo que la forma de hacerlo sería enviar los valores mediante el input hidden, de manera oculta para que me valide los datos correctamente en la página destino.
En definitiva, el cliente se identifica y si no rellena los campos de envio, se le envian a la dirección de su registro y si los rellena pues se mantiene en ambos casos el id de cliente, y en una tabla pedidos se relaciona el clientid pero varia los datos de dirección.
es que no consigo entender como hacerlo, si hago un select de la base de datos de la tabla clients y los campos ¿como saco los valores de este usuario en concreto.?
La sesión se valida con
// si se encuentran en la base de datos registro la id de usuario
$admin_user = $usuario;
session_register("admin_user");
uff, igual me he enrollado mucho, por favor necesito una orientación con este tema, ya sólo me queda esto y otra cosa para configurar la tpv y finalizar el trabajo de este cliente, gracias.
  #2 (permalink)  
Antiguo 07/04/2007, 11:26
 
Fecha de Ingreso: febrero-2006
Mensajes: 148
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: extraer campos de un usuario validado

Ah ver por lo que puedo entender es que tienes un formulario donde si el usuario este registrado solo pueda modificar la dirección de envió? Y todo lo demás se quede tal cual como es?…

Bien si el usuario ya relleno su dirección en su inscripción pero en el formulario el envió puede ser otro y si no lo relleno pues sea el mismo de la dirección que ya antes relleno en la inscripción.

Y en la página de resultado realizas una condicion

La variable dirección al igual que nombre, apellido y demás fue extraída de la base de datos….

Aunque si utilizas secciones también puedes almacenar las variables en la secciones y luego llamarlas en la pagina de resultado.

En ese caso no necesitarías de input hidden ya que las variables estarían en la sesión

<?
session_start();
if ($userid!="" && $password!="")
{
include("bd_connect.php");
// Si el usuario ha intentado hacer log in
$query = "select * from user ".
"where User='$userid' "
."and Password='$password'";
$result = mysql_query($query, $db_conn);
@$row = mysql_fetch_array($result);

if(!$row){

header("Location: login.php?error=Disculpe pero usted no esta registrado, regístrate es gratis!!.");
exit();
}

Else {
$cedula= stripslashes($row["Cedula"]);
$mostrar_nombre= stripslashes($row["Nombres"]);
$mostrar_apellido= stripslashes($row["Apellidos"]);
$email= stripslashes($row["Email"]);
$dirrecion= stripslashes($row["Direccion"]);

$valid_user = $userid;
session_register("valid_user");
session_register("mostrar_cedula");
session_register("mostrar_nombre");
session_register("mostrar_apellido");
session_register("mostrar_email");
session_register("mostrar_direccion");
}

if (session_is_registered("valid_user"))
{
header("Location: fomulario.php");
}
else
{
if (isset($userid))
{
// si han intentado hacer login y ha fallado
header("Location: login.php?error=Error, no has podido hacer Login In.");

}
else
{
// si no han intentado hacer login y no han hecho logged out
header("Location: login.php");
}
}
?>

Formulario
<?
session_start();
if (session_is_registered("valid_user"))
{
$userid=$HTTP_SESSION_VARS["valid_user"];
$NOMBRE=$HTTP_SESSION_VARS["mostrar_nombre"];
$APELLIDO=$HTTP_SESSION_VARS["mostrar_apellido"];
$cedula=$HTTP_SESSION_VARS["mostrar_cedula"];
$email=$HTTP_SESSION_VARS["mostrar_email"];
$NOMBRE=explode(" ",$NOMBRE);
$APELLIDO=explode(" ",$APELLIDO);
}
?>

Después de esto comienza el código html….. en mi caso yo los datos los puse en input de texto desactivados para que el usuario pueda apreciar sus datos pero no poder modificarlos ah no ser q se diriga a la pagina de modificacion pero eso no pinta nada aquí ( esto si el usuario esta registrado en el caso que no este pues no se si en tu caso quieres q sea redirigino).

<input name="nombre" type="text" value="<?=$NOMBRE[0].' '.$NOMBRE[1][0].'.'?>" size="14" disabled>


Y en la página de resultado (después del formulario):
<?
session_start();
if (session_is_registered("valid_user"))
{
$direccion=$HTTP_SESSION_VARS["mostrar_direccion"];
If($envio==””)
$donde_se_envia=$direccion;
Else
$donde_se_envia=$envio;

Aquí cumples la funcion que quieras… si es de almacenar todo en una base de datos.. o lo que sea. Donde almacenas ya la variable $donde_se_envia

}
?>
salu2.. espero q te ayude un poco.
  #3 (permalink)  
Antiguo 07/04/2007, 11:49
Avatar de codigoflecha  
Fecha de Ingreso: noviembre-2004
Mensajes: 325
Antigüedad: 19 años, 5 meses
Puntos: 3
Re: extraer campos de un usuario validado

hola Yrnving, muchas gracias por tu detallada respuesta, es un poco extensa, estoy intentando entender la solución que me propones ahora mismo te cuento.
Mil gracias
  #4 (permalink)  
Antiguo 07/04/2007, 13:18
Avatar de codigoflecha  
Fecha de Ingreso: noviembre-2004
Mensajes: 325
Antigüedad: 19 años, 5 meses
Puntos: 3
Re: extraer campos de un usuario validado

voy a probar Yrnving, lo que las variables de sesión no las domino que digamos pero voy a intentarlo, una pregunta no entiendo muy bien esto:
$email=$HTTP_SESSION_VARS["mostrar_email"]; aqui llamo a la variable de sesión email
$NOMBRE=explode(" ",$NOMBRE); esto no lo entiendo

pero si creo que entiendes perfectamente lo que estoy haciendo y que tu solución me puede valer, de todas formas voy a intentar ser más concreto:

tengo dos formularios, uno para usuarios registrados y otro para no registrados.
en el de no registrados se divide en dos, uno de datos personales, dirección , etc. y otro debajo de datos de envio que sólo se tiene que rellenar si el usuario quiere mandar el pedido a otra persona con otra dirección ( por ej. un regalo).
al enviar el formulario, pues la página destino llama a una función que básicamente inserta en la tabla clients, los datos personales, etc. y en la tabla orders el nº de pedido y los datos de dirección que en el caso de que no rellene los datos de envio pues se cargan los de datos personales y en el caso de que rellene los datos de envio pues se ponen esos datos en la tabla orders.
esto me funciona perfectamente.

para el caso de usuarios registrados como tu bien comentas queria mostrar los datos personales visibles pero que no se puedan modificar y darles la opción de rellenar el formulario de datos de envio en el caso de que quieran enviar el pedido a otra persona con otra dirección.
El problema surge de que no consigo mostrar esos datos ya visibles y sin poder ser modificados en la primera parte del form ( datos personales ).
Para los datos de envio utilizo:
<input type = text name = ship_nombre value "">

y queria en el de los datos personales que el nombre de value sea nombre ya que la funcion de la pagina donde se envia funciona bien.

Uff, de todas formas voy a intentarlo con lo de las sesiones, aunque para mi seria mejor coger los datos de la base de datos e insertarlos ya que como te comente no domino las sesiones.
voy a resumir el codigo que es extenso con lo justo para esto y te lo muestro, si me lo permites te escribo un privado con el enlace para que lo veas.
en fin 10000 gracias de nuevo, si me echas una mano te lo compensaré como tu creas conveniente es que es mi cliente nº1 y le he terminado otros trabajos pero me he retrasado bastante con este, una tienda online a medida es compleja y no puedo retrasarme más ya que puedo perder el cliente y mi continuidad en esto.
gracias
  #5 (permalink)  
Antiguo 07/04/2007, 19:36
 
Fecha de Ingreso: febrero-2006
Mensajes: 148
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: extraer campos de un usuario validado

Ok pero que es lo que no puedes extraer la información de los datos…. De la base de datos?

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.

Código PHP:
// vemos si al formulario no se intento acceder sin cumplir con el log in
if($userid=="" || $password==""){
    
header("Location: login.php?error=Ocurrió un error, por favor vuelva a intentarlo.");
    exit();
    }
//comprobamos si el usuario existe en la base de datos
if ($userid!="" && $password!="")
{
   
$miusuario="miusuario";
   
$basedatos="mibase";
   
$db_conn mysql_connect("localhost"$miusuario) or die ("Error, imposible conectarse a la base de datos");
  
mysql_select_db($basedatos$db_conn);
  
// Si el usuario ha intentado hacer log in
  
$query "select * from user ".
           
"where User='$userid' "
           
."and Password='$password'";
  
$result mysql_query($query$db_conn);
  @
$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"]);
}
// se continua mas abajo con código html… el cual representa el formulario. 
<form method="POST" action="resultado.php">
<table border="1" width="100%" id="table1">
<tr>
<td width="111">Su Nombre:</td>
<td><input type="text" name="user_id" size="20" value="<?=$nombre_user?>" disabled></td>
</tr>
<tr>
<td width="111">Su E-mail:</td>
<td><input type="text" name="user_email" value="<?=$email_user?>" disabled size="20"></td>
</tr>
<tr>
<td colspan="2">Descripción del Destinatario:</td>
</tr>
<tr>
<td width="111">Nombre:</td>
<td><input type="text" name="user_dest" size="20"></td>
</tr>
<tr>
<td width="111">Direccion:</td>
<td><input type="text" name="loc_dest" size="20"></td>
</tr>
<tr>
<td width="111">&nbsp;</td>
<td><input type="submit" value="Enviar" name="B1"></td>
</tr>
</table>
<input type="hidden" name="direccion" value="<?=$direccion_user?>">
</form>

En la última página resultado.php se cumpliría las condiciones que deseas. En caso de que “loc_dest” la dirección del destinatario este en blanco… pasaría a ser la la dirección del usuario.

Tambien si quieres comprobar si la direccion es muy corta

Código PHP:
$caracter=strlen($loc_dest);
If(
$loc_dest==""  || ($caracter<24)){
/*si el usuario no relleno el campo “loc_dest” de envio o es una direccion poco explicita pasara a ser el mismo valor de la dirección que se extrajo de la base de datos y se paso por campos ocultos */
  
$loc_dest=$direccion;

Y sigues con el resto de funciones y condiciones que deseas realizar….

modificacion: espero que te ayude.. salu2...
  #6 (permalink)  
Antiguo 07/04/2007, 20:33
Avatar de codigoflecha  
Fecha de Ingreso: noviembre-2004
Mensajes: 325
Antigüedad: 19 años, 5 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
  #7 (permalink)  
Antiguo 08/04/2007, 04:44
Avatar de codigoflecha  
Fecha de Ingreso: noviembre-2004
Mensajes: 325
Antigüedad: 19 años, 5 meses
Puntos: 3
Re: extraer campos de un usuario validado

hola Yrnving de nuevo a molestarte un poco, no funcionaba así que lo he puesto en un mismo archivo con la función incluida, pero nada se identifica el usuario correctamente pero los campos siguen vacios:
Código PHP:
<?

// incluye los archivos de función para esta aplicación
require_once("book_sc_fns.php");
session_start();


  
// conectar a la base de datos
  
$conn db_connect();

  
// comprobar que el nombre de usuario sea único
  
$pass md5($password);     
  
$result mysql_query("select * from clients
                         where usuario='$usuario'
                         and password = '$pass'"
);
  @
$row mysql_fetch_array($result); 
  if(!
$row){ 
          
// 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");
      
do_html_footer(); 
    exit(); 
    } else { 
         
$admin_user $usuario;
         
session_register("admin_user");
         
do_html_headerform("Confirmar pedido:");
// Extraemos  la informacion 
  
$nombrestripslashes($row["nombre"]); 
  
$apellidosstripslashes($row["apellidos"]); 
  
$nifcifstripslashes($row["nifcif"]); 
  
$paisstripslashes($row["pais"]); 
  
$provinciastripslashes($row["provincia"]); 
  
$ciudadstripslashes($row["ciudad"]);
  
$direccionstripslashes($row["direccion"]);
  
$postalstripslashes($row["postal"]);  
    if(
$cart&&array_count_values($cart))
  {
    
display_cart($cartfalse0);
    
display_checkoutclients_form();
  }
  else
    echo 
"<p>No hay artículos en su carro de compras";
display_volver();

  
do_html_footer(); 



?>
los input los pongo asi:
<form action = checkout_clients.php method = post>
<input type = hidden name = nombre value="<?=$nombre?>" maxlength = 23 size = 23 class="none" disabled>

pero nada, sigue sin cogerme los datos

en fin, perdona por molestarte tanto
como siempre gracias
  #8 (permalink)  
Antiguo 08/04/2007, 09:15
 
Fecha de Ingreso: febrero-2006
Mensajes: 148
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: extraer campos de un usuario validado

Hola bueno e tomado tu código y lo e probado y aca te lo pongo con algunas modificaciones es solo un ejemplo todas las funciones que tenias la e neutralizado.

Como te dije lo e probado y me funciono, como no pude ver tu función "db_connect" puede ser ahi el error de todas manera la e creado.

Código PHP:
<?
session_start
();
// incluye los archivos de función para esta aplicación
//require_once("book_sc_fns.php");

function db_connect($user,$pass,$bd){
 
//nos conectamos con la base de datos con los valores que nos fueron pasados.
  
$db_conn mysql_connect("localhost"$user,$pass) or die ("Error, imposible conectarse a la base de datos");
  
mysql_select_db($bd$db_conn);
};
  
//valores para conectar a la base de datos.
  
$USUARIO_BD="shop_carrito";
  
$PASS_BD="123456789";
  
$BD_SELECT="carrito";
  
// conectar a la base de datos
  
$conn db_connect($USUARIO_BD,$PASS_BD,$BD_SELECT);

  
// valores del usuario suponiendo que paso por el formulario log in.. y estos son los datos que introdujo.
  
$usuario="yrnving";
  
$pass="321";

  
//$pass = md5($password);
  
$result mysql_query("select * from clientes
                         where userid='$usuario'
                         and password = '$pass'"
);
  @
$row mysql_fetch_array($result);
  if(!
$row){
      
// 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");
      //do_html_footer();
    
exit();
    } else {
         
$admin_user $usuario;
         
session_register("admin_user");
         
//do_html_headerform("Confirmar pedido:");
// Extraemos  la informacion
  
$nombrestripslashes($row["nombre"]);
  
$direccionstripslashes($row["ubicacion"]);
    if(
$cart&&array_count_values($cart))
  {
    
//display_cart($cart, false, 0);
    //display_checkoutclients_form();
  
}
  else
    echo 
"<p>No hay artículos en su carro de compras"."<br>";
    echo 
$nombre."<br>".$direccion."<br>";
    echo 
'<input type="text" name="name" size="20" value="'.$nombre.'" disabled>';
//display_volver();
//do_html_footer();
}
/* 
la base de datos se llama "carrito"
y el usuario se que utilize para la base de datos fue "shop_carrito" con contraseña "123456789"
aqui te paso el codigo para crear la tabla en la base de datos que utilize es un ejemplo asi que no es nada extensa

CREATE TABLE `clientes` (
  `userid` varchar(10) NOT NULL,
  `password` varchar(20) NOT NULL,
  `nombre` varchar(15) NOT NULL,
  `ubicacion` text NOT NULL,
  PRIMARY KEY  (`userid`)


-- 
-- Volcar la base de datos para la tabla `clientes`
-- 

INSERT INTO `clientes` VALUES ('yrnving', '321', 'Yrnving R.', 'Al lado de una casa azul oscuro por la Avenida ni idea.  Calle 100 cruzando con la 9.');

*/
?>
salu2.. y que tengas un buen dia.

Última edición por Yrnving; 08/04/2007 a las 09:26
  #9 (permalink)  
Antiguo 08/04/2007, 11:35
Avatar de codigoflecha  
Fecha de Ingreso: noviembre-2004
Mensajes: 325
Antigüedad: 19 años, 5 meses
Puntos: 3
Re: extraer campos de un usuario validado

Hola Yrnving, antes que nada agradecerte tu respuesta, te debo una, no la conexión a la bd la realiza bien, verás he probado a ver si me extraia los datos del usuario registrado poniendo el echo nombre dirección y si imprime los datos de ese usuario por lo que el error debe estar al pasar los datos a la siguiente página, verás te pongo la última parte según lo que te mande anteriormente:
Código PHP:
// Extraemos  la informacion 
  
$nombrestripslashes($row["nombre"]); 
  
$apellidosstripslashes($row["apellidos"]); 
   
    if(
$cart&&array_count_values($cart))
  {
    
display_cart($cartfalse0);
    echo 
$nombre."<br>".$direccion."<br>";  
    
display_checkoutclients_form();
  }
  else
    echo 
"<p>No hay artículos en su carro de compras";
display_volver();

  
do_html_footer(); 



?> 
bueno voy a probar a ver si veo donde esta el problema ya te comento.
Muchísimas gracias
  #10 (permalink)  
Antiguo 08/04/2007, 12:04
Avatar de codigoflecha  
Fecha de Ingreso: noviembre-2004
Mensajes: 325
Antigüedad: 19 años, 5 meses
Puntos: 3
Re: extraer campos de un usuario validado

hola de nuevo, que pesado no? je,je
el problema esta en que cuando llamo a la función display_checkoutclients_form(); donde esta el formulario no imprime los datos en los input, te pongo el comienzo donde estan los input:
(lo de las llaves es son bastantes funciones y las cierro y las abro )
Código PHP:
<?
}
function 
display_checkoutclients_form()
{

  
//display the form that asks for name and address
?>
<table border = 0 width = 80% cellspacing = 0 align = left>
  <form action = checkout.php  method = post>
    <input type = text name = nombre maxlength = 23 size = 23 value = "<?=$nombre?>" disabled>
    <input type = text name = apellidos maxlength = 23 size = 23 value = "<?=$apellidos?>" disabled>
 
  
  <tr>
  <td height="50" colspan="5"><strong>Datos de envío</strong><br>
    <span class="texto_aviso">Los datos de su registro de cliente son los que utilizaremos para enviar su pedido (si ha seleccionado ud. artículos que requieren de su envío por correo). Únicamente debe de cumplimentar los siguientes datos de envío, en el caso de que desee modificarlos exclusivamente en este envío.</span>
  </td>
  </tr>
  
  <tr>
    <td height="45" colspan="2">Nombre<br />
    <input type = text name = ship_nombre value = "" maxlength = 23 size = 23 class="none"></td>
        <td width="30%">Apellidos</a><br />
    <input type = text name = ship_apellidos value = "" maxlength = 23 size = 23 class="none"></td>
            <td colspan="2"></td>   
  </tr>
uff, no me los pasa en el form
  #11 (permalink)  
Antiguo 08/04/2007, 12:05
 
Fecha de Ingreso: febrero-2006
Mensajes: 148
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: extraer campos de un usuario validado

OK entiendo… bueno tienes varias alternativas para poder pasar los datos ya extraídos a la siguiente pagina…. Por medio de campos ocultos de un formulario o por secciones,

Si deseas pasar la información por campos ocultos debe existir un formulario en la misma página donde se extrae la información. En ese caso el código PHP no puede terminar con la función "do_html_footer()"; por que supongo que esa función cierra ya el contenido html y se te esta olvidando el formulario…

El 2do caso por secciones…

Solo debes almacenar la informacio asi:
Código PHP:
<?
session_start
();
//se extrajo los datos del usuario satisfactoriamente 
$conn=db_connect();
$query "select * from user ".
           
"where User='$userid' "
           
."and Password='$password'";
$result mysql_query($query$db_conn);
@
$row mysql_fetch_array($result);

//almacenamos la informacion en una seccion con un nombre unico para no confundirnos.

$nombre_userstripslashes($row["nombre"]);
session_register("nombre_user");
en la siguiente pagina para ver el valor
Código PHP:
session_start();
//le damos a $userid el valor de la variable nombre_user almacenada en la seccion.
$userid=$HTTP_SESSION_VARS["nombre_user"];
//mostramos la variable
echo $userid;
//creamos un input texto 
 
echo '<input type="text" name="name" size="20" value="'.$userid.'" disabled>'
  #12 (permalink)  
Antiguo 08/04/2007, 12:10
 
Fecha de Ingreso: febrero-2006
Mensajes: 148
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: extraer campos de un usuario validado

ok disculpa el post anterior lo envie antes de ver ese ultimo.... aqui esta el error..
se te esta olviando pasarle los valores ya obtenidos a la funcion...
Código HTML:
<? 
} 

function display_checkoutclients_form($nombre,$apellidos) 
{ 

  //display the form that asks for name and address 
?> 
<table border = 0 width = 80% cellspacing = 0 align = left> 
  <form action = checkout.php  method = post> 
    <input type = text name = nombre maxlength = 23 size = 23 value = "<?=$nombre; ?>" disabled> 
    <input type = text name = apellidos maxlength = 23 size = 23 value = "<?=$apellidos; ?>" disabled> 
  
   
  <tr> 
  <td height="50" colspan="5"><strong>Datos de envío</strong><br> 
    <span class="texto_aviso">Los datos de su registro de cliente son los que utilizaremos para enviar su pedido (si ha seleccionado ud. artículos que requieren de su envío por correo). Únicamente debe de cumplimentar los siguientes datos de envío, en el caso de que desee modificarlos exclusivamente en este envío.</span> 
  </td> 
  </tr> 
   
  <tr> 
    <td height="45" colspan="2">Nombre<br /> 
    <input type = text name = ship_nombre value = "" maxlength = 23 size = 23 class="none"></td> 
        <td width="30%">Apellidos</a><br /> 
    <input type = text name = ship_apellidos value = "" maxlength = 23 size = 23 class="none"></td> 
            <td colspan="2"></td>    
  </tr> 
y en la pagina donde llamas la funcion quedaria asi:
Código PHP:
  if($cart&&array_count_values($cart)) 
  { 
    
display_cart($cartfalse0); 
    echo 
$nombre."<br>".$direccion."<br>";   
    
display_checkoutclients_form($nombre,$apellidos); 
  } 
  #13 (permalink)  
Antiguo 08/04/2007, 12:45
Avatar de codigoflecha  
Fecha de Ingreso: noviembre-2004
Mensajes: 325
Antigüedad: 19 años, 5 meses
Puntos: 3
Re: extraer campos de un usuario validado

hola de nuevo, bueno que solucionado verás si te fijas realmente no llamo a otra página con el form sino que cargo la función function display_checkoutclients_form($nombre,$apellidos) , he puesto para probar en vez de la llamada a la función, el form directamente de esta forma:

Código PHP:
// Extraemos  la informacion 
  $nombre= stripslashes($row["nombre"]); 
  $apellidos= stripslashes($row["apellidos"]); 
  $nifcif= stripslashes($row["nifcif"]); 
  $pais= stripslashes($row["pais"]); 
  $provincia= stripslashes($row["provincia"]); 
  $ciudad= stripslashes($row["ciudad"]);
  $direccion= stripslashes($row["direccion"]);
  $postal= stripslashes($row["postal"]);
   
    if($cart&&array_count_values($cart))
  {
    display_cart($cart, false, 0);
    echo $nombre."<br>".$direccion."<br>";  
   ?>
<table border = 0 width = 80% cellspacing = 0 align = left>
  <form action = checkout.php  method = post>
    <input type = text name = nombre maxlength = 23 size = 23 value = "<?=$nombre?>" disabled>
    <input type = text name = apellidos maxlength = 23 size = 23 value = "<?=$apellidos?>" disabled>
 
  
  <tr>
  <td height="50" colspan="5"><strong>Datos de envío</strong><br>
    <span class="texto_aviso">Los datos de su registro de cliente son los que utilizaremos para enviar su pedido (si ha seleccionado ud. artículos que requieren de su envío por correo). Únicamente debe de cumplimentar los siguientes datos de envío, en el caso de que desee modificarlos exclusivamente en este envío.</span>
  </td>
  </tr>
  
  <tr>
    <td height="45" colspan="2">Nombre<br />
    <input type = text name = ship_nombre value = "" maxlength = 23 size = 23 class="none"></td>
        <td width="30%">Apellidos</a><br />
    <input type = text name = ship_apellidos value = "" maxlength = 23 size = 23 class="none"></td>
            <td colspan="2"></td>   
  </tr>
y funciona ¡¡¡¡¡¡¡
parece que al llamar a la función no me envia los datos, tal vez como tu comentabas guardando los resultados del row en sesiones me funcione pero como funciona lo voy a dejar asi de momento.
Ahora voy a probar a ver si al enviar el form me funciona igual que en el caso de clientes registrados y me paso al siguiente paso que es cargar costes de envio en este caso no hay problema, el problema viene que no todos los productos llevan gastos de envio ya que son descargas, los productos los he identificado con un campo para diferenciar si llevan gastos de envio o no, y despues pues los impuestos que dependiendo del pais y en un solo tipo de producto y pais se diferencia el impuesto y con eso a la tpv a configurarla.
Bueno ahora voy a poner todos los campos no solo nombre y dirección y te cuento.
Nuevamente mil gracias.
por cierto que hora es ahora en venezuela?
  #14 (permalink)  
Antiguo 08/04/2007, 12:50
 
Fecha de Ingreso: febrero-2006
Mensajes: 148
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: extraer campos de un usuario validado

jajajaja, bueno me alegro jeje....... eh tengo una curiosidad como sabes que soy de venezuela? bueno aqui son las 3:00 casi...

salu2 y buen dia.
  #15 (permalink)  
Antiguo 08/04/2007, 12:56
Avatar de codigoflecha  
Fecha de Ingreso: noviembre-2004
Mensajes: 325
Antigüedad: 19 años, 5 meses
Puntos: 3
Re: extraer campos de un usuario validado

ja, ja, perdona si miras en el perfil de cada usuario normalmente ves de donde son el nombre , en fin depende de lo que cada uno ponga.
las 3 de la madrugada?
  #16 (permalink)  
Antiguo 08/04/2007, 13:14
Avatar de codigoflecha  
Fecha de Ingreso: noviembre-2004
Mensajes: 325
Antigüedad: 19 años, 5 meses
Puntos: 3
Re: extraer campos de un usuario validado

hola de nuevo te he enviado un privado
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 12:18.