Foros del Web » Programando para Internet » PHP »

Duda con llamar método de clase

Estas en el tema de Duda con llamar método de clase en el foro de PHP en Foros del Web. Buenos días, Tengo una duda con el mejor método/forma de llamar a un evento, tengo la siguiente clase(es un ejemplo) usuario.class.php Código PHP: class  Usuario ...
  #1 (permalink)  
Antiguo 02/10/2010, 10:24
 
Fecha de Ingreso: abril-2006
Ubicación: Bogotá
Mensajes: 251
Antigüedad: 18 años, 6 meses
Puntos: 14
Duda con llamar método de clase

Buenos días,

Tengo una duda con el mejor método/forma de llamar a un evento, tengo la siguiente clase(es un ejemplo)

usuario.class.php
Código PHP:
class Usuario{
.....
  public function 
crearUsuario$nombre,$clave,$perfil) {
       
$sql "INSERT INTO user ..........";
      if( 
mysql_query($sql ) ) 
          return 
1;
      return 
0;
 }
...

Y tengo el siguiente formulario:

login.html
Código:
<html>
<body>
<form method="post" action="???????">
<p>Usuario
<input type="text" name="user" id="user" />
</p>
<p>Clave:
<input type="password" name="clave" id="clave" />
</p>
<p>Perfil:
<input type="text" name="perfil" id="perfil" />
</p>
<input type="submit" value="Enviar"/>
</form>
</body>
</html>

Cuál es el mejor método para llamar el método ? es decir, sé que tengo que crear un objeto así:

Código PHP:
$user = new Usuario();
if( 
$user->crearUsuario($user,$clave,$perfil) )
  echo 
"Creado con éxito";
else 
  echo 
"Problemas creandolo"
Pero no sé cuál sea el mejor action del formulario, ya que si lo hago de la forma común tendría que meter eso en un archivo crear_usuario.php en el action por ejemplo y si hago muchos eventos tendría que crear muchos archivos...

Hay una mejor forma de hacer este proceso?

Espero me puedan colaborar con esta duda :)
  #2 (permalink)  
Antiguo 02/10/2010, 11:37
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 14 años, 2 meses
Puntos: 331
Respuesta: Duda con llamar método de clase

En principio no hay otra forma. El formulario se envía por POST o GET. Un script recoge estos datos y los procesa como tú quieres. A partir de aquí es tu decisión cómo montarlo, por ejemplo, un script acciones.php al que se le pasa un parámetro $_GET['ACCION'].
El script puede hacer algo como:
Código PHP:
switch($_GET['ACCION']){
    case 
"delete":
$user = new Usuario();
if( 
$user->c
delUsuario
($user,$clave,$perfil) )
  echo 
"Delete con éxito";
else 
  echo 
"Problemas con delete"
   break;

case 
"new":
$user = new Usuario();
if( 
$user->c
delUsuario
($user,$clave,$perfil) )
  echo 
"Creado con éxito";
else 
  echo 
"Problemas creandolo"
break;

//etc---

También puedes hacer algo en Ajax, pero esencialmente es lo mismo, tienes que capturar y procesar todas las acciones, un saludo!
  #3 (permalink)  
Antiguo 02/10/2010, 13:18
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 16 años, 4 meses
Puntos: 165
Respuesta: Duda con llamar método de clase

Cita:
Iniciado por delta132 Ver Mensaje
Buenos días,

Tengo una duda con el mejor método/forma de llamar a un evento, tengo la siguiente clase(es un ejemplo)

usuario.class.php
Código PHP:
class Usuario{
.....
  public function 
crearUsuario$nombre,$clave,$perfil) {
       
$sql "INSERT INTO user ..........";
      if( 
mysql_query($sql ) ) 
          return 
1;
      return 
0;
 }
...

Y tengo el siguiente formulario:

login.html
Código:
<html>
<body>
<form method="post" action="???????">
<p>Usuario
<input type="text" name="user" id="user" />
</p>
<p>Clave:
<input type="password" name="clave" id="clave" />
</p>
<p>Perfil:
<input type="text" name="perfil" id="perfil" />
</p>
<input type="submit" value="Enviar"/>
</form>
</body>
</html>

Cuál es el mejor método para llamar el método ? es decir, sé que tengo que crear un objeto así:

Código PHP:
$user = new Usuario();
if( 
$user->crearUsuario($user,$clave,$perfil) )
  echo 
"Creado con éxito";
else 
  echo 
"Problemas creandolo"
Pero no sé cuál sea el mejor action del formulario, ya que si lo hago de la forma común tendría que meter eso en un archivo crear_usuario.php en el action por ejemplo y si hago muchos eventos tendría que crear muchos archivos...

Hay una mejor forma de hacer este proceso?

Espero me puedan colaborar con esta duda :)
Hola buenas,

El action puede ir en blanco ( llamar a la misma página ) y puedes crear un input hidden con nombre accion y un valor por ejemplo. Después como te indican puedes hacer un switch.

Un saludo!

Etiquetas: clase, llamar
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:57.