Foros del Web » Programando para Internet » PHP »

Session - Problema

Estas en el tema de Session - Problema en el foro de PHP en Foros del Web. Hola, tengo un problemita con Session. La idea es ir llenando un campo de entrada e ir almacenando esa info. Mientras va por post esta ...
  #1 (permalink)  
Antiguo 30/10/2012, 06:33
 
Fecha de Ingreso: febrero-2010
Mensajes: 39
Antigüedad: 14 años, 2 meses
Puntos: 0
Pregunta Session - Problema

Hola, tengo un problemita con Session. La idea es ir llenando un campo de entrada e ir almacenando esa info. Mientras va por post esta OK, el tema es cuando se envia por ejemplo un HREF, para esto opte por Session pero no me resulto :(
dejo el codigo que estoy usando....
Gracias!

<body>
<?php
session_start();
@$rangos = explode("|" , $_SESSION['S_rangos']);
$accion = $_POST['Accion'];


if ($_POST['rangos'] <> '')
@$rangos = explode("|" , $_POST['rangos']);

if($accion == "Agregar" and $_POST['rango'] <> '')
{
$pos = count($rangos);
echo "Posicion Arreglo ".$pos;
$rangos[$pos] = $_POST['rango'];
}
$_SESSION['S_rangos'] = $rangos;
?>
<form action="test.php" method="post" name="test" target="_self">
Rango <input name="rango" type="text" />
Rangos <input name="rangos" type="text" value="<?php if (isset($rangos)) echo implode("|" , $rangos) ?>" />
S_Rangos <input name="S_rangos" type="text" value="<?php if (isset($rangos)) echo implode("|" , $_SESSION['S_rangos'] ) ?>" />
<input type="submit" name="Accion" id="Accion" value="Agregar" />
</form>
<A HREF="test.php">HREF</A>


</body>
  #2 (permalink)  
Antiguo 30/10/2012, 07:00
 
Fecha de Ingreso: abril-2012
Mensajes: 590
Antigüedad: 12 años
Puntos: 58
Respuesta: Session - Problema

Para enviar el formulario con un href creo que lo tienes que hacer así:
<A href="javascript:document.forms[0].submit()">Enviar formulario</a>

Pero no se que pretendes hacer pero tienes un código un tanto extraño.
  #3 (permalink)  
Antiguo 30/10/2012, 07:30
 
Fecha de Ingreso: junio-2011
Mensajes: 8
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Session - Problema

Debes enviar el form con submit, ya sea por boton o por link, sino te va llevatelos por la url, me gusta mas iniciar sesion asi: <?php if (!isset($_SESSION)) { session_start();}?>

Aaaaa por cierto en test.php debes poner nuevamente esto:
<?php if (!isset($_SESSION)) { session_start();}?>

Última edición por Ch0nGu1; 30/10/2012 a las 07:32 Razón: add
  #4 (permalink)  
Antiguo 30/10/2012, 08:28
 
Fecha de Ingreso: febrero-2010
Mensajes: 39
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Session - Problema

Ok, incorporare lo de incio de session, me parece muy bien...
La idea no es pasar el form por Get, el form lo uso para cargar por Post. La cuestion es porque cuando hay un Get, externo al fomulario, no puedo dejar el contenido de $rangos en Session['rangos'], para si hay un Get no perder el valor de la seleccion.

con $_SESSION['S_rangos'] = $rangos; asigno a Session luego de agregar un nuevo valor
con @$rangos = explode("|" , $_SESSION['S_rangos']); pretendo levantar la variable anterior en caso de Get- Pero no anda...

edit: test.php es la misma pagina...

Última edición por lcsmdq; 30/10/2012 a las 10:15
  #5 (permalink)  
Antiguo 30/10/2012, 17:37
Avatar de CoriaWeb  
Fecha de Ingreso: septiembre-2012
Ubicación: Coria del Río - Sevilla
Mensajes: 1.795
Antigüedad: 11 años, 7 meses
Puntos: 130
Respuesta: Session - Problema

No se si entiendo muy bien lo que quieres pero.. un formulario tienes que enviarlo por submit sino no te funcionará, no vale un href, tienes que utilizar javascript, prueba con esto:

Código Javascript:
Ver original
  1. <script>
  2. function enviar_formulario(){
  3.    document.formulario1.submit() <-- formulario1 tienes que indicar el nombre que le pongas al formulario
  4. }
  5. </script>


luego cambia el href ese que tienes por esto:

Código HTML:
Ver original
  1. <a href="javascript:enviar_formulario()">Enviar formulario</a>

dime si es lo que buscas o no, es que creo que esta todo el tema un poco liao.. ;)
__________________
Hosting de Calidad
Servidores Dedicados Administrados
CoriaWeb.hosting
  #6 (permalink)  
