PHP - Problema $_SESSION

   
Vista:

Problema $_SESSION

Publicado por ark7 (1 intervención) el 05/05/2011 11:34:59
Hola muy buenas a todos, soy un poco nuevo progrando php y tengo un par de dudas en mi código, voy a intenter explicarlas lo mejor posible.

Utilizo $_SESSION para poder utilizar algunas variables de un código en otro, mi pregunta es ¿existe alguna forma de que cada vez que inicio mi código se reinicien las variables? Es que necesito que cada vez que se abra dicho código las variables esten a 0 o en su valor inicial.¿Hay alguna forma de hacerlo?

Pongo una parte del código1.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
session_start();
//unset($_SESSION);
 
   $id = $_GET["id"];//Para recibir id, necesito que vaya avanzando, id lo incremento más abajo
   if ($id=="")
      $id=1;
 //al final del código le paso la variable id y cont a código2,cuando pulsamos enviar le muestra el formulario relleno
 //y volvería a este código, con diferente formulario, en este caso sería con id2,posteriormente
 //vulve a mostrarle el formulario relleno (codigo2) y vuelve a código1 con id 3, así hasta los id que haya en la base de
 //datos.
      $ide = $_SESSION["ident"];//recibo las variables de código2
      $cont = $_SESSION["contador"];
 
if($ide!=0)   //realizo este control, para ver si es la primera vez que se inicia el código
{
    $id=$ide+1;
}
else
{
   $id = $_GET["id"];
   if ($id=="")
      $id=1;
}


He utilizado session_start(); pero el problema es que si vuelvo a iniciar el código, continuan las variables con el valor anterior, y lo que quiero es que cada vez que se inicie se ponga a 0 o en su valor inical.

Lo que hago es rellenar un formulario, y cuándo pulsa el botón enviar,que se almacene en la base de datos, y luego pase a mostrarle la solución del formulario según el id correspondiente (en código2). Aquí me aparece otro problema porque al darle al boton quiero que me haga 2 acciones, que me vaya al siguiente código y que me lo almacene en la base de datos, pero me lo almacena al volver del código2.php al código1.php, y al hacerlo así el problema que hay es que me almacena el formulario sin rellenar, os pongo el control que tengo puesto para que veais como lo hago:

1
2
3
if(isset($_POST['submit'])){
 
               $ssql =  "insert into formulario (prueba) values('". $_POST["a1"]."');


¿Cómo puedo poner 2 acciones en un botón?

Muchas gracias de antemano.
Un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Problema $_SESSION

Publicado por xve (5520 intervenciones) el 06/05/2011 15:16:25
Hola,

me es un poco dificil de entenderte, no se si te he entendido muy bien... una posible solucion seria, una vez el usuario pulsa enviar en el formulario, tu guardas los datos así:
1
2
if(isset($_POST['submit'])){
               $ssql =  "insert into formulario (prueba) values('". $_POST["a1"]."');

Yo pondria a continuación la variable de session a 0 y enviaria a la pagina donde se muestra el listado... quedaria algo así:
1
2
3
4
5
6
7
8
if(isset($_POST['submit'])){
               $ssql =  "insert into formulario (prueba) values('". $_POST["a1"]."');
               # Variables de session a 0
               $_SESSION["ident"]=0;
               $_SESSION["contador"]=0;
               # Redireccionamos a la pagina del listado
               header("location:paginaListado.php");


Espero que te sirva...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar