Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Pasar valores de formulario por clases

Estas en el tema de Pasar valores de formulario por clases en el foro de PHP en Foros del Web. Buenos días una ves lo hice pero tengo tanto tiempo si programar que se me olvido, la idea es pasar 20 valores de un formulario ...
  #1 (permalink)  
Antiguo 29/12/2017, 06:36
 
Fecha de Ingreso: febrero-2015
Ubicación: venezuela
Mensajes: 50
Antigüedad: 3 años, 9 meses
Puntos: 0
Pregunta Pasar valores de formulario por clases

Buenos días una ves lo hice pero tengo tanto tiempo si programar que se me olvido, la idea es pasar 20 valores de un formulario a una clase php pero no quiero definirlo en la clase o sea no quiero hacer esto “public function registro($1, $2, $3,… $20){}” ya que no sería la forma optima puesto que antes usaba un método mejor que era haciendo una función vacía “ public function registro($formulario){} “ luego en el formulario definía los valores y lo enviaba y luego los tomaba en la función registro

Aquí el código que llevo alguien sabe cómo se hace que no recuerdo le agradecería y he intentado buscar pero no consigo las palabras clave para buscar o como se llama ese método
Código PHP:
Ver original
  1. require_once('novemberrain.php');
  2.  
  3. class account extends conexionBD{
  4.  
  5.     public function __construct(){
  6.        $this->con = $this->openBD();
  7.     }
  8.     //    Funcion registro de usuario
  9.     public function registro($datos){
  10.  
  11.  
  12.     }
  13. }

require_once('novemberrain.php'); es la conexión a la bd :V no me gusta ponerle nombres fácil de identificar para cualquiera jjj puesto que el nombre Conexión o configuración ... ya cualquiera sabe por donde va...

