我有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我正在运行的这个类.
我的错误在哪里?或者也许有更好的方法来标记共同的逻辑?
我使用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) 我是代码点火器的新手.
我想声明一些全局变量和全局常量.通常,我会将它们放在我自己的自定义框架的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) 我想在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)
有人知道如何使用活动记录吗?
CI Email send()函数仅返回true或false.有没有办法得到更详细的原因,为什么发送失败?我正在使用SMTP.
在我的WAMP框中,我做了以下事情:
Foo$autoload['libraries'] = array('foo');一切正常.当我上传到我的LAMP框时,我收到以下错误:
Unable to load the requested class: foo
/application/libraries/Foo.php的权限是0755.所有者与其他CI文件相同.以foo从自动加载出来,使问题消失.
什么想法可能是错的?
我想昨天亚马逊宣布对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:
当我回显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)服务器上运行.
对于使用CodeIgniter的初学者来说,这似乎是一个非常常见的问题,但到目前为止我找到的解决方案似乎与我的问题无关.就像主题所说我试图在CodeIgniter中包含一个自定义类.
我正在尝试创建下面类的几个对象并将它们放在一个数组中,因此我需要该类可用于模型.
我已经使用load(库 - >负载("MyClass的")函数中的CodeIgniter哪种类型的作品的尝试,但它试图创建模型外第一类的对象.这显然是一个问题,因为构造函数需要几个参数.
到目前为止我找到的解决方案是
我想要包含的类, 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) 我遇到过这个页面
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框架,并注意到它们都以各种形式提供可重用,社区贡献的代码:
- 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社区贡献和可重用库的名称是什么?你能共享一个到他们主存储库的链接吗?
codeigniter ×10
php ×6
smtp ×2
activerecord ×1
amazon-ses ×1
autoloader ×1
email ×1
global ×1
plugins ×1
redirect ×1
reusability ×1
session ×1