Foros del Web » Programando para Internet » PHP »

Formulario

Estas en el tema de Formulario en el foro de PHP en Foros del Web. Hola a todos!!! Tengo un formulario y si el usuario dejo un campo vacio le salta un cartes de que dejo un campo vacio y ...
  #1 (permalink)  
Antiguo 16/07/2011, 17:15
 
Fecha de Ingreso: julio-2011
Mensajes: 16
Antigüedad: 12 años, 9 meses
Puntos: 0
Formulario

Hola a todos!!!
Tengo un formulario y si el usuario dejo un campo vacio le salta un cartes de que dejo un campo vacio y que debe volver al formulario....

lo que yo necesito es que cuando vuelva al formulario, no se hayan perdidos los datos que el usuario ya ingreso.

Gracias

Código PHP:
<?php
//Comienza la sesion
session_start();
        
//Conecto con el server//     
        
////////////////////////////////////////////////////////////////////////////
$Nac $_POST['Nacimiento'];         
//fecha actual 
$dia=date(j); 
$mes=date(n); 
$ano=date(Y); 
//fecha de nacimiento 
ereg"([0-9]{1,2})/([0-9]{1,2})/([0-9]{2,4})"$Nac$mifecha);
    
$lafecha=$mifecha[3]."-".$mifecha[2]."-".$mifecha[1];
$dianaz$mifecha[1]; 
$mesnaz$mifecha[2]; 
$anonaz$mifecha[3]; 
//si el mes es el mismo pero el dia inferior aun no ha cumplido años, le quitaremos un año al actual 
if (($mesnaz == $mes) && ($dianaz $dia)) { 
$ano=($ano-1); } 
//si el mes es superior al actual tampoco abra cumplido años, por eso le quitamos un año al actual 
if ($mesnaz $mes) { 
$ano=($ano-1);} 
//ya no habria mas condiciones, ahora simplemente restamos los años y mostramos el resultado como su edad 
$edad=($ano-$anonaz); 
////////////////////////////////////////////////////////////////////////////////////////////

         
///////////////////////////////////////////////////////////////////
$fecha $_POST['Fecha'];

ereg"([0-9]{1,2})/([0-9]{1,2})/([0-9]{2,4})"$fecha$mifecha);

    
$dia=$mifecha[1];
    
$mes_ant=$mifecha[2];
    
$anio=$mifecha[3];

$mes_act=$mes_ant 3;

if (
$mes_act 12) {
$anio$anio 1;
$mes_act$mes_act 12;
$fecha_consulta=$dia."-".$mes_act."-".$anio;
}
else 

$fecha_consulta=$dia."-".$mes_act."-".$anio;
    }

//////////////////////////////////////////////////////////////
//Verificamos si se han enviado ya las variables necesarias.//
//////////////////////////////////////////////////////////////
if (isset($_POST['Nombre'])){
$Nombre $_POST['Nombre'];
$Apellido $_POST['Apellido'];
$dni $_POST['dni'];
$Nac $_POST['Nacimiento'];
$Edad $edad;
$Sexo $_POST['Sexo'];
$Tel $_POST['Tel'];
$Direccion $_POST['Direccion'];


////////////////////////////////////////////////////////////////
//Fin verificamos si se han enviado ya las variables necesarias.
////////////////////////////////////////////////////////////////
              /////////////////////////////////////////////////////////////////////////////
             // Verifico que no haya campos en blanco, si los hay me devuelve al formulario.
             //////////////////////////////////////////////////////////////////////////////
            
if ($Nombre==NULL $Apellido==NULL $dni==NULL $Nac==NULL $Edad==NULL $Sexo==NULL |$Tel==NULL $Direccion==NULL ){
                 echo 
"Dejo un campo vacio ";
                
?><a href="<?=$_SERVER["HTTP_REFERER"]?>">Volver al Formulario</a>
<?
             
//////////////////////////////////////////////////////////////////////////////////
            // Fin verifico que no haya campos en blanco, si los hay me devuelve al formulario.
            //////////////////////////////////////////////////////////////////////////////////

    
}else{
////////////////////////////////////
//Convierte fecha de normal a mysql
/////////////////////////////////// 
function conviertefechaingles($fecha){
ereg"([0-9]{1,2})/([0-9]{1,2})/([0-9]{2,4})"$fecha$mifecha);
    
$lafecha=$mifecha[3]."-".$mifecha[2]."-".$mifecha[1];
    return 
$lafecha

////////////////////////////////////////////////////
//Fin convierte fecha de normal a mysql
//////////////////////////////////////////////////// 
         ////////////////////////////////////////////////////
         //Genero la consulta e ingreso los datos a la base
         //////////////////////////////////////////////////// 
        
    
$q_cli 'INSERT INTO cliente (Nombre, Apellido, DNI, Nacimiento, Edad, Sexo, Tel, Direccion) 
    VALUES (\''
.$Nombre.'\',\''.$Apellido.'\',\''.$dni.'\',\''.conviertefechaingles($Nac).'\',\''.$Edad.'\',\''.$Sexo.'\',\''.$Tel.'\',\''.$Direccion.'\')';
    
mysql_query($q_cli) or die(mysql_error());
    echo 
"Los datos del paciente $Nombre $Apellido se guardaron correctamente.  <br />"

    }
}
///////////////////////////////////////////
//Elimino las cookies, para proxima sesion
///////////////////////////////////////////
if (ini_get("session.use_cookies")) {
    
$params session_get_cookie_params();
    
setcookie(session_name(), ''time() - 42000,
        
$params["path"], $params["domain"],
        
$params["secure"], $params["httponly"]
    );
}
/////////////////////////////////
//Finalmente, destruir la sesión.
session_destroy();
////////////////////////////////
?>
  #2 (permalink)  
Antiguo 16/07/2011, 17:25
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Formulario

Hola:

Lo más sencillo creo que es con variables de sisión...

$_SESSION["POST"] = $_POST;

Y luego al volver...

<input name="nombre" value="<?=$_SESSION["POST"]["nombre"]?>" .../>

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 16/07/2011, 17:41
 
Fecha de Ingreso: julio-2011
Mensajes: 16
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Formulario

Gracias x responder... pero en que parte lo tngo q poner???

Gracias xD

Etiquetas: mysql, formulario, variables, usuarios
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 18:33.