Problemas al logear

Estoy construyen un pequeña aplicación en kumpiaphp sb2, pero me he encontrado con este error y he podido resolverlo. Voy a mostrar la estructura de mi aplicación. 

Modelos: appweb\default\app\models\usuarios.php
<?php
class Usuarios extends ActiveRecord {
 
}
?>

Controladores: appweb\default\app\controllers\sitio_controller.php
<?php
View::template('appweb_admin');
class SitioController extends AppController {
function after_filter(){
if(!Auth::is_valid()){
Router::redirect("login/index");
}
}
public function index() {}
}
?>

appweb\default\app\controllers\login_controller.php
<?php
View::template('appweb');
class LoginController extends AppController {
function index() {
Auth::destroy_identity();
}
function logear() {
try {
View::select(NULL);
if (Input::hasPost("usuario","password")){
$usuario = Input::post("usuario");
$pwd = Input::post("password");
$auth = new Auth("model","class: usuarios", "login: $usuario", "password: $pwd");
if($auth->authenticate()){
Router::redirect("index/sitio");
}else{
Router::redirect("login/index");
}
}
} catch (KumbiaException $e) {
View::excepcion($e);
}
}
}
?>

luego cuando dígito el usuario y la contraseña mi navegador se posiciona en http://localhost/appweb/login/logear y se visualizan estas lineas de codigo 

Notice: Undefined index: campana in C:\wamp\www\appweb\core\libs\db\db.php on line 77
Fatal error: Unsupported operand types in C:\wamp\www\appweb\core\libs\db\db.php on line 81
Tagged:

Comentarios

  • Revisando las líneas que mencionas, es cuando se conecta al motor de la base de datos.
    ¿Has configurado correctamente tu archivo app/config/dabase.ini? Copia y pega el contenido de tu archivo database.ini así vemos si no hay nada incorrecto.
    Saludos

  • Veo varios errores de estructuras de tu codigo, usar un after_filter para validar si está logueado no es lo mas correcto. Una redirección para login incorrecto tampoco me parece lo más adecuado
  • Buenas Reinaldo,
    simplemete tienes mal el databases.ini
  • ya encontre el problemas es cierto... tenia mal configurado el database.ini, este era mi config.ini, mi parametro database = campana. Pero en database.ini me faltaba el [campana], el algún momento pense q como tenia, production = OFF el me tomaba en database [development].

    config.ini
    [application]
    name = "KUMBIA PROJECT"
    timezone = "America/New_York"
    production = OFF
    database = campana
    dbdate = YYYY-MM-DD
    debug = On
    log_exceptions = On
    charset = UTF-8
    cache_driver = file
    metadata_lifetime = "+1 year"
    namespace_auth = "default"
    locale = es_ES
    ----------------------------------------------------------------
    database.ini
    [development]
    host = localhost
    username = root
    password = 
    name = campana
    type = mysql
    charset = utf8  
    ;este valor es necesario para abrir conexiones UTF-8

    [campana]
    host = localhost
    username = root
    password = 
    name = campana
    type = mysql
    charset = utf8  

    Gracias señores...
  • "Veo varios errores de estructuras de tu codigo, usar un after_filter para validar si está logueado no es lo mas correcto. Una redirección para login incorrecto tampoco me parece lo más adecuadoashrey y cual seria lo adecuado?? 
  • Fijate, para verificar si estas logueado deberias usar initialize o el before_filter, ya que el after_filter se ejecuta una vez que se ha ejecutado la acción. Se supone que si el usuario no está logueado no debería ejecutarse la acción.
  • Si tienes toda la razon... Gracias...
Sign In or Register to comment.