标签: codeigniter

如何使用CodeIgniter处理表单

我是CodeIgniter的新手.我需要处理一个表格.我在视图中有一个form.html页面

<html>
  <head>
    <title>Search</title>
  </head>
  <body>
    <form action="search">
      <input type="text" name="search" value="" size="50" />
      <div>
        <input type="submit" value="Submit" />
      </div>
    </form>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

并形成控制器

class Form extends Controller {

  function Form() {
    parent::Controller();   
  }

  function index() {    
    $this->load->view('form');
  }

}
Run Code Online (Sandbox Code Playgroud)

我有一个视图文件search.php但是当它被处理它显示页面未找到...

php codeigniter

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

为什么codeigniter购物车类不允许名称中的任何特殊字符?

我在标题中有一个问题 - 为什么codeigniter购物车类不允许名称中的任何特殊字符?当我添加一些普通名称仅包含标准字符的项目时,它就像魅力一样.但是,如果我添加诸如"单词/单词"之类的东西,或者类似的东西,它将不会向购物车添加任何东西.有人可以给我提供一些提示吗?

php frameworks codeigniter

13
推荐指数
2
解决办法
9154
查看次数

MVC设计 - 在CodeIgniter MVC Web应用程序项目中可以/应该/必须拥有多少个控制器?

我正在使用CodeIgniter MVC框架在PHP中构建一个相对简单的Web应用程序.我以前开发过PHP应用程序,但从未以规范的方式开发.我已经习惯了MVC框架,但是有两个问题让我重新回到绘图板上,这会减慢开发速度.

  1. 是否有关于Web应用程序可以拥有多少个控制器的最佳实践?我有一个(相当大)的控制器用于我的应用程序,包括业务逻辑,表单提交逻辑等.虽然这有效,但我在争论是否有意义的是有单独的控制器,例如一个用于表单处理和提交,另一个用于用户管理(会话,登录,注册)等.然后,我再也不想过度工作了.我要挂起的部分是:控制器有一个"默认"索引函数,它在父URL上加载.所有业务逻辑都从这里开始(例如,表单提交,对数据执行某些操作等).我一直默认只是在开发过程中在同一控制器中创建新功能.它有效,但我的目标之一是学习最佳实践,有些东西告诉我,我可能会以错误的方式解决这个问题.

  2. 模型只应用于数据库读/写函数,还是可以在其中放置"辅助"函数,例如generate_random_number,validate_login_credentials,login_session,logout_session等.

php model-view-controller codeigniter

13
推荐指数
1
解决办法
5468
查看次数

从Codeigniter中的帮助程序访问数据库配置变量

是否有可能从Codeigniter中的助手获取database.php变量值?

php codeigniter

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

强制https:// www.对于使用mod_rewrite的htaccess中的Codeigniter

我正在使用Codeigniter并按照这些说明强制ssl,但所有请求都被重定向到

http://staging.example.com/index.php/https:/staging.example.com
Run Code Online (Sandbox Code Playgroud)

我.htaccess是:

### Canonicalize codeigniter URLs

# Enforce SSL https://www. 
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

###
# Removes access to the system folder by users.
# Additionally this will allow you to create a System.php controller,
# previously this would not have been possible.
# 'system' can be replaced if you have renamed your system folder.
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php/$1 [L]

# Checks to see if the user is attempting to …
Run Code Online (Sandbox Code Playgroud)

php .htaccess mod-rewrite codeigniter

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

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

在codeigniter中执行多个查询,这些查询无法逐个执行

我有一个"事件"表.为简单起见,您可以想象它应该像分层类别.它使用嵌套集模型(感谢Mark Hillyer在http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/上的帖子)

我的代码:

$query = 
"LOCK TABLE event WRITE;
SELECT @ParentRight := parent.rgt, @Level := parent.level FROM event AS parent WHERE parent.id = '{$data['parent_id']}';

UPDATE event SET rgt = rgt + 2 WHERE rgt > @ParentRight;
UPDATE event SET lft = lft + 2 WHERE lft > @ParentRight;

INSERT INTO event(lft, rgt, level) VALUES(@ParentRight, @ParentRight + 1, @Level);
UNLOCK TABLES;";

mysqli_multi_query($this->db->conn_id, $query);

$data['id'] = $this->db->insert_id();
return $this->db->update('event', $data);
Run Code Online (Sandbox Code Playgroud)

之后我将用更新最后插入的对象 $this->db->update('event', $data)

$data 是用户填充的数组.


问题1: …

php mysql mysqli codeigniter multi-query

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

Codeigniter子域路由

我正在尝试在CodeIgniter框架上运行的网站上设置博客脚本.我希望这样做,而不对我现有网站的代码进行任何重大代码更改.我认为创建一个指向另一个Controller的子域将是最干净的方法.

