Foros del Web » Programando para Internet » PHP »

Como llamar a una funcion de una clase desde un form

Estas en el tema de Como llamar a una funcion de una clase desde un form en el foro de PHP en Foros del Web. Hola me gustaria saber como puedo llamar y pasar los valores por Post de una funcion de una clase que pinta un form y sus ...
  #1 (permalink)  
Antiguo 13/07/2010, 10:00
 
Fecha de Ingreso: agosto-2009
Mensajes: 138
Antigüedad: 14 años, 8 meses
Puntos: 0
Como llamar a una funcion de una clase desde un form

Hola me gustaria saber como puedo llamar y pasar los valores por Post de una funcion de una clase que pinta un form y sus campos y pasarlos despues del submit a otra funcion de la clase...Es eso posible, o como me aconsejais que lo hago eje. mal hecho seria algo asi.
Código PHP:
<?php
class a{
public function 
A()
{

return 
"<form name='form' action ='' method='Post'>
        <input type ='text' name='text' />
        <input type ='submit' value='a'  /></form>"
;
}
public function 
B($b){

  echo(
$b);
}
}

$tes = new a();

echo 
$test->A();
$test->B($_POST['text']);
?>
Por supuesto quedaria por implementar el action del form...pero esa seria la idea general mas o menos algun consejo.
  #2 (permalink)  
Antiguo 13/07/2010, 10:03
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Como llamar a una funcion de una clase desde un form

Pues si dejas el action vacio se va a enviar a la misma pagina, por lo que solo tendrías que validar en tu pagina:
Código PHP:
Ver original
  1. $tes = new a();
  2. if (strtolower($_SERVER['REQUEST_METHOD']) == 'post') {
  3.      $test->B($_POST['text']);
  4. else {
  5.      echo $test->A();
  6. }

Saludos.

Etiquetas: clase, funcion, llamar, formulario
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:20.