Foros del Web » Programando para Internet » PHP »

Formulario con sesiones

Estas en el tema de Formulario con sesiones en el foro de PHP en Foros del Web. Vamos a ver.. soy nueva en esto del php aunque voy avanzando poco a poco, necesito hacer un formulario que trabaje con sesiones (por lo ...
  #1 (permalink)  
Antiguo 10/08/2004, 09:58
 
Fecha de Ingreso: agosto-2004
Mensajes: 6
Antigüedad: 19 años, 8 meses
Puntos: 0
Pregunta Formulario con sesiones

Vamos a ver..
soy nueva en esto del php aunque voy avanzando poco a poco, necesito hacer un formulario que trabaje con sesiones (por lo menos he leido que es lo mejor), la web es de una inmobiliaria , querria que cuando alguien este interesado en solicitar información de una vivienda seleccione la ficha de la vivienda (id) y esta pase como a una cesta , luego se envie un formulario con todas las referencias de las viviendas que le han interesado al visitante.

No sé si es muy complicado, agradeceria a alguien que me pueda guiar y decirme como hacerlo, he conseguido usar un formulario que envia la ficha a un amigo o conocido, la base del formulario me vale, pero no consigo enviar el formulario a una direccion predeterminada.

Un saludo y muchas gracias de esta novata.
  #2 (permalink)  
Antiguo 10/08/2004, 20:55
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Podrías empezar por ver como trabajar con sesiones y que son (teoría):

www.php.net/session

En las FAQ's de este foro PHP tienes un ejemplo básico de uso.

Sólo tienes que tener presente que una "sesión" no es más que un contenedor de "variables" (y de cualquier tipo) .. Así que tan sólo tienes que usar un simple array para ir gestionando tus "ID" (de referencia): añadiendo elementos (y/o borrandolos o modificandolos si corresponde) .. Eso será (ese array) tu "cesta" ...

Para que tu "cesta" (ese array) tenga validez en todas las páginas de tu sitio que visite y pueda ir añadiendo "ID's" para que al "finalizar" puedas leer ese array al completo, usarás la sesión para "propagar" ese array (como si de una variable cualquiera se tratase).

Piensa siempre que vas a trabajar con un "array" tipo:

lee_cesta.php
Código PHP:
<?
session_start
();
if (isset(
$_SESSION['ids'])){
$ids=$_SESSION['ids'];
} else {
$ids=array();
}

// Ejemplo .. trabajar con el array común .. leerlo todo
foreach ($ids as $id){
  echo 
$id;
}
?>
acomula_id.php
Código PHP:
<?
// Inicio uso sesiones (se asume propagación del SID en cookies ...)
session_start();
// Comprobación existencia variable Sesión "ids"
if (isset($_SESSION['ids'])){
$ids=$_SESSION['ids'];
} else {
$ids=array();
}

// Sumar elemento al array
array_push($ids,$_GET['id']);

?>
Y su uso ...
acomula_id.php?id=nºID

Eso sería la base .. sólo tienes que redireccionar desde acomula_id.php a donde quieras .. por ejemplo podría ser al "HTTP_REFERER" (página referida) .. o a "leer_cesta.php" (si es que usas una página integra para tal fin ..) o a otro sítio tipo:

Código PHP:
if (isset($_SERVER['HTTP_REFERER'])){
  
header ("Location: ".$_SERVER['HTTP_REFERER']);
  exit;
} else {
  
header ("Location: lee_cesta.php");
  exit; 

Uso el "if()" para comprobar si se obtiene la información de la página referida como para dejar tras añadir el nuevo ID a la cesta en la página que estaba .. si no se obtiene (en algunos casos no se puede obtener dicha información .. ) lo redirecciono hacia el "lee_cesta.php"

Un saludo,
  #3 (permalink)  
Antiguo 11/08/2004, 04:35
 
Fecha de Ingreso: agosto-2004
Mensajes: 6
Antigüedad: 19 años, 8 meses
Puntos: 0
gracias

Habia leido el tutorial de php, no suelo preguntar sin antes leer, pero en realidad no lograba entender el tema de las sesiones.

Soy nueva en php y me cuesta un poco pero he entendido como lo has explicado, estoy haciendo pruebas y te agradezco que me hayas contestado de forma tan minuciosa.

Muchas gracias.
  #4 (permalink)  
Antiguo 11/08/2004, 07:11
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Ok, cualquier duda sobre "teoría" sobre sesiones no dudes en pregunta (aunque puedes usar el buscador del foro .. se habla del tema constantemente).

Sólo recuerda que la "teoría" al respecto es necesario tenerla clara para saber como funcionan los ejemplos que puedas ver y sobre todo cuando algo falle .. saber por qué puede suceder (como por ejemplo el tema del "SID" que es y su propagación .. que siempre se omite y es clave en esto de las "sesiones")

Un saludo,
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 08:46.