标签: codeigniter

使用PHPExcel时未启用ZipArchive库

我正在使用CodeIgniter和PHPExcel来读取和写入excel文件.

在localhost中一切正常,但是当我将我的PHP CodeIgniter应用程序上传到pagodabox中的服务器时,当我尝试从excel文件中读取数据时,我得到了以下消息.

Fatal error: Uncaught exception 'Exception' with message 'ZipArchive library is not enabled' in /var/www/application/libraries/PHPExcel/Reader/Excel2007.php
Run Code Online (Sandbox Code Playgroud)

php codeigniter pecl phpexcel ziparchive

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

Codeigniter表单发布和验证

我不是专业人士,但我知道我的PHP方式,我是Codeigniter的新手.

正在浏览这些教程:http://net.tutsplus.com/articles/news/codeigniter-from-scratch-day-5-crud/

好的,所以我有一个列出用户的页面,点击用户名将进入编辑页面,该页面的URL为:index.php/users/edit/1(其中1是用户ID)

在编辑页面上是一个表单,这个表单包含几个部分,每个部分都是从DB中的不同表填充的.所以我的Controller编辑如下:

function edit() {

        //load model
        $this->load->model('users_model');

        //assign user data from DB 
        $data['data_user'] = $this->users_model->getUser($this->uri->segment(3));
        //get users Password, using username from above
        $data['data_user_password']= $this->users_model->getUserPassword($data['data_user'][0]->UserName);

        $data['page_content'] = 'pages/users_edit';
        $this->load->view('template/template', $data);
    }
Run Code Online (Sandbox Code Playgroud)

注意: $data['data_user']包含用户数据,如名称,用户名,电子邮件 $data['data_user_password']包含来自不同表的用户密码

然后我可以填写表单,在users_edit.php上,这一切都正常.我通过执行以下操作来访问此数据:

if (is_array($data_user)) {
    foreach($data_user as $user) 
    {
        $userID         = $user->id;
        $userName       = $user->Name;
        $userUserName   = $user->UserName;
        $userMail       = $user->Mail;
        $userDepartment = $user->Department;
        $userWorkPhone  = $user->WorkPhone;
        $userHomePhone  = $user->HomePhone;
        $userMobile     = $user->Mobile;

    }
}
//user password
if (is_array($data_user_password)) { …
Run Code Online (Sandbox Code Playgroud)

php codeigniter

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

可以在CodeIgniter Views上放置条件逻辑吗?

所以我现在处于两难境地.我想在我的网站上实现一个登录按钮,该按钮在没有用户登录时出现.但是,如果某人已经登录,我希望该按钮更改为用户个人资料的链接.

我不知道这样做的正确方法是在视图中放置一个if语句,根据从Controller传递的数据呈现不同的HTML,或者Controller是否需要确定用户是否已登录,并将适当的数据结构传递给View.在CodeIgniter中执行此操作的正确方法是什么?

php templates codeigniter

5
推荐指数
2
解决办法
3204
查看次数

Codeigniter - 使用set_value()填充表单进行编辑(不涉及POST)

我有一个包含表格的视图.带有输入字段和单选按钮.需要使用数据库中的数据填充此表单,以便将其用作数据编辑表单.

我已经使用set_value()函数进行表单验证,其中在发布后从同一个控制器调用视图.但是如何在没有POST的情况下使用set_value函数?即只是在加载的视图中填充表单中的值.比方说,数据库中的数组或对象.

php codeigniter

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

使用CodeIgniter加载视图文件夹外部的视图

我需要从以下范围之外加载视图:

$this->load->view();
Run Code Online (Sandbox Code Playgroud)

这似乎是从base/application/views目录工作.如何从/application/目录外部访问视图?

我想我将不得不延长CI_Loader class这将是最好的前进方式吗?

我还找到了包含view_paths的数组:

// base/system/core/Loader.php 
// CI_Loader 
 /**
 * List of paths to load views from
 *
 * @var array
 * @access protected
 */
protected $_ci_view_paths       = array();
Run Code Online (Sandbox Code Playgroud)

但是所有声明的变量上面的注释让我陷入困境

// All these are set automatically. Don't mess with them.
Run Code Online (Sandbox Code Playgroud)

关于从哪里去的任何想法将不胜感激:-)

php codeigniter autoload

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

如何在CodeIgniter中包含第三方库?

我正在尝试使用以下内容将Google Plus身份验证添加到CodeIgniter中:https: //code.google.com/p/google-api-php-client/

我把这些文件放在third_party/google-api-php-client/src中

如果我在没有CI的情况下这样做,我会简单地使用:

require_once 'google-api-php-client/src/Google_Client.php';
require_once 'google-api-php-client/src/contrib/Google_PlusService.php';
Run Code Online (Sandbox Code Playgroud)

