Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Problemas con la salida en una CLASE

Estas en el tema de Problemas con la salida en una CLASE en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Otro problema con las clases: Hice un formulario en donde se ingresa el año de nacimiento, y con una CLASE el código para generar la ...
  #1 (permalink)  
Antiguo 02/04/2011, 19:13
 
Fecha de Ingreso: abril-2010
Ubicación: Calama
Mensajes: 58
Antigüedad: 14 años, 7 meses
Puntos: 0
Pregunta Problemas con la salida en una CLASE

Otro problema con las clases:

Hice un formulario en donde se ingresa el año de nacimiento, y con una CLASE el código para generar la edad de la persona. El código es este:

Código PHP:
Ver original
  1. <form action="<?php echo $_SERVER["PHP_SELF"];?>" method="post">
  2. <input type="text" name="anio_nacimiento">
  3. <input type="submit" value="calcular">
  4. </form>
  5. <?php
  6. class Edades    {
  7.     public $anio_nac;
  8.     public function calcula_edad($mensaje, $anio_actual)    {
  9.         return $mensaje." ".($anio_actual - $this->anio_nac);
  10.     }
  11. }
  12. $John = new Edades();
  13. $John->anio_nac = $_POST['anio_nacimiento'];
  14. echo $John->calcula_edad("John tiene", 2011);
  15. ?>

El problema es que cuando lo presento en el navegador, aparece la casilla para ingresar el número y todo, pero abajito aparece "John tiene 2011". Una vez que ingreso el número (por ejemplo 1975) se cambia y se lee "John tiene 36".

¿Cómo hacer para que, al momento de presentar el formulario, no aparezca la expresión "John tiene 2011"?
  #2 (permalink)  
Antiguo 02/04/2011, 21:05
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años, 8 meses
Puntos: 461
Respuesta: Problemas con la salida en una CLASE

Para resolver tu problema coloca uns simple condición, ejemplo
Código PHP:
Ver original
  1. if(isset($_POST['anio_nacimiento'])){
  2. $John = new Edades();
  3. $John->anio_nac = $_POST['anio_nacimiento'];
  4. echo $John->calcula_edad("John tiene", 2011);
  5. }
de tal manera que si el campo no se ha enviado no se muestre nada, otra cosa estas trabajando las clases con la logica y la vista todo junto haciendo lo que llamo un arroz con mango como sugerencia te doy que separes estos dos y asi veras tu codigo mas limpio y mantenible, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way

Etiquetas: clase, salida
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 07:20.