Antiguo 31/10/2012, 14:01
 
Fecha de Ingreso: febrero-2010
Mensajes: 39
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Session - Problema

Disculpen chicos, se esta haciendo mas enrroscado de lo que es...
no quiero enviar el formulario de otro modo que no sea por POST... eso anda bien.
el tema es que lo que traigo del formulario por post lo almaceno en una variable de Session, en realidad lo uso como una cache, para cuando hay un GET poder tener el valor que se paso la vez anterior por post...
Si prueban el codigo se daran cuenta... Mientras van enviando el form se va guardando la info en los input, pero al haber un GET, el href,y querer utilizar la variable cargada en POST en Session, esta esta vacia :(
  #7 (permalink)  
Antiguo 31/10/2012, 14:20
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 13 años, 10 meses
Puntos: 28
Respuesta: Session - Problema

intentaste imprimir el dato de la variable guardada en sesion para verificar que antes fue guardada correctamente, aveces no es que no recoja el valor si no que recoje un valor que ni siquiera se guardo anteriormente, opta por imprimir el ultimo valor también, en tal caso te recomiendo lo siguiente pasa los valores por post de la siguiente forma:

ejemplo

Código PHP:
Ver original
  1. if(isset($_POST['username']) && !empty($_POST['username']) &&
  2.     isset($_POST['password']) && !empty($_POST['password']) &&
  3.     isset($_POST['password2']) && !empty($_POST['password2']) &&
  4.     isset($_POST['nombre']) && !empty($_POST['nombre']) &&
  5.     isset($_POST['apellido']) && !empty($_POST['apellido']) &&
  6.     isset($_POST['telefono']) && !empty($_POST['telefono']) &&
  7.     isset($_POST['email']) && !empty($_POST['email'])) {
  8.     $username=$_POST['username'];
  9.     $password=$_POST['password'];
  10.     $password2=$_POST['password2'];
  11.     $nombre=$_POST['nombre'];
  12.     $apellido=$_POST['apellido'];
  13.     $telefono=$_POST['telefono'];
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #8 (permalink)  
Antiguo 31/10/2012, 14:32
 
Fecha de Ingreso: febrero-2010
Mensajes: 39
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Session - Problema

Si mientras va por POST, se guarda ok y lo visualizo bien...
$_SESSION['S_rangos'] = $rangos; //Guarda

S_Rangos <input name="S_rangos" type="text" value="<?php if (isset($rangos)) echo implode("|" , $_SESSION['S_rangos'] ) ?>" /> //Veo la info, solo cuando hay POST
  #9 (permalink)  
Antiguo 31/10/2012, 14:44
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 13 años, 10 meses
Puntos: 28
Respuesta: Session - Problema

la verdad no entiendo que intentas hacer, pero por si acaso te sirve de algo te dejo un pedacito del codigo que yo utiliso
en caso de un php:
Código PHP:
Ver original
  1. <?php
  2. header('Content-Type: text/html; charset=UTF-8');
en caso de un html:
Código HTML:
Ver original
  1. <?php
  2. @session_name('MI_SESION');
  3. @session_start();
  4. ?>
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB

Etiquetas: session
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 23:43.