Ver Mensaje Individual
  #8 (permalink)  
Antiguo 27/10/2012, 17:59
Montes28
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Respuesta: se puede crear una funcion o clase para conectar a una base de datos recib

rodrigo791 mira como trabaja mi aplicacion y me das un consejo

mi index.php

Código PHP:
Ver original
  1.  
  2.     if ((isset($_SESSION['nombre']) && $_SESSION['nombre'] != "") || (isset($_SESSION['clave']) && $_SESSION['clave'] != ""))
  3.     {  
  4.         //<-----------------------------------------------  Logged User ---------------------------------->//
  5.        
  6.         require_once( dirname(__FILE__) . '/config/conexion.php' );
  7.  
  8.         $dirControllers = "controllers/";
  9.         $controlDefault = "login_";
  10.         $accionDefault = "menu_users";
  11.  
  12.         if(! empty($_GET['controller']))
  13.               $controller = $_GET['controller'];
  14.         else
  15.               $controller = $controlDefault;
  16.  
  17.         if(! empty($_GET['accion']))
  18.               $accion = $_GET['accion'];
  19.         else
  20.               $accion = $accionDefault;
  21.  
  22.         $controller = $dirControllers . $controller . 'Controller.php';
  23.  
  24.         if(is_file($controller))
  25.               require_once $controller;
  26.         else
  27.               echo '<script languaje="Javascript">location.href="views/error_controller.php"</script>';
  28.  
  29.         if(is_callable($accion))
  30.               $accion();
  31.         else
  32.               echo '<script languaje="Javascript">location.href="views/error_accion.php"</script>';
  33.     }
  34.    
  35.     else
  36.     {
  37.         //<-----------------------------------------------  SignUp User ---------------------------------->//
  38.        
  39.         //require_once( dirname(__FILE__) . '/config/conexion.php' );
  40.  
  41.         $dirControllers = "controllers/";
  42.         $controlDefault = "login_";
  43.         $accionDefault = "login_users";
  44.  
  45.         if(! empty($_GET['controller']))
  46.               $controller = $_GET['controller'];
  47.         else
  48.               $controller = $controlDefault;
  49.  
  50.         if(! empty($_GET['accion']))
  51.               $accion = $_GET['accion'];
  52.         else
  53.               $accion = $accionDefault;
  54.  
  55.         $controller = $dirControllers . $controller . 'Controller.php';
  56.  
  57.         if(is_file($controller))
  58.               require_once $controller;
  59.         else
  60.               //die('El Controlador No Existe - 404 not found');
  61.               echo '<script languaje="Javascript">location.href="views/error_controller.php"</script>';
  62.  
  63.         if(is_callable($accion))
  64.               $accion();
  65.         else
  66.               //die('La accion No Existe - 404 not found');
  67.               echo '<script languaje="Javascript">location.href="views/error_accion.php"</script>';
  68.     }


conexion.php

Código PHP:
Ver original
  1. $servidor = 'localhost';
  2. $bd = 'mibd';
  3. $usuario = 'postgres';
  4. $contrasenia = '****';

login_Controller.php
Código PHP:
Ver original
  1. <?php
  2.  
  3.     /*------------------  Funcion Login Usuarios  ------------------*/
  4.     function login_users()
  5.     {
  6.        
  7.  
  8.        if($_POST)
  9.         {
  10.        
  11.         require 'models/login_Model.php';
  12.               $ls = new Login();
  13.               $ls -> validate_users($db);
  14.         }
  15.        
  16.         require 'views/login.php';
  17.     }
  18.  
  19.  
  20.     /*------------------  Funcion Menu Usuarios  ------------------*/
  21.     function menu_users()
  22.     {
  23.    
  24.         require 'models/login_Model.php';
  25.         /*require 'models/actividad_Model.php';
  26.  
  27.               $ls = new Actividades();
  28.               $fz = $ls -> get_vol_fec_ac($db);
  29.               $fa = $ls -> get_vol_fec_ayer($db);
  30.                      
  31.         */
  32.        
  33.          $ls = new Login();
  34.          $ls -> validate_profile($db);
  35.                    
  36.         require 'views/main.php';
  37.        
  38.     }
  39.    
  40.    
  41.     /*------------------  Funcion Cerrar Sesion  ------------------*/
  42.     function close_session()
  43.     {
  44.    
  45.         require 'models/login_Model.php';
  46.        
  47.        $ls = new Login();
  48.            
  49.         session_start();
  50.         session_unset();
  51.         session_destroy(); 
  52.        
  53.         require 'views/exit.php';
  54.        
  55.     }
  56. ?>


login_Model.php
Código PHP:
Ver original
  1. <?php
  2.  
  3.  
  4.     global $servidor, $bd, $usuario, $contrasenia;
  5.     $db = new PDO('pgsql:host=' . $servidor . ';dbname=' . $bd, $usuario, $contrasenia);
  6.  
  7.  
  8.     class Login
  9.     {
  10.         /*-----------------------------------------  Validar Usuarios -----------------------------------------*/
  11.         public function validate_users($db)
  12.         {
  13.        
  14.             $usuario = $_POST['usuario'];
  15.             $clave = $_POST['clave'];
  16.        
  17.             $consulta = $db->prepare("select usu_usuario, usu_clave from usuarios where usu_usuario='montes' and usu_clave='montes' and usu_estado = 1");
  18.             $consulta->execute();
  19.        
  20.             while($fila = $consulta->fetch())
  21.             {
  22.            
  23.                 $_SESSION['nombre'] = 'montes';
  24.                 $_SESSION['clave'] = 'montes';
  25.                 header("Refresh: 0; URL=/volcanicos/");
  26.                 die();
  27.                
  28.             }
  29.            
  30.              if (!$this->consulta)
  31.                 {
  32.                     $_SESSION['invalidate_user'] = true;
  33.                 }
  34.                
  35.         }
  36.        
  37.         /*-----------------------------------------  Validar Perfil -----------------------------------------*/
  38.         public function validate_profile($db)
  39.         {
  40.             $consulta = $db->prepare("select id_usuarios,perfil from usuarios where usu_usuario='montes'");
  41.             $consulta->execute();
  42.        
  43.             while($fila = $consulta->fetch())
  44.             {
  45.            
  46.                 $_SESSION['perfil'] = $fila['perfil'];
  47.                 $_SESSION['id_usuarios'] = $fila['id_usuarios'];
  48.                
  49.             }
  50.            
  51.        
  52.         }
  53.        
  54.  
  55.    
  56.     }
  57.  
  58. ?>

ahora necesito conectarme a la base de datos con el usuario y la clave que me llegan por post

estoy un poco confundido

con tu gran experiencia me podrias orientar un poco

gracias