标签: codeigniter

学习如何在CodeIgniter中使用AJAX

我觉得学习JavaScript很困难,但有点令人尴尬.

假设我有一个非常简单的控制器:

class front extends Controller {

    public function __construct()
    {
        parent::Controller();   
    }

    public function index()
    {
        //nothing!
    }

    public function test () {

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

        if ($someNumber == 12) { return TRUE; }

    }

}
Run Code Online (Sandbox Code Playgroud)

是的,这可能写得更好,哈哈.

我想知道的是 - 我如何使用JavaScript在表单中提交数字(我稍后会担心验证和模型),我应该如何编写test()函数以便返回JavaScript可读的内容(我假设返回TRUE可能不起作用,可能是XML或JSON或类似的东西?),以及如何使用JavaScript访问数据?

我知道有像jQuery这样的框架可以帮助解决这个问题,但是现在我只想在最简单的层面上理解它,到目前为止我发现的所有教程和指南对我来说都太深入了.jQuery中的一个例子或其他什么也好.

非常感谢 :)

javascript php ajax codeigniter

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

codeigniter - 从视图加载库?

我有一些数据,我必须显示为表格.

我想我应该从控制器传递数据为$ data ['events'] = array(.....

然后加载视图以显示它们.

        <?php
    $this->load->library('table');

    echo $this->table->generate($events);
    ?>
Run Code Online (Sandbox Code Playgroud)

这不起作用 - 它给出致命错误:在非对象上调用成员函数generate()

如果我在控制器中粘贴相同的代码,显然使用 - > generate($ data ['events']表会正确显示.

我应该得到的视图无法加载库,或者我做错了什么?或者我应该在控制器中捕获库的输出并将其发送到视图?

codeigniter

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

为什么这个构造函数无法在Code Igniter中加载?

<?php
class Blog extends CI_Controller {
    function Blog() {
        parent::CI_Controller();
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试在Code Igniter中为我的类'Blog'创建一个构造函数,上面的代码给了我一个致命的错误:

致命错误:在第5行的C:\ xampp\htdocs\mysites\blog\application\controllers\blog.php中调用未定义的方法CI_Controller :: CI_Controller()

我该如何解决?

(我正在通过官方代码点火器网站上的在线视频教程,但我认为该教程已经过时了大约2年,因为当我完全按照视频中所示的方式执行某些操作时,这些内容无法正常工作,这是一个他们 - 视频的链接在这里 - 我在教程结束时遇到这个问题约8分钟)

constructor codeigniter

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

对搜索表单使用查询字符串分页,该表单的方法设置为在codeigniter中获取

我正在敲打键盘试图找出一种方法来使用查询字符串和分页,每一件事都可以正常工作,直到FIRST出现页面链接.

所有其他链接都将查询字符串附加到其末尾但First页面链接misses the query string

其他页面的链接:

http://localhost/index.php/search/index/9?q=some_Data_From_Form
Run Code Online (Sandbox Code Playgroud)

FIRST页面链接显示我在$config['base_url'] 变量中设置的链接:

http://localhost/index.php/search/index/
Run Code Online (Sandbox Code Playgroud)

搜索表单:

$attributes=array('id'=>'search','class'=>'clearfix','method'=>'get');
echo form_open(base_url().'index.php/search/index',$attributes);
Run Code Online (Sandbox Code Playgroud)

它有一个名称设置为的文本框q.

我在stackoverflow上偶然发现了几个答案/示例,这就是我写的:

分页配置文件有

$config['per_page'] = '1';
$config['uri_segment'] = '3';
Run Code Online (Sandbox Code Playgroud)

和其他类似num_tag_open等

控制器类:

class Search extends CI_Controller {
    public function Search(){
        parent::__construct();
        $this->load->helper('url');
        $this->load->helper('form');
        $this->load->library('input');
        $this->load->model('blog_model');
        $this->load->library('pagination');
        $this->config->load('pagination'); //other pagination related config variables
    }

    public function index($page=0){
        $q = trim($this->input->get('q'));
        if(strlen($q)>0){
            //validate input and show data
            $config['enable_query_strings']=TRUE;
            $getData = array('q'=>$q);
            $config['base_url'] = 'http://localhost/index.php/search/index/';   
            $config['suffix'] = '?'.http_build_query($getData,'',"&amp;");

            $data['rows'] = …
Run Code Online (Sandbox Code Playgroud)

php pagination codeigniter get

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

Codeigniter - 会话到期和"记住我"功能

我正在Codeigniter中构建一个"记住我"功能,通常我看到库/项目使用令牌在用户上设置cookie,此令牌保存在数据库中,并在每次用户访问网站时进行比较.

在Codeigniter中我们可以设置会话到期时间,这导致我尝试不同的方法,这就是我做的:

  • 我将config中的session_expiration设置为0(无限会话)
  • 如果用户未选中"记住我",我会在会话中设置2小时的时间,并在窗口关闭时设置会话.

所以我的登录代码如下所示:

if (!$this->input->post('remember_me')) {
                $this->session->sess_expiration = 7200;
                $this->session->sess_expire_on_close = TRUE;
            }

            $this->session->set_userdata($session_data);
Run Code Online (Sandbox Code Playgroud)

我的配置文件:

$config['sess_expiration']      = 0;
$config['sess_expire_on_close'] = FALSE;
Run Code Online (Sandbox Code Playgroud)

我没有看到人们在项目中使用这个解决方案,我已经测试了它,但它似乎工作得很好.

那么,对于我的问题,你会说这是一个安全的做法吗?我应该知道的任何安全危险?此解决方案与cookie +数据库令牌的任何输入都会很棒.

php codeigniter

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

如何使用Codeigniter阵列执行批量更新?

大家好我想问一下如何在CodeIgniter中使用数组执行批量更新这是我的示例代码:

 public function updateItemInfo(){

        $id = $this->input->post('idx'); //array of id
        $desc = $this->input->post('itemdesc'); //array of item name
        $qty = $this->input->post('qty'); //array or qty
        $price = $this->input->post('price'); //array of price
        $code = $this->input->post('codes'); // not array

        for($x = 0; $x < sizeof($id); $x++){

            $total[] = $price[$x] * $qty[$x];

            $updateArray = array(
                'item_desc' => $desc[$x],
                'item_qty' => $qty[$x],
                'price' => $price[$x],
                'total' => $total
            );
            $this->db->where('poid',$id[$x]);
            $this->db->update('po_order_details',$updateArray); //Could not update I don't know why

        }

        //echo "<pre>";
        //print_r($updateArray);


        $sumoftotal = array_sum($total);

        $vat_amt …
Run Code Online (Sandbox Code Playgroud)

codeigniter

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

调用未定义的函数array_column()

我现在在尝试运行我的php(codeigniter框架)代码时收到以下错误消息致命错误:调用未定义的函数array_column()

php codeigniter

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

您指定了无效的数据库连接组codeigniter错误

我正在从教程中制作一个CRUD.而且我收到了这个错误.

您指定了无效的数据库连接组.

会出现什么问题?

database.php - 数据库配置

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = '';
$db['default']['database'] = 'cicrud';
$db['default']['dbdriver'] = 'mysql';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;
Run Code Online (Sandbox Code Playgroud)

users_model.php -model

<?php

class Users_model extends CI_Model {

function __construct()

{

parent::__construct();

$this->load->database('cicrud');

}

public function get_all_users()

{

$query = $this->db->get('users');

return $query->result();

}
public function insert_users_to_db($data)

{

return …
Run Code Online (Sandbox Code Playgroud)

php mysql database codeigniter crud

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

Captcha不在CI工作

我写了一小段代码,它应该适用于Codeigniter中的验证码.代码应该只是打印创建验证码的时间,第一次尝试.但它似乎甚至没有创建验证码本身.我确定帮助程序已加载,这是在构造函数中完成的.接下来,应该有将图像写入文件夹的正确权限.任何人都知道它为什么不能正常工作?

defined('BASEPATH') OR exit('No direct script access allowed');
class Register extends CI_Controller{

     public function __construct(){
        parent::__construct();  
        $this->load->helper('captcha');
    }

    public function generate_captcha(){
        $vals = array(
            'img_path' => './captcha/',
            'img_url' => base_url().'captcha/',
        );
        echo base_url().'assets/images/captcha/';
        $captcha = create_captcha($vals);

        echo 'cap time: ' . $captcha['time'];

        $captcha_image = $captcha['image'];
        return $captcha_image; 
    }

}
Run Code Online (Sandbox Code Playgroud)

编辑 它是否与此代码之外的任何内容有关?我已经为文件夹设置了正确的权限,因此它可以将图像写入目录.

php codeigniter

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

Codeigniter:加入不使用相同名称和ID的列

我希望能够加入两张桌子togeather.

如何过,因为我我的论坛表有column "name"和我forum_categories column "name"

我无法显示这两个名字.

在我的select()上如果我使用$this->db->select('f.name, fc.name', false);它只显示来自forum_categories的名称

array(1) { [0]=> array(1) { ["name"]=> string(17) "News & Discussion" } }

问我如何从列和表中显示两个名称.

注意:我只希望能够$result['name']在我的foreach循环中使用.

所以我希望它能成为现实

General

News & Discussion

Lounge
Run Code Online (Sandbox Code Playgroud)

我看过了

JOIN语句中的CodeIgniter ActiveRecord字段名称

codeigniter - 从具有相同列名的2个表中选择

模型

public function get_forums() {
    $this->db->select('f.name, fc.name', false);
    $this->db->from('forum as f');

    // tried $this->db->join('forum_categories as fc', 'fc.forum_id = f.forum_id');

    $this->db->join('forum_categories as fc', 'fc.forum_categories_id = f.forum_id');
    $query = $this->db->get();

    if ($query->num_rows() > 0) {
        return $query->result_array(); …
Run Code Online (Sandbox Code Playgroud)

php codeigniter

10
推荐指数
2
解决办法
4079
查看次数

标签 统计

codeigniter ×10

php ×7

ajax ×1

constructor ×1

crud ×1

database ×1

get ×1

javascript ×1

mysql ×1

pagination ×1