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

Tengo un error con el echo

Estas en el tema de Tengo un error con el echo en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Este es el codigo que tengo aca para mostrar pero cuando mando a imprimir los datos solo sale esto: Nombre: Apellido: Direccion: mas quiero que ...
  #1 (permalink)  
Antiguo 25/07/2009, 00:31
 
Fecha de Ingreso: abril-2007
Mensajes: 25
Antigüedad: 17 años, 8 meses
Puntos: 0
Tengo un error con el echo

Este es el codigo que tengo aca para mostrar pero cuando mando a imprimir los datos solo sale esto:

Nombre:
Apellido:
Direccion:

mas quiero que salga asi

Nombre: juan
Apellido: montilla
Direccion: valencia

aclaro estoy usando netbeans 6.7 y un wamp que es appserv -2.5.10
si tengo algo mal en el echo me dicen oh si es otra cosa... estoy nuevo en esto es mi segundo dia.
Es como qu los parametros actuales no pasan a los parametros formales oh no los muestra.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>PruebaPHP</title>
</head>
<body>
<?php
class Persona {

public $nombre;
public $apellido;
public $direccion;

public function _construct($nom,$ape,$dir){
$this->nombre=$nom;
$this->apellido=$ape;
$this->direccion=$dir;
}

public function mostrarDatos(){
echo "<br>Nombre:" .$this->nombre;
echo "<br>Apellido:" .$this->apellido;
echo "<br>Direccion:" .$this->direccion;
return $this->nombre;
}

}// fin class Persona

$Persona1=new Persona("juan","montilla",valencia);

echo $Persona1->mostrarDatos();

?>

</body>
</html>
  #2 (permalink)  
Antiguo 25/07/2009, 02:58
 
Fecha de Ingreso: julio-2009
Mensajes: 118
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Tengo un error se que es facil para los que usan php es con el echo

prueba así:

$Persona1=new Persona("juan","montilla","valencia");

echo $Persona1->mostrarDatos();
  #3 (permalink)  
Antiguo 25/07/2009, 04:51
 
Fecha de Ingreso: agosto-2007
Mensajes: 345
Antigüedad: 17 años, 4 meses
Puntos: 21
Respuesta: Tengo un error se que es facil para los que usan php es con el echo

Primero lo que dijo albert

Cita:
$Persona1=new Persona("juan","montilla","valencia");
Despues modifica el método mostarDatos

Cita:
public function mostrarDatos(){
echo "<br>Nombre:" .$this->nombre;
echo "<br>Apellido:" .$this->apellido;
echo "<br>Direccion:" .$this->direccion;
return $this->nombre;
}
cambialo por

Código PHP:
public function mostrarDatos(){
echo 
"<br>Nombre:" .$this->nombre;
echo 
"<br>Apellido:" .$this->apellido;
echo 
"<br>Direccion:" .$this->direccion;

y llama al método asi:

Código PHP:
$Persona1->mostrarDatos(); 
__________________
----
http://www.mascodigo.com
  #4 (permalink)  
Antiguo 25/07/2009, 17:20
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 7 meses
Puntos: 2135
Respuesta: Tengo un error se que es facil para los que usan php es con el echo

Tema trasladado desde PHP General
  #5 (permalink)  
Antiguo 26/07/2009, 01:15
Avatar de Bellenger  
Fecha de Ingreso: noviembre-2004
Ubicación: En un lugar del Mundo...
Mensajes: 599
Antigüedad: 20 años, 1 mes
Puntos: 4
Respuesta: Tengo un error se que es facil para los que usan php es con el echo

Seria bueno que esa clase Persona la sacases de ese html y la colocaras en un archivo independiente y luego requerirla asi tu codigo seria mas limpio y un poco mas facil de mantener, puesto que se esta mezclando codigo de la vista y el modelo directamente...
__________________
Un Caballero Jura Lealtad. Usa su espada para suprimir la Injusticia No Conoce el Odio y Tampoco el AMOR...
  #6 (permalink)  
Antiguo 26/07/2009, 08:49
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 16 años, 4 meses
Puntos: 139
Respuesta: Tengo un error se que es facil para los que usan php es con el echo

1- No declares las variables dentro de la clase como publicas , no es recomendable
Ademas no la vas a llamar desde fuera de la clase.


private $nombre;
private $apellido;
private $direccion;


2- El constructor esta mal definido

Te falto una rallita
public function __construct($nom,$ape,$dir){


Este seria el codigo funcional.

Código PHP:
Ver original
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  5. <title>PruebaPHP</title>
  6. </head>
  7. <body>
  8. <?php
  9. class Persona {
  10.  
  11. private $nombre;
  12. private $apellido;
  13. private $direccion;
  14.  
  15. public function __construct($nom,$ape,$dir){
  16. $this->nombre=$nom;
  17. $this->apellido=$ape;
  18. $this->direccion=$dir;
  19. }
  20.  
  21. public function mostrarDatos(){
  22. echo "<br>Nombre:" .$this->nombre;
  23. echo "<br>Apellido:" .$this->apellido;
  24. echo "<br>Direccion:" .$this->direccion;
  25. return $this->nombre;
  26. }
  27.  
  28. }// fin class Persona
  29.  
  30. $Persona1=new Persona("juan","montilla",valencia);
  31.  
  32. echo $Persona1->mostrarDatos();
  33.  
  34. ?>
  35.  
  36. </body>
  37. </html>
  #7 (permalink)  
Antiguo 26/07/2009, 20:14
 
Fecha de Ingreso: abril-2007
Mensajes: 25
Antigüedad: 17 años, 8 meses
Puntos: 0
Respuesta: Tengo un error se que es facil para los que usan php es con el echo

Vale gjx2: me faltaba la rallita jajaja, si es verdad las variables instancias como son variables internas de un objeto deben ser privada la cosa es q estaba probando y los metodos como son procesos externos del objeto deberian ser publicos aunque eso depende del caso, pero tienes razon por eso, lo otro que deje.

$Persona1=new Persona("juan","montilla",valencia); a valencia sin comillas era porque no me mostraba nada y queria ver si mostraba algo pero me parecia ilogico, vale gracias valen lo que pesan en oro

MIL BENDICIONES...
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 02:56.