Foros del Web » Programando para Internet » PHP »

conservar valores en formulario?

Estas en el tema de conservar valores en formulario? en el foro de PHP en Foros del Web. Buenas Tardes¡ Como puedo mantener los datos en mi formulario, ya que luego de validarlos los pierdo, el formulario es (ejemplo3.php): <html> <body> <? if ...
  #1 (permalink)  
Antiguo 02/07/2003, 14:02
 
Fecha de Ingreso: enero-2003
Mensajes: 286
Antigüedad: 21 años, 3 meses
Puntos: 0
conservar valores en formulario?

Buenas Tardes¡

Como puedo mantener los datos en mi formulario, ya que luego de validarlos los pierdo, el formulario es (ejemplo3.php):

<html>
<body>
<?
if ($Mensaje =="Invalid") {
print ("<B><CENTER><FONT COLOR=RED> Debe introducir una Lectura</FONT></CENTER></B>\n");
}

if ($Mensaje =="Invalid2") {
print ("<B><CENTER><FONT COLOR=RED> Debe introducir una fecha valida</FONT></CENTER></B>\n");
}
?>
<form name="lectura" method="post" action="add_reg.php">
Cuenta :<input type="Text" name="cta" value=<? echo $cta ?>><br>
Lectura:<input type="Text" name="lec" VALUE=<? echo $lec ?>><br>
Fecha :<input name="dia" size=2 MAXSIZE=2 VALUE=<? echo $dia ?>>
/<input name="mes" size=2 MAXSIZE=2 VALUE=<? echo $mes ?>>
/<input name="ano" size=4 MAXSIZE=4 VALUE=<? echo $ano ?>><br>
<input type="Submit" name="enviar" value="Aceptar información">
</form>
</body>
</html>

Y el programa de validacion es el siguiente (add_reg.php):

<?
$v1=$cta;
$v2=$lec;
$d=$dia;
$m=$mes;
$a=$ano;
$v4=1;
if ($lec==""){
header ("Location:ejemplo3.php?Mensaje=Invalid");
exit; }
if (checkdate($m, $d, $a)){
}else{
header ("Location:ejemplo3.php?Mensaje=Invalid2 ");
exit; }

Las variables $vi las ocupa para luego insertar.
Si alguine me puede ayudar lo agradeceria bastante

Saludos
Reckba
  #2 (permalink)  
Antiguo 02/07/2003, 19:48
Avatar de camargo  
Fecha de Ingreso: abril-2002
Ubicación: Kerétaro, Méjiko
Mensajes: 1.045
Antigüedad: 22 años
Puntos: 2
mm,, es recomendable utilizar empty cuando no especificamos los valores de algun formulario o variable.. en fin..

podrias cambiar todo tu codigo x un simple:

Código PHP:
if(empty($valor)){
echo 
"Falto poner el valor";
} else 
if(
$accion=="enviar"){
// procedimiento de envio, almacenamiento, etc..
} else {
//formulario de envio..

Salu2
__________________
http://www.chorcha.com
  #3 (permalink)  
Antiguo 02/07/2003, 20:13
Avatar de biblio  
Fecha de Ingreso: enero-2002
Ubicación: Urano
Mensajes: 577
Antigüedad: 22 años, 3 meses
Puntos: 0
Hola!

La validación hazlo en la misma página, de modo que, tomas los valores que envias y lo vuelves a poner en el form.

ejem.

Debes tener en cuenta por que metodo lo envias del form, GET o POST.

$cta = $_GET['cta'];

<input type="Text" name="cta" value=<?php echo $cta ?>>

Espero haber ayudado.

Saludos
  #4 (permalink)  
Antiguo 02/07/2003, 20:17
Avatar de camargo  
Fecha de Ingreso: abril-2002
Ubicación: Kerétaro, Méjiko
Mensajes: 1.045
Antigüedad: 22 años
Puntos: 2
Efectivamente biblio tiene razon, puesto tu utilizas otra pagina y la primera no sabe de donde tomar los valores de las variables,, asi que debes utilizar su metodo, ademas de utilizar echo $cta; para k funcione a la perfeccion ;)

Salu2
__________________
http://www.chorcha.com
  #5 (permalink)  
Antiguo 03/07/2003, 11:18
 
