标签: codeigniter

如何使用CodeIgniter从另一个模块加载模型

我使用带有CodeIgniter的HMVC扩展,我有2个模块

modules/frontpage
  -- controllers
    frontpage.php ( <- this controller needs to load the person model)
  -- models
  -- views
modules/person
  -- controllers
  -- models
    person_model.php ( defines Person_Model extends Model )
  -- views
Run Code Online (Sandbox Code Playgroud)

$this->load->model('person_model')在frontpage控制器中使用似乎只加载包含在同一模块中的全局或模型(frontpage模型).

这里有CodeIgniter专家吗?

model module codeigniter

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

如何在PHP中解析HTML以进行缩小?

我正在寻找一种算法来压缩我用PHP编写的CMS的HTML输出,用CodeIgniter框架编写.

我想试图任何尖括号之间除去空白,除 <script>,<pre>以及<style>元件和简单地忽略为了简化的那些元素.我应该澄清这是连续标签之间的空白,它们之间没有文字.

我应该如何解析HTML以找到我想要删除的空格?

编辑:要开始,我想删除不在<pre>标签中的所有制表符.这可以用正则表达式完成,我敢肯定,但有哪些替代方案?

html php codeigniter html-parsing

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

使用CodeIgniter的模型或控制器中的逻辑?

我对CodeIgniter和一般的MVC理念都比较陌生,所以我想在我养成任何坏习惯之前澄清一下.

我有一个注册的应用程序.用户.目前,流程如下:

  1. 用户导航到"somewebpage/register",它会加载控制器的"register"功能
  2. 控制器检查表单是否已提交 - 如果不是,则显示表单,否则,调用"用户"模型的"注册"功能
  3. 用户模型检查以查看是否已使用用户名.如果是,则返回该错误的错误代码(定义为PHP常量).
  4. 如果尚未使用用户名,则模型将注册用户并返回TRUE.
  5. 控制器收集模型的"注册"功能返回的内容,并根据错误代码显示错误页面,成功页面或数据库故障页面.

如您所见,我尝试将尽可能多的逻辑移动到模型中.我无法重新定位的唯一逻辑是表单验证,因为CodeIgniter似乎强迫您将其放入Controller中.(除非有人知道解决方法)

这是我应该使用CodeIgniter或一般的MVC开发的方式吗?

在此先感谢您的帮助.

model-view-controller logic codeigniter

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

Codeigniter,OpenID和.htaccess

我正在尝试使用Codeigniter OpenID库,一切正常,CI的默认配置没有.htaccess.

当我index.php通过更改删除时,当我尝试验证我的openid时config.php,.htaccess我得到404 Page Not Found(http://ci.dlsb.eu/test/)

谁能告诉我哪里错了?

config.php文件

$config['index_page'] = "";
Run Code Online (Sandbox Code Playgroud)

的.htaccess

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

php openid .htaccess codeigniter

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

html_entity_decode()无法正常工作?

编辑:我在发布问题后几秒钟解决了(抱歉!)但是还不能接受答案.

嗨伙计,

只是一个快速的.我有一个PHP/CodeIgniter站点,用户可以编辑他们的个人资料.我正在使用CI的XSS过滤和基于活动记录的模型,因此数据会自动转义.

它在配置文件页面视图中自然显示正常,文本如"我们将看看它是否有效"(我们将撇号).但是,当用户转到"编辑"页面时,输入框(填充数据库中的数据)显示:

We&#39;ll see if this works
Run Code Online (Sandbox Code Playgroud)

我以为我可以通过设置输入框的值来绕过它,html_entity_decode($query->row('example_database_row'))但它仍然不起作用.我在这里误解了什么吗?

谢谢!

插口

php codeigniter html-entities

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

Codeigniter无法正确路由

我安装了Apache for Windows.我买了CodeIgniter Professional并下载了他们的源代码.它说我应该把它的.htaccess放在网站的根文件夹中,所以我做了.我将基本URL设置为http://127.0.0.1/kids/,其中kids是网站的根文件夹.它显示主页很好.当我点击链接时,它总是给出404错误.它说,"在这台服务器上找不到请求的URL /index.php/welcome/cat/2." 我在目录中尝试了几种可能的.htaccess但没有成功.在.htaccess内,它指示:

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

解释为什么它根本不起作用?我还检查了configs.php,看起来也没问题.config ['index_page']设置为空白.我删除了.htaccess文件但仍然存在同样的问题,除了它说"在此服务器上找不到请求的URL/kids/welcome/cat/2".

试图让它运转起来浪费了几个小时,我正在失去耐心.

以下是CodeIgniter Professional的说明:

"为了使CodeIgniter可以访问这些文件夹,你还需要在你的网站的根文件夹中创建一个小的.htaccess文件.这就是.htaccess文件的样子.它基本上包含所有文件和文件夹的指令可在网站上查看:

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

如果您熟悉Apache中的mod_rewrite,您会注意到此规则表面上从任何目标的URL中删除了index.php.下面当你配置CodeIgniter(特别是config.php文件)时,你会明白为什么这是一个好主意.如果你不熟悉Apache中的mod_rewrite,请不要被这个文件吓到太多.基本上,.htaccess文件提出了一些规则,其中一个规则从所有URL中删除了index.php.文件中的其他规则允许使用您需要的各种其他文件夹(例如包含CSS,JavaScript,Captcha文件和图像的文件夹)."

我按照指示做了...把htaccess文件放在根文件夹中然后,它给出了404错误.如果我从根文件夹中删除htaccess文件,它会显示主页.如果我添加htaccess文件,则会出现404错误.我移动了htaccess,它没有做任何重新路由.显然,Apache理解htaccess,否则它不会显示404错误.

php url routing codeigniter

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

codeigniter视图,添加,更新和删除

我是codeigniter的新手,还在学习.任何人都可以帮助您在基本视图中进行示例,添加,更新,删除操作以及在codeigniter中查询将非常感激.

只是一个简单的例如为新手创建地址簿.

谢谢,

最好的祝福

codeigniter addressbook

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

Codeigniter表单验证回调检查多个字段

我将此控制器设置为登录:

<?php
class Login extends Controller {

    function __construct() {
        parent::Controller();
        $this->form_validation->set_error_delimiters('', '');
        $this->output->enable_profiler(TRUE);
    }

    function index(){

        redirect('/login/terminal');

    }

    function terminal() {
    // terminal login

        $this->form_validation->set_rules(array('username','password'), 'Username', 'callback_terminal_login_check[$username,$password]');
        if ($this->form_validation->run() == FALSE) {
            $this->load->view('login_header');
            $this->load->view('login_terminal');
            $data['version'] = $this->master->GetVersion();
            $this->load->view('login_footer', $data);
        } else {
            redirect('/terminal');
        }

    }

    function terminal_login_check($username,$password) {
    // callback function to perform terminal login  

        if ($this->authentication->DoTerminalAuthentication($username,$password)) {
            echo $username;
            return TRUE;
        } else {
            $this->form_validation->set_message('terminal_login_check', 'Invalid');
            return FALSE;
        }


    }

}
Run Code Online (Sandbox Code Playgroud)

我正在看的是执行表单验证回调>>的行 $this->form_validation->set_rules(array('username','password'), 'Username', 'callback_terminal_login_check[$username,$password]');

我知道这不对.基本上我想要做的是检查Authentication-> DoTerminalAuthentication模型的用户名和密码来处理用户的登录.我想传递$username …

php codeigniter

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

Codeigniter表单验证规则 - 修剪做什么?

修剪形式验证规则实际上做了什么以及何时应该使用它?

谢谢

php codeigniter

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

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