什么是CI等同于"需要"这些文件的方式?我试过了

require APPPATH .'third_party/google-api-php-client/src/Google_Client.php';
Run Code Online (Sandbox Code Playgroud)

但是会发出以下消息:

消息:require(application/third_party/google-api-php-client/src/Google_Client.php):无法打开流:权限被拒绝

codeigniter

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

Codeigniter - 检查用户是否已记录并存在(它是真实用户)

我正在尝试为用户登录我的网站时设置会话数据.

因此,如果用户存在于db中,我会设置会话数据,如: $this->session->set_userdata('user_exists','1');

现在,每当我想检查用户是否存在并记录时,我会:

if($this->session->userdata('user_exists')){
 //do somenthing for logged user
}
Run Code Online (Sandbox Code Playgroud)

现在我想知道这是否意味着用户已登录并存在于数据库中,因为他登录并且我为他设置了一个会话参数,这是真的吗?或者我会遇到安全问题?

注意:我正在使用会话数据库

php security session logging codeigniter

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

omn​​ipay paypal表示不归还地址

我在这里使用omnipay设置:https://github.com/adrianmacneil/omnipay来处理paypal快速结账.

该过程工作正常,用户被重定向到paypal - >他们登录并选择支付 - >他们返回我的网站,此时我捕获付款.

我遇到的问题是我需要将他们输入Paypal的地址作为他们的账单/送货地址.

要将用户发送到paypal,我有以下内容:

$gateway = GatewayFactory::create('PayPal_Express');
$gateway->setUsername('XX-USERNAME_XX');
$gateway->setPassword('XX_PASSWORDXX');
$gateway->setSignature('XX_SIG_XX');
$gateway->setTestMode(true);

$response = $gateway->purchase(
    array(
        'cancelUrl'=>'http://www.XXX.co.uk/',
        'returnUrl'=>'http://www.XXX.co.uk/paypalexpress_confirm',
        'amount' =>  $totalamount,
        'currency' => 'GBP'
    )
)->send();

$response->redirect(); 
Run Code Online (Sandbox Code Playgroud)

当用户返回时,我有以下内容:

$gateway = GatewayFactory::create('PayPal_Express');
$gateway->setUsername('XX-USERNAME_XX');
$gateway->setPassword('XX_PASSWORDXX');
$gateway->setSignature('XX_SIG_XX');
$gateway->setTestMode(true);

$response = $gateway->completePurchase(
    array(
        'cancelUrl'=>'http://www.XXX.co.uk/',
        'returnUrl'=>'http://www.XXX.co.uk/paypalexpress_confirm',
        'amount' =>  $totalamount,
        'currency' => 'GBP'
    )
    )->send();

    echo $responsemsg=$response->getMessage(); 

    echo '<br><br><br>';
    $data = $response->getData(); 
    print_r($data);
Run Code Online (Sandbox Code Playgroud)

响应消息或原始数据中的任何内容都不包含客户地址.

有没有人得到这个工作,因为我正在努力,这是完成交易的最后一步.

codeigniter paypal ci-merchant omnipay

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

codeigniter加载视图特定的javascript

我有一个寄存器视图文件,其中有一个非常大的形式.因此我打算使用表单向导插件和jquery表单验证插件.我只希望在特定页面上加载这些脚本.我该怎么做呢 ?这是我的控制器方法.

public function index(){
    $data['title'] = "Register";        
    $this->load->view("site_header", $data); 
    $this->load->view("site_nav"); 
    $this->load->view("content_register"); 
    $this->load->view("site_footer");
} 
Run Code Online (Sandbox Code Playgroud)

我在这里看到了关于stackoverflow的类似帖子,但我不明白该怎么做.请帮忙.

php codeigniter

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

如何使用codeigniter设置cron作业

我正在尝试使用COdeigniter设置一个cron作业,但我无法弄清楚如何让它工作.我的控制器文件夹中有一个名为email_check.php的文件,我已将.cron文件添加到服务器cron文件夹中,其中包含以下内容:

email_check.cron

*/1 * * * * php /var/www/html/application/controllers/email_check
Run Code Online (Sandbox Code Playgroud)

email_check.php

class Email_check extends CI_Controller {

    function __construct()
    {
        parent::__construct();
        $this->index();
    }

    function index()
    {
        $this->load->model('admin/info_model'); 
        $this->info_model->addTestData();
    }

}
Run Code Online (Sandbox Code Playgroud)

addTestData将新行添加到数据库表中.我希望每分钟运行一次,但它根本不工作,我不知道为什么.

也许它可能是错误的路径.我是否需要将php部分指向服务器中的php.exe.

如果有人可以帮助或指出我正确的方向,将不胜感激!

php codeigniter cron-task

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