Ver Mensaje Individual
  #2 (permalink)  
Antiguo 07/04/2007, 11:26
Yrnving
 
Fecha de Ingreso: febrero-2006
Mensajes: 148
Antigüedad: 18 años, 3 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.