Última edición por ceysmar; 29/12/2017 a las 06:42 Razón: el titulo no lo complete :(
  #2 (permalink)  
Antiguo 29/12/2017, 07:02
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.418
Antigüedad: 3 años, 5 meses
Puntos: 256
Respuesta: Pasar valores de formulario por clases

Código PHP:
Ver original
  1. require_once('novemberrain.php');
  2.  
  3. class account extends conexionBD{
  4.  
  5.     public function __construct(){
  6.        $this->con = $this->openBD();
  7.     }
  8.     //    Funcion registro de usuario
  9.     public function registro($datos){
  10.        
  11.         foreach($datos as $clave => $valor){
  12.             //Qui lo que sea que vas a hacer con los datos
  13.         }
  14.  
  15.         //ó
  16.  
  17.         $nombre = $datos['nombre'];
  18.         $apellido = $datos['apellido'];
  19.         //etc
  20.         //etc
  21.         //etc
  22.         $this->con->autocommit(false);//Desactivo la ejecución automática de las querys
  23.  
  24.         //Pruebo la transacción
  25.         try{
  26.  
  27.             //AQUI CONSULTA DE INSERCIÓN
  28.            
  29.             //Si falla la consulta
  30.             if(!$consulta){
  31.                 throw new Exception("Error de inserción", 1);
  32.             }
  33.            
  34.             $this->con->commit();//si no falla la consulta, la ejecuto
  35.             return true;//retorno exitosos
  36.         }catch(Exception $e){
  37.             //Si fall la consulta
  38.             $this->con->rollback();//deshago los cambios en caso de error
  39.             return $e->getMessage();//retorno el mensaje de error
  40.         }
  41.  
  42.     }
  43. }
  44.  
  45. $a = new account();
  46. $data = $a->registro($_POST);//Recibe los datos del Post
  47. if($data){
  48.     echo "Usuario Registrado";
  49. }else{
  50.     echo $data;
  51. }

prueba así
__________________
[email protected]
HITCEL
  #3 (permalink)  
Antiguo 29/12/2017, 22:52
 
Fecha de Ingreso: febrero-2015
Ubicación: venezuela
Mensajes: 50
Antigüedad: 3 años, 9 meses
Puntos: 0
Respuesta: Pasar valores de formulario por clases

Cita:
Iniciado por xfxstudios Ver Mensaje
Código PHP:
Ver original
  1. require_once('novemberrain.php');
  2.  
  3. class account extends conexionBD{
  4.  
  5.     public function __construct(){
  6.        $this->con = $this->openBD();
  7.     }
  8.     //    Funcion registro de usuario
  9.     public function registro($datos){
  10.        
  11.         foreach($datos as $clave => $valor){
  12.             //Qui lo que sea que vas a hacer con los datos
  13.         }
  14.  
  15.         //ó
  16.  
  17.         $nombre = $datos['nombre'];
  18.         $apellido = $datos['apellido'];
  19.         //etc
  20.         //etc
  21.         //etc
  22.         $this->con->autocommit(false);//Desactivo la ejecución automática de las querys
  23.  
  24.         //Pruebo la transacción
  25.         try{
  26.  
  27.             //AQUI CONSULTA DE INSERCIÓN
  28.            
  29.             //Si falla la consulta
  30.             if(!$consulta){
  31.                 throw new Exception("Error de inserción", 1);
  32.             }
  33.            
  34.             $this->con->commit();//si no falla la consulta, la ejecuto
  35.             return true;//retorno exitosos
  36.         }catch(Exception $e){
  37.             //Si fall la consulta
  38.             $this->con->rollback();//deshago los cambios en caso de error
  39.             return $e->getMessage();//retorno el mensaje de error
  40.         }
  41.  
  42.     }
  43. }
  44.  
  45. $a = new account();
  46. $data = $a->registro($_POST);//Recibe los datos del Post
  47. if($data){
  48.     echo "Usuario Registrado";
  49. }else{
  50.     echo $data;
  51. }

prueba así

hola gracias por responder ya lo solucione echando cabeza como era que lo hacia le paso el código por si alquilen le interesa

los valores son enviado por ajax a user.php hay es donde tomo todos los campos del formulario y los envió a un php que contiene las clases llamado account y es el que va manejar todas la función lógica de iniciar sesión crear cuenta y recuperar contraseña

user.php
Código PHP:
Ver original
  1. <?php
  2. require_once('account.php');
  3. if(isset($_POST['accion'])){
  4.  
  5. $accion=$_POST['accion'];
  6.     //estancia de clases
  7. $formu = new formu;
  8. $registro = new account();
  9.  
  10. if ($accion=="new"){
  11.     // valores recibidos del formulario
  12. $nombre=$_POST['nombre'];
  13. $correo=$_POST['email'];
  14. $pass=$_POST['password'];
  15. $pass_c=$_POST['password_confi'];
  16. $ac=$_POST['reglas'];
  17.     // estancia para enviar datos a la clase
  18. $formu->nombre=$nombre;
  19. $formu->correo=$correo;
  20. $formu->pass=$pass;
  21. $formu->pass_c=$pass_c;
  22. $formu->ac=$ac;
  23.     // prosesado de datos
  24. $registro->registro($formu);
  25.  
  26.  
  27. }else
  28. if($accion=="reset"){
  29.     // valores recibidos del formulario
  30. $correo=$_POST['email'];
  31.     // estancia para enviar datos a la clase
  32. $formu->correo=$correo;
  33.     // prosesado de datos
  34. $registro->reset($formu);
  35.  
  36. }else
  37. if($accion=="login"){
  38.     // valores recibidos del formulario
  39. $correo=$_POST['email'];
  40. $pass=$_POST['password'];
  41.     // estancia para enviar datos a la clase
  42. $formu->correo=$correo;
  43. $formu->pass=$pass;
  44.     // prosesado de datos
  45. $registro->login($formu);
  46.  
  47. }
  48.  
  49. }
  50.  ?>

account .php
Código PHP:
Ver original
  1. <?php
  2. require_once('novemberrain.php');
  3.  
  4. class account extends conexionBD{
  5.  
  6.     public function __construct(){
  7.        $this->con = $this->openBD();
  8.     }
  9.     //    Funcion registro de usuario
  10.     public function registro($formu){
  11.     //recupero los campos del formulario para todos los function dependiendo del que valla usar segun user.php
  12.  
  13.    echo $$formu->nombre;
  14.    ....
  15.   ....
  16.    ....
  17.     }
  18.     //    Funcion registro de usuario
  19.     public function reset($formu){
  20.  
  21.     }
  22.     //    Funcion registro de usuario
  23.     public function login($formu){
  24.  
  25.     }
  26. }
  27.  
  28. class formu { }
  29.  
  30.  
  31.  ?>

Etiquetas: class, sql
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 10:20.