Fecha de Ingreso: enero-2003
Mensajes: 286
Antigüedad: 21 años, 3 meses
Puntos: 0
Probe validar en el mismo script y funciona, lo unico que al cargarlo por primera vez me salen los mensajes de validacion, y se ve feo.
Me gustaria ver como puedo dejarlos afuera cuando se carge por primera vez?

el codigo es el siguiente:

<html>
<body>
<form name="lectura" method="post" >
Cuenta :<input type="Text" name="cta" value=<? echo $cta ?>><br>
Lectura:<input type="Text" name="lec" VALUE=<? echo $lec ?>><br>
Fecha :<input name="dia" size=2 MAXSIZE=2 VALUE=<? echo $dia ?>>
/<input name="mes" size=2 MAXSIZE=2 VALUE=<? echo $mes ?>>
/<input name="ano" size=2 MAXSIZE=2 VALUE=<? echo $ano ?>><br>
<input type="Submit" name="enviar" value="Aceptar información">
</form>
<?
$me = date("n");
$an = date("Y");

if (! checkdate($mes, $dia,$ano))
{
echo "<H2>fecha incorrecta</H2>";
}

if ($lec==""){
echo "<H2>debe ingresar Lectua</H2>";
}
if ($ano==$an AND $me==$mes AND $dia<25){
echo "<H2>Rango correcto</H2>";
}else{
if ($an==$ano AND $mes+1==$me AND $dia>25){
echo "<H2>Rango correcto</H2>";
}
else {
echo "<H2>Rango incorrecto</H2>";
}
}
?>
</body>
</html>

Saludos
Reckba
  #6 (permalink)  
Antiguo 03/07/2003, 11:28
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 2 meses
Puntos: 5
Código PHP:
if (isset($_POST["enviar"])){

if (! 
checkdate($mes$dia,$ano))
{
echo 
"<H2>fecha incorrecta</H2>";
}

if (
$lec==""){
echo 
"<H2>debe ingresar Lectua</H2>";
}
if (
$ano==$an AND $me==$mes AND $dia<25){
echo 
"<H2>Rango correcto</H2>";
}else{
if (
$an==$ano AND $mes+1==$me AND $dia>25){
echo 
"<H2>Rango correcto</H2>";
}
else {
echo 
"<H2>Rango incorrecto</H2>";
}


}
?>
</body>
</html> 
__________________
Manoloweb
  #7 (permalink)  
Antiguo 03/07/2003, 13:43
 
Fecha de Ingreso: enero-2003
Mensajes: 286
Antigüedad: 21 años, 3 meses
Puntos: 0
Funciona pero no valida. Osea dejaron de aparecer los mensajes pero no aparecen cuando son invalidos.

esta operacion if (isset($_POST["enviar"])) se deberia activar cuando hago clien al boton enviar, pero no me valida .

Saludos
Reckba
  #8 (permalink)  
Antiguo 04/07/2003, 08:32
 
Fecha de Ingreso: enero-2003
Mensajes: 286
Antigüedad: 21 años, 3 meses
Puntos: 0
Ahora probe con el metodo : $HTTP_POST_VARS['enviar'], pero pasa lo mismo llega y envia sin validar, el codigo es el siguiente:

<html>
<body>
<?
$me = date("n");
$an = date("Y");

if (isset($HTTP_POST_VARS['enviar'])){

if (! checkdate($mes, $dia,$ano))
{
echo "<H2>debe ingresar una fecha valida</H2>";
}

if ($lec==""){
echo "<H2>debe ingresar Lectua</H2>";
}
if ($ano==$an AND $me==$mes AND $dia<25){
echo "<H2>Rango correcto</H2>";
}else{
if ($an==$ano AND $mes+1==$me AND $dia>25){
echo "<H2>Rango correcto</H2>";
}
else {
echo "<H2>Rango incorrecto</H2>";
}
}
}
?>
<form name="lectura" method="post" action="add_reg.php">
Cuenta :<input type="Text" name="cta" value=<? echo $cta ?>><br>
Lectura:<input type="Text" name="lec" VALUE=<? echo $lec ?>><br>
Fecha :<input name="dia" size=2 MAXSIZE=2 VALUE=<? echo $dia ?>>
/<input name="mes" size=2 MAXSIZE=2 VALUE=<? echo $mes ?>>
/<input name="ano" size=2 MAXSIZE=2 VALUE=<? echo $ano ?>><br>
<input type="Submit" name="enviar" value="Aceptar información">
</form>

</body>
</html>

Saludos
Reckba
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 03:53.