PHP_SELF + variables POST
Publicado por juan pelaez (1 intervención) el 06/08/2010 22:28:01
Hola, tengo un formulario el cual el usuario tiene q llenarlo y enviarlo.... todo esto lo tengo en un archivo que se llama Cformulario.php cuadno lo envia guardo los datos en la base de datos...
parte de mi codigo es asi:
<?php
include("VerificaSesion.php");
include_once("EmpleadoBD.php");
include_once("EnviarMail.php");
?>
<html>
<script language="JavaScript" src="calendar/calendar_db.js"></script>
<link rel="stylesheet" href="calendar/calendar.css">
</html>
<?php
//recuperacion variables
$a = $_POST['a'];
$link = Conectarse();
$idUsuario = $_SESSION["Idusuario"];
$fecha = $_POST['fecha'];
$codigo = $_POST['codigo'];
$version = $_POST['version'];
$periodo = $_POST['periodo'];
function form(){
global $idUsuario;
global $link;
........ ACA TENGO EL HTML PARA EL FORMUALRIO....
<form action="<?$PHP_SELF?>" method="POST" name="form"><input type="hidden" name="a" value="1">
<html xmlns="http://www.w3.org/1999/xhtml"> ....... etc etc etc
}
switch ($a) {
case 1:
//ACA query para insertar datos en mi BD
form();
break;
default:
form ();
}
?>
ENTONCES ....
como pueden ver el usuario llena el formualrio y envia el fomulario al enviarlo hace el PHP_SELF para vovler al mismo archivo y aca entra en el switch case 1... y gurado la infromacion en la BD
todo funciona ok... pero...tengo un pequeño problema ... digamos un usuario ingreso el formulario y lo guarda perfectamente en la BD...... y vuelve efectivamente al mismo php por si el usuario desdea ingresar otro formulario.....
pero si el usuario da a la pagina F5 las variables que envio con el POST siguen teniendo su valor..... del fromalrio anterior.... y vuelve y entra al switch case 1 e ingresa de nuevo el fromualrio......
como puedo hacer para que al enviar el fromualrio y q depues de q recrgue el archivo php estas variables queden en 0.. o algo asi....
la idea es q no entre denuevo al switch case 1.... solo entra ahi cuadno el usuario da clic en e botonenviar al enviar este formulario envio tamb la variable a con avlor 1....
<input type="hidden" name="a" value="1">
asi entra al switch case 1... pero como decia si doy F% el valor sigue siendo 1.. y vuelve a aentrar al switch
e ingresa repetidamente el formualrio en la BD.....
Hay aluna forma de inicializar estas variables.... o algo asi?
muchas gracias
parte de mi codigo es asi:
<?php
include("VerificaSesion.php");
include_once("EmpleadoBD.php");
include_once("EnviarMail.php");
?>
<html>
<script language="JavaScript" src="calendar/calendar_db.js"></script>
<link rel="stylesheet" href="calendar/calendar.css">
</html>
<?php
//recuperacion variables
$a = $_POST['a'];
$link = Conectarse();
$idUsuario = $_SESSION["Idusuario"];
$fecha = $_POST['fecha'];
$codigo = $_POST['codigo'];
$version = $_POST['version'];
$periodo = $_POST['periodo'];
function form(){
global $idUsuario;
global $link;
........ ACA TENGO EL HTML PARA EL FORMUALRIO....
<form action="<?$PHP_SELF?>" method="POST" name="form"><input type="hidden" name="a" value="1">
<html xmlns="http://www.w3.org/1999/xhtml"> ....... etc etc etc
}
switch ($a) {
case 1:
//ACA query para insertar datos en mi BD
form();
break;
default:
form ();
}
?>
ENTONCES ....
como pueden ver el usuario llena el formualrio y envia el fomulario al enviarlo hace el PHP_SELF para vovler al mismo archivo y aca entra en el switch case 1... y gurado la infromacion en la BD
todo funciona ok... pero...tengo un pequeño problema ... digamos un usuario ingreso el formulario y lo guarda perfectamente en la BD...... y vuelve efectivamente al mismo php por si el usuario desdea ingresar otro formulario.....
pero si el usuario da a la pagina F5 las variables que envio con el POST siguen teniendo su valor..... del fromalrio anterior.... y vuelve y entra al switch case 1 e ingresa de nuevo el fromualrio......
como puedo hacer para que al enviar el fromualrio y q depues de q recrgue el archivo php estas variables queden en 0.. o algo asi....
la idea es q no entre denuevo al switch case 1.... solo entra ahi cuadno el usuario da clic en e botonenviar al enviar este formulario envio tamb la variable a con avlor 1....
<input type="hidden" name="a" value="1">
asi entra al switch case 1... pero como decia si doy F% el valor sigue siendo 1.. y vuelve a aentrar al switch
e ingresa repetidamente el formualrio en la BD.....
Hay aluna forma de inicializar estas variables.... o algo asi?
muchas gracias
Valora esta pregunta


0