Foros del Web » Programando para Internet » PHP » CodeIgniter »

Error en CodeIgniter 2.0.2

Estas en el tema de Error en CodeIgniter 2.0.2 en el foro de CodeIgniter en Foros del Web. Buenos dias me he descargado la version 2.0.2 de codeigniter y he renombrado esta carpeta a ci y lo he colocado el carpeta adecuada (www) ...
  #1 (permalink)  
Antiguo 29/05/2011, 23:45
 
Fecha de Ingreso: julio-2010
Mensajes: 45
Antigüedad: 13 años, 9 meses
Puntos: 3
Error en CodeIgniter 2.0.2

Buenos dias me he descargado la version 2.0.2 de codeigniter y he renombrado esta carpeta a ci y lo he colocado el carpeta adecuada (www) de mi wampserver
ademas e modificado esto $config['base_url'] = 'http://localhost/ci/'.

Y he seguido este tutorial http://digitta.com/2009/01/empezando-con-codeigniter.html para probar el correcto funcionamiento pero me sale el siguiente error :



( ! ) Fatal error: Class 'Controller' not found in C:\wamp\www\ci\application\controllers\helloworld. php on line 2
Call Stack
# Time Memory Function Location
1 0.0015 385384 {main}( ) ..\index.php:0
2 0.0041 453816 require_once( 'C:\wamp\www\ci\system\core\CodeIgniter.php' ) ..\index.php:201
3 0.0320 1336616 include( 'C:\wamp\www\ci\application\controllers\helloworld .php' ) ..\CodeIgniter.php:248

el codigo del archivo helloword.php

es

Código:
<?php
 class Helloworld extends Controller{
  function index()
  {
   $this->load->model('helloworld_model');
 
   $data['result'] = $this->helloworld_model->getData();
   $data['page_title'] = "CI Hello World App!";
 
   $this->load->view('helloworld_view',$data);
     }
 }
?>

es decir la linea que falla es class Helloworld extends Controller


me podrian decir como soluciono este problema
  #2 (permalink)  
Antiguo 30/05/2011, 05:49
Avatar de NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 18 años, 6 meses
Puntos: 890
Respuesta: Error en CodeIgniter 2.0.2

Estas leyendo un tutorial para la 1.7(o menor) y estas usando la 2. Asi que fijate en la documentacion oficial de como extender al controlador.

Saludos.
__________________
Drupal Argentina
  #3 (permalink)  
Antiguo 30/05/2011, 07:02
Avatar de IvanAsturS  
Fecha de Ingreso: enero-2011
Ubicación: Asturias
Mensajes: 24
Antigüedad: 13 años, 3 meses
Puntos: 2
Respuesta: Error en CodeIgniter 2.0.2

Como te comenta NUCKLEAR la declaración de la clase no es correcta.

Tendría que ser así:
Código PHP:
<?php
 
class Helloworld extends CI_Controller {
  function 
index()
  {
   
$this->load->model('helloworld_model');
 
   
$data['result'] = $this->helloworld_model->getData();
   
$data['page_title'] = "CI Hello World App!";
 
   
$this->load->view('helloworld_view',$data);
     }
 }
?>
Comprueba de la misma manera que en el modelo que has creado la declaración este correcta, tiene que extender de la clase CI_Model

Un saludo, Iván
  #4 (permalink)  
Antiguo 30/05/2011, 13:37
 
Fecha de Ingreso: julio-2010
Mensajes: 45
Antigüedad: 13 años, 9 meses
Puntos: 3
Respuesta: Error en CodeIgniter 2.0.2

Gracias Ivan he extendido mi clase modelo asi

Código PHP:
<?php
class Helloworld_model extends CI_Model {
 
    function 
Helloworld_model()
    {
        
// Call the Model constructor
        
parent::Model();
    }
     
    function 
getData()
  {
   
//Query the data table for every record and row
   
$query $this->db->get('data');
    
   if (
$query->num_rows() > 0)
   {
    return 
$query->result();
   }else{
    
//show_error('Database is empty!');
   
}
  }
 
}
?>

y ahora me sale este error

( ! ) Fatal error: Call to undefined method CI_Model::Model() in C:\wamp\www\ci\application\models\helloworld_model .php on line 7
Call Stack
# Time Memory Function Location
1 0.0012 385160 {main}( ) ..\index.php:0
2 0.0036 453592 require_once( 'C:\wamp\www\ci\system\core\CodeIgniter.php' ) ..\index.php:201
3 0.0364 1589328 call_user_func_array ( ) ..\CodeIgniter.php:339
4 0.0364 1589376 Helloworld->index( ) ..\CodeIgniter.php:0
5 0.0364 1589472 CI_Loader->model( ) ..\helloworld.php:5
6 0.0392 1600008 Helloworld_model->Helloworld_model( ) ..\Loader.php:188


me parece raro que no encuentre a su constructor o que estoy haciendo mal?
  #5 (permalink)  
Antiguo 30/05/2011, 17:34
 
Fecha de Ingreso: marzo-2010
Mensajes: 71
Antigüedad: 14 años, 1 mes
Puntos: 24
Respuesta: Error en CodeIgniter 2.0.2

Holas.

Para el constructor pone asi:
Código PHP:
Ver original
  1. <?php
  2.  
  3. class Helloworld_model extends CI_Model
  4. {
  5.  
  6.     public function __construct()
  7.     {
  8.         // Call the Model constructor
  9.         parent::__construct();
  10.     }
  11.  
  12.     public function getData()
  13.     {
  14.         //Query the data table for every record and row
  15.         $query = $this->db->get('data');
  16.  
  17.         if ($query->num_rows() > 0) {
  18.             return $query->result();
  19.         } else {
  20.             //show_error('Database is empty!');
  21.         }
  22.     }
  23.  
  24. }

Saludos
  #6 (permalink)  
Antiguo 31/05/2011, 09:19
 
Fecha de Ingreso: julio-2010
Mensajes: 45
Antigüedad: 13 años, 9 meses
Puntos: 3
Respuesta: Error en CodeIgniter 2.0.2

Gracias raton7 lo probare
  #7 (permalink)  
Antiguo 31/05/2011, 20:21
Avatar de JavierUgalde  
Fecha de Ingreso: abril-2011
Ubicación: Maracay
Mensajes: 29
Antigüedad: 13 años
Puntos: 6
De acuerdo Respuesta: Error en CodeIgniter 2.0.2

Que tal hermanos...

Si no me equivoco en la version 2.0 de CI, la manera de llamar al constructor no es llamando a un metodo igual que la clase, si no llamando al metodo:

Código PHP:
Ver original
  1. <?php
  2.     Class HelloWorld extends CI_Model
  3.     {
  4.         Public function __construct()
  5.         {
  6.             parent::__construct();
  7.         }
  8.     }
  9. ?>

Saludos...
  #8 (permalink)  
Antiguo 02/06/2011, 00:15
 
Fecha de Ingreso: julio-2010
Mensajes: 45
Antigüedad: 13 años, 9 meses
Puntos: 3
Respuesta: Error en CodeIgniter 2.0.2

Gracias ya funciono perfecto

Etiquetas: frameworks-y-php-orientado-a-objetos
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 09:49.