Ver Mensaje Individual
  #5 (permalink)  
Antiguo 29/10/2012, 08:50
Montes28
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Respuesta: Problema para logear contra usuarios de base de datos y no contra usuarios

abimaelrc gracias por responder estoy un poco confundido

me podrias indicar un poco por favor

yo lo haria de la siguiente manera espero me corrigan

en el index.php tendira
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.     }
  69.          
  70. ?>

en el login_Controller.php

Código PHP:
Ver original
  1. function login_users()
  2.     {
  3.        
  4.        if($_POST)
  5.         {
  6.               require 'models/conexion.php';       
  7.               require 'models/login_Model.php';
  8.              
  9.               $lc=new Conexion();
  10.               $lc -> conectar($usuario,$contrasenia);
  11.              
  12.              
  13.               $ls = new Login();
  14.               $ls -> validate_users($db);
  15.         }
  16.        
  17.         require 'views/login.php';
  18.     }


y en conexion.php

Código PHP:
Ver original
  1. class Conexion
  2.     {
  3.         /*----------------------------------------- Realizar Conexion-----------------------------------------*/
  4.         public function conectar($usuario,$contrasenia){
  5.         {
  6.                 $usuario = $_POST['usuario'];
  7.                 $contrasenia = $_POST['clave'];
  8.  
  9.                
  10.             try {
  11.                  $db = new PDO('pgsql:host=localhost;dbname=volcanoes',$usuario,$contrasenia);
  12.                 }catch(PDOException $e) {
  13.                 echo $e->getMessage();
  14.                 }
  15.         }
  16.  
  17.         }
  18.        
  19.     }


este es el error que me marca

Fatal error: Call to a member function prepare() on a non-object in C:\websites\volcanicos\models\login_Model.php on line 13

y la linea 13 contiene
Código PHP:
Ver original
  1. $consulta = $db->prepare("select usu_usuario, usu_clave from usuarios where usu_usuario='$usuario' and usu_clave='$clave' and usu_estado = 1");

Última edición por Montes28; 29/10/2012 a las 09:08