标签: codeigniter

扩展CodeIgniter中的Controller类

我有class MY_Controller extends CI_Controller大型配置文件部分的常用逻辑,所以I'va尝试class Profile extends MY_Controller使用配置文件部分的通用逻辑创建,所有与此部分相关的类都应该扩展此Profile类,正如我所理解的那样,但是当我尝试创建时class Index extends Profile我收到错误:

Fatal error: Class 'Profile' not found
Run Code Online (Sandbox Code Playgroud)

CodeIgniter试图找到index.php我正在运行的这个类.

我的错误在哪里?或者也许有更好的方法来标记共同的逻辑?

php codeigniter codeigniter-2

19
推荐指数
3
解决办法
3万
查看次数

在Codeigniter中重定向后会话丢失

我使用codeigniter作为框架.

首先,我使用localhost但是当我更改为我的IP地址时,登录功能不再起作用.我发现重定向到另一个控制器后会话丢失了.

这是结果 print_r($this->session->all_userdata());

[session_id] => 7b00fa0f8790f48d24446f9eb4e6aab2 
[ip_address] => 10.42.68.71 
[user_agent] => Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.83 Safari/537.1
[last_activity] => 1285962398 
[user_data] =>
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,它没有传递任何数据,user_data但是在我测试时它是在重定向之前设置的.

我将控制器分成两个,第一个是用户 - >登录功能的处理程序,另一个是计划程序,我从用户控制器重定向的链接处理程序.

users.php (第一控制器):

$this->load->model('users_model');
$this->load->model('mymodel');
$this->load->database();

$email = $this->input->post('email');

$pass = $this->input->post('password');

$type = $this->input->post('type');

// Authenticate the user
$userdata = $this->users_model->auth_user($email,$pass,$type);

if($userdata)
{
    $data = array('FIRSTNAME' => $userdata->FIRSTNAME, 
                  'LASTNAME' => $userdata->LASTNAME, 
                  'EMAIL' => $userdata->EMAIL,
                  'LOGIN' =>TRUE, 'TYPE' => $type);
    $this->session->set_userdata($data);
    redirect('planner/view_system','refresh');
}
Run Code Online (Sandbox Code Playgroud)

planner.php (第二控制器):

function …
Run Code Online (Sandbox Code Playgroud)

php session redirect codeigniter

19
推荐指数
1
解决办法
5万
查看次数

在Code Igniter中,我应该在哪里声明我的全局变量?

我是代码点火器的新手.

我想声明一些全局变量和全局常量.通常,我会将它们放在我自己的自定义框架的includes/global.php中.

我应该在Code Igniter中定义全局变量?这是我要声明的全局变量的示例:

define('USERSTAT_OFFLINE', 0);
define('USERSTAT_ONLINE', 1);
define('USERSTAT_AWAY', 2);
define('USERSTAT_BUSY', 3);

$PAYMENT_PLANS = array();
$PAYMENT_PLANS[] = array('id'=>1, 'name'=>'Trial');
$PAYMENT_PLANS[] = array('id'=>2, 'name'=>'Premium Plan');
Run Code Online (Sandbox Code Playgroud)

global codeigniter

18
推荐指数
1
解决办法
2万
查看次数

使用CodeIgniter的Active Record函数在没有引号的MySQL语句中添加子句

我想在codeigniter中使用活动记录更新一行,我只想增加一个字段值(received_qty = received_qty +1),我意识到我可以在通常的sql中做到这一点,但我不能在codeigniter活动记录中

$update['received_qty'] = 'received_qty + 1';
$update['received_date'] = date("Y-m-d");
$this->db->where($where);
$this->db->update('vrs_distribution', $update);
Run Code Online (Sandbox Code Playgroud)

有人知道如何使用活动记录吗?

activerecord codeigniter

18
推荐指数
1
解决办法
2万
查看次数

Codeigniter电子邮件错误处理

CI Email send()函数仅返回true或false.有没有办法得到更详细的原因,为什么发送失败?我正在使用SMTP.

php email smtp codeigniter

18
推荐指数
3
解决办法
5万
查看次数

CodeIgniter:"无法加载请求的类"

在我的WAMP框中,我做了以下事情:

  1. 添加了一个名为/application/libraries/Foo.php的文件
  2. Foo.php是一个类,它的名字是 Foo
  3. 在/application/config/autoload.php中,我补充道 $autoload['libraries'] = array('foo');

一切正常.当我上传到我的LAMP框时,我收到以下错误:

Unable to load the requested class: foo

