Ver Mensaje Individual
  #8 (permalink)  
Antiguo 15/07/2011, 23:01
Avatar de KsrZ
KsrZ
 
Fecha de Ingreso: abril-2011
Ubicación: /home/KsrZ/Desktop
Mensajes: 156
Antigüedad: 13 años
Puntos: 26
Respuesta: Problem: Uso del date; fecha (user-actual)

en fin, mi solución:

Pagina que envía datos:

Código PHP:
<?php
print "<html><body>";

?>
<script>
function checkForm(frm){
    if (frm.TXTnombre.value.length == 0)
    {
        alert("Debe ingresar el nombre de usuario");
        frm.TXTnombre.focus();
        return false;
    }
return true;
}
</script>

<form method='POST' action='edad02.php' onsubmit="return checkForm (this)">
    <table border='3' cellspacing='2' align='center'>
        <tr><td colspan='4' align='center'>Ingrese sus datos<br/>de nacimiento </td>
        </tr>
        <tr><td width='50' align='center'>Dia (01-31)</td> <td width='50' align='center'>Mes (01-12)</td> <td width='50' align='center'>Año</td><td width='100' align='center'>Nombre</td>
        </tr>
        <tr>
        <td align='center'>
        <input type='text' name='TXTdia'></td>
        <td align='center'>
        <input type='text' name='TXTmes'></td>
        <td align='center'>
        <input type='text' name='TXTanio'></td>
        <td align='center'>
        <input type='text' name='TXTnombre' maxlength='16' size='16'></td>
        </tr>
        <tr>
            <td colspan='4' align='center'><input type='submit' name='btnEnviar' value='Enviar'></td>
            </tr>
        </table>
    </form>
    
    <?php
    
    
print "</body></html>";
    
    
?>
Pagina que recibe datos, y devuelve resultado:

Código PHP:
<?php
$dd
=($_POST['TXTdia']);
$mm=($_POST['TXTmes']);
$aaaa=($_POST['TXTanio']);



/**
* Recibe Datos de fecha de nacimiento.
* Devuelve: Un valor entero que es la edad actual de la persona
*/
function CalcularEdad($dd$mm$aaaa)
{
    
// Carga los datos de este instante
    
$now_dd   date("d");
    
$now_mm   date("m");
    
$now_yyyy date("Y");
    
    
$delta_a $now_yyyy $aaaa 1;
    
    
// Ahora voy a analizar las situaciones en las que deberia sumarle uno.
    
    
if ($now_mm >= $mm// Si el mes actual es mayor o igual al del cumple
    
{
        if (
$now_mm $mm// Ya cumplió años, así que debo sumar 1
        
{
            
$delta_a += 1;
        }
        else 
// Si es el mismo mes, debemos pasar a comparar los dias
        
{
            if (
$now_dd >= $dd// Si la fecha actual es superior o igual a la del cumple, hay que sumar 1
            
{
                
$delta_a += 1;
            }
        }
    }
    
    return 
$delta_a;
}


// Código para probar la funcion
// Por ej, hago la llamada: http://localhost/.../edad.php?bdd=14&bmm=09&byyyy=2000

$bdd    $_REQUEST['TXTdia'];
$bmm    $_REQUEST['TXTmes'];
$byyyy    $_REQUEST['TXTanio'];
$bUser    $_REQUEST['TXTnombre'];
$bmensaje="";

$CEdad=CalcularEdad($bdd,$bmm,$byyyy);
$diferenciarEdad=Edades ($CEdad,$bmensaje,$bUser);



function 
Edades ($CEdad,$mensaje,$bUser){


    if ((
$CEdad>=18) && ($CEdad<=70)) //si esta entre 18 y 70 años:
    
{
    
$mensaje=$bUser.": Con sus ".$CEdad." años, usted puede realizar gestiones comerciales y compras on-line libremente.";
    }

    else 
//si no esta entre 18 y 70 años :
    

        if (
$CEdad<18//si es menor que 18:
        
{
        
$mensaje=$bUser.": Usted no puede realizar transacciones comerciales.<br/>Debe ser mayor a 18 años, y usted tiene ".$CEdad." años.";
        }

        else 
//si no es menor que 18, no esta entre 18 y 70, entonces, tiene mas de 70:
        
{
        
$mensaje    =    $bUser.": Tenga usted cuidado, no se vaya a gastar toda la jubilación en compras on-line.";
        }
}
return 
$mensaje;
}
print 
"<html><body>\n";
print 
"Hoy es: <b>".date("d / m / Y - H:i:s")."</b><br/>\n";
print 
"Nombre:<b> "$bUser ."</b><br/>\n";
print 
"Fecha de nacimiento:<b> $bdd / $bmm / $byyyy </b><br/>\n";
print 
"Edad: <b>"$CEdad ."</b> años.<br />\n";
print 
"Mensaje del sistema: <b>"$diferenciarEdad ."</b>\n";
print 
"</body>\n</html>\n";
?>