我设置新Blog控制器的步骤包括:

  1. 创建指向我服务器的IP地址的A记录.
  2. 向CodeIgniter的routes.php文件添加新规则.

这是我想出的:

switch ($_SERVER['HTTP_HOST']) {
    case 'blog.notedu.mp':
        $route['default_controller'] = "blog"; 
        $route['latest'] = "blog/latest";
        break;
    default:
        $route['default_controller'] = "main";
        break;
}
Run Code Online (Sandbox Code Playgroud)

这应该指向blog.notedu.mp和blog.notedu.mp/latest我的blog控制器.

现在问题是......

访问blog.notedu.mp或blog.notedu.mp/index.php/blog/latest工作正常,但访问blog.notedu.mp/latest由于某种原因带我到404页面...

我的.htaccess文件看起来像这样(从url中删除index.php的默认值):

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
Run Code Online (Sandbox Code Playgroud)

我的Blog控制器包含以下代码:

class Blog extends CI_Controller {

    public function _remap($method){
        echo "_remap function called.\n";
        echo "The method called was: ".$method;
    }

    public function index()
    {
        $this->load->helper('url');
        $this->load->helper('../../global/helpers/base'); …
Run Code Online (Sandbox Code Playgroud)

php .htaccess routing codeigniter custom-url

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

使用CodeIgniter上传多个图像

我是在我的项目中使用代码点火器的新用户,我在上传多个文件时面临一个问题,但最后一个只插入到所有图像三个图像字段.

我的控制器是:

function products()
    {
     date_default_timezone_set("Asia/Kolkata");
     $config['upload_path'] = './resources/images/products/';
     $config['allowed_types']        = 'gif|jpg|png';
     $config['max_size']             = 1000;
     $config['max_width']            = 1024;
     $config['max_height']           = 768;
     $this->load->library('upload', $config);
     $this->upload->do_upload('userfile');
        $data = array('prod_image' => $this->upload->data(), 
             'prod_image1' => $this->upload->data(),
              'prod_image2' => $this->upload->data());
    $product_image=$data['prod_image']['file_name']; 
    $product_image1=$data['prod_image1']['file_name'];
    $product_image2=$data['prod_image2']['file_name'];

        $data = array(
                'name' => $this->input->post('pd_name'),
                'prod_image' => $product_image,
                'prod_image1' => $product_image1,
                'prod_image2' => $product_image2,
                'created_time' => date('Y-m-d H:i:s'));

        // insert form data into database
        $result_set= $this->tbl_products_model->insertUser($data);

    }       
Run Code Online (Sandbox Code Playgroud)

我的观点部分是:

<input class="form-control" name="pd_name"type="text"/>
<input type="file"  class="file_upload2" name="userfile"/> //1
<input type="file" class="file_upload2" name="userfile"/> //2 …
Run Code Online (Sandbox Code Playgroud)

php codeigniter file-upload

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

寻找儿童部门的工作人员 - PHP

我正在使用Codeigniter + MySQL + Active Record构建一个带有组织结构图的项目.

有部门列为组织树,员工信息的人员,员工角色和员工部门,我存储匹配: 部门 - 员工 - 角色

你可以看到下面的结构:

部门 (parent_id用于构建树)

在此输入图像描述

员工 (原始员工信息)

在此输入图像描述

员工角色 (权重最低,层次最高)

在此输入图像描述

员工部门 (在哪个部门 - 谁 - 什么角色)

在此输入图像描述

在稍后阶段,工作人员可能属于具有不同角色的2个或更多部门.这就是为什么我使用单独的表Staff_departments为多对多.在这种情况下,让我们保持简单,并假设1名员工属于1个部门.

我想做什么:

  1. 一个经理(角色重量= 0 || ROLE_ID = 1)在一处,可以查看员工谁在他的工作部(员工和主管)和从是他的处儿童部门的所有工作人员(员工和主管).树的深度是未知的.
  2. 主管可以查看仅在其部门工作的员工(仅限员工).
  3. 员工只能自己查看.

对于主管和员工来说,这个过程很简单,所以我觉得我很好.对于Managers来说,我可能需要做一些递归的事情,但每次我开始编写一些代码行时我都在苦苦挣扎.

我的想法是在我的控制器中有一个函数find_related_staff($ staff_id){},我将传递登录的Staff的ID,它将返回一个包含其相关Staff的ID的数组.我唯一得到的是登录的工作人员的身份证.

如果经理返回其部门相关的经理,主管和员工的ID,以及他所在部门的儿童部门的经理,主管和员工.

如果主管仅返回其部门相关的主管和员工的ID.

如果员工退回他的身份证

有关如何实现这一点的任何想法?

php mysql recursion activerecord codeigniter

13
推荐指数
1
解决办法
369
查看次数