/application/libraries/Foo.php的权限是0755.所有者与其他CI文件相同.以foo从自动加载出来,使问题消失.

什么想法可能是错的?

php codeigniter autoloader

18
推荐指数
1
解决办法
10万
查看次数

使用Amazon SES的Codeigniter SMTP电子邮件

我想昨天亚马逊宣布对SES(简单电子邮件服务)的SMTP支持.

我试图用Codeigniter发送SMTP电子邮件但没有运气.

我有一个经过验证的发件人,一切都很好看:

$this->load->library('email');

$config = array(
    'protocol' => 'smtp',
    'smtp_host' => 'email-smtp.us-east-1.amazonaws.com',
    'smtp_user' => 'SMTP USERNAME',
    'smtp_pass' => 'SMTP PASSWORD',
    'smtp_port' => 465,
    'mailtype' => 'html'
);

$this->email->initialize($config);
$this->email->print_debugger();

$this->email->from('verified_email_address@something.com', 'Test From');
$this->email->to('email@example.com', 'Test To');
$this->email->subject('Test');
$this->email->message('test');

$this->email->send();
Run Code Online (Sandbox Code Playgroud)

我尝试了下面的smtp_host:

  • email-smtp.us-east-1.amazonaws.com
  • TLS://email-smtp.us-east-1.amazonaws.com
  • SSL://email-smtp.us-east-1.amazonaws.com

当我回显print_debugger()时,我得到:

220 email-smtp.amazonaws.com ESMTP SimpleEmailService-194655181
hello: 421 Timeout waiting for data from client.
Run Code Online (Sandbox Code Playgroud)

这些测试在mediatemple(gs)服务器上运行.

smtp codeigniter amazon-web-services amazon-ses

18
推荐指数
3
解决办法
2万
查看次数

CodeIgniter中的自定义类

对于使用CodeIgniter的初学者来说,这似乎是一个非常常见的问题,但到目前为止我找到的解决方案似乎与我的问题无关.就像主题所说我试图在CodeIgniter中包含一个自定义类.

我正在尝试创建下面类的几个对象并将它们放在一个数组中,因此我需要该类可用于模型.

我已经使用load(库 - >负载("MyClass的")函数中的CodeIgniter哪种类型的作品的尝试,但它试图创建模型外第一类的对象.这显然是一个问题,因为构造函数需要几个参数.

到目前为止我找到的解决方案是

  1. 一个简单的PHP包括看起来很好,但由于我是CodeIgniter的新手,我想确保尽可能地坚持它.
  2. 按照这里的建议创建一个"包装类" ,但我不确定如何实现它.

我想要包含的类, User.php

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); 
class User{
    public $ID = 0;
    public $username = 0;
    public $access_lvl = 0;
    public $staff_type = 0;
    public $name = 0;    

    public function __construct($ID, $username, $access_lvl, $staff_type, $name) 
    {
        $this->ID = $ID;
        $this->username = $username;
        $this->access_lvl = $access_lvl;
        $this->staff_type = $staff_type;
        $this->name = $name;
    }

    public function __toString() 
    {
        return $this->username;
    }
}
?>
Run Code Online (Sandbox Code Playgroud)

方法(Model)需要User.php

function …
Run Code Online (Sandbox Code Playgroud)

php codeigniter

18
推荐指数
2
解决办法
3万
查看次数

Codeigniter路径函数定义

我遇到过这个页面

https://www.codeigniter.com/user_guide/general/reserved_names.html
Run Code Online (Sandbox Code Playgroud)

有人可以向我解释以下常数的作用:

EXT
FCPATH
SELF
BASEPATH
APPPATH
Run Code Online (Sandbox Code Playgroud)

谢谢

php codeigniter

18
推荐指数
3
解决办法
5万
查看次数

CodeIgniter有插件/扩展/模块吗?

我正在寻找一些PHP框架,并注意到它们都以各种形式提供可重用,社区贡献的代码:

- Symfony 2(捆绑包):http://knpbundles.com/
- Zend Framework 2(模块):http://modules.zendframework.com/
- CakePHP(插件):http://plugins.cakephp.org/
- Yii框架(扩展):http://www.yiiframework.com/extensions/

但是我找不到Code Igniter的任何东西(我在这篇SO帖子中看到Code Igniter曾经有插件被帮助器取代,但当我谷歌搜索"Code Igniter helpers"或"Code Igniter插件"时我不能找到任何存储库).

Code Igniter社区贡献和可重用库的名称是什么?你能共享一个到他们主存储库的链接吗?

plugins codeigniter reusability

18
推荐指数
1
解决办法
3万
查看次数