标签: codeigniter

简单的codeigniter重构问题 - 最佳实践

我有一个关于重构PHP代码的快速问题.以下是三个功能.前两个看起来非常相似,只有一个if语句不同.第三个通过使用标志结合前两个.这是最好的做法吗?这里似乎可以使用一个标志,但如果我们将来需要添加更多标志呢?什么是最佳做法?

谢谢.

function check_contact_email($email) 
{ 
  $this->db->select('COUNT(login) AS count'); 
  $this->db->from('users'); 
  $this->db->where('email', $email); 
  $query = $this->db->get(); 
  $row = $query->row(); 
  return ($row->count > 0); 
} 

function check_contact_email_id($email) 
{ 
  $this->db->select('COUNT(login) AS count'); 
  $this->db->from('users'); 
  $this->db->where('email', $email); 
  $this->db->where('user_id !=', $_POST['user_id']); 
  $query = $this->db->get(); 
  $row = $query->row(); 
  return ($row->count > 0); 
} 

function check_contact_email($email, $id = FALSE) 
{ 
  $this->db->select('COUNT(login) AS count'); 
  $this->db->from('users'); 
  $this->db->where('email', $email); 
  if ($id) $this->db->where('user_id !=', $_POST['user_id']); 
  $query = $this->db->get(); 
  $row = $query->row(); 
  return ($row->count > 0);  
}
Run Code Online (Sandbox Code Playgroud)

refactoring codeigniter

0
推荐指数
1
解决办法
751
查看次数

Codeigniter是否适用于jQuery?

我已经使用ASP.NET一段时间了,但决定是时候学习PHP框架了.

看一篇文章NetTuts +看起来CodeIgniter是最简单的,也是最轻松,最简单的方法之一.

然而,我是一个巨大的jQuery粉丝,我想知道jQuery是否与框架很好地集成?有经验吗?

php jquery frameworks codeigniter

0
推荐指数
1
解决办法
313
查看次数

CodeIgniter - 如何在使用set_radio和set_checkbox时为单选按钮/复选框设置默认值以取消选中?

我想我在这里错过了一些简单的东西,但我无法理解我的生活.

如果验证失败,我正在使用set_radio()和set_checkbox()方法返回它们的值,就像这样

<input type="radio" name="gender" value="male" <? if(!isset($thankyou)) { echo set_radio('gender', 'male'); } ?>/>;Male
<br />
<input type="radio" name="gender" value="female" <? if(!isset($thankyou)) { echo set_radio('gender', 'female'); } ?>/>;Female
Run Code Online (Sandbox Code Playgroud)

我在其他地方还有另一组复选框,它们更大.一切正常,但默认情况下,选中第二个单选按钮,对于复选框,默认情况下会检查所有这些按钮.

如果我没有set_radio/set_checkbox,默认情况下不会检查它们,这就是我想要的.

将第3个参数添加到set_radio()即.set_radio('gender','male',false)也没有显示任何差异.

有人可以对此有所了解吗?

非常感谢你!

forms checkbox codeigniter input radio-button

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

Codeigniter饼干

我希望有人,可以提供有关Cookies和Codeigniter的一些信息,我已经阅读了这些用户指南,所以我对如何设置它们有了解,等等.我想知道的是我如何使用,例如,如果你看在BBC网站上,您可以拖放框,它会记住您放置它们的位置,而无需您注册或登录等,因此我认为它存储在cookie中.

在我的网站上,我有一个菜单系统,允许用户选择"他们的"页面上的功能,现在我不希望他们必须注册或登录,所以我想我可以以某种方式存储他们的内容在cookie中要求?这可能吗?目前,他们单击一个链接,并使用URL中的ID和数据库中的ID匹配从数据库中提取相关内容.我只保存所请求的每个ID吗?如果是这样怎么样?

谢谢

php cookies codeigniter

0
推荐指数
1
解决办法
3405
查看次数

在服务器端配置PHP框架

使用PHP框架(CodeIgniter,Zend)是否需要特殊的服务器端设置?如果是的话,是否有一个不需要的PHP框架?

目的是使用仅支持普通PHP的托管服务器(没有安装框架 - 如果有意义的话),并且仅在开发机器上使用所提到的框架,然后将其预处理("编译")到普通PHP中.

[编辑]

对你们所有人:抱歉新手问题,我想我弄错了.到目前为止,我只在.NET中工作过,而且我还没有在PHP中从头开始做任何事情.对于我应该做的这个小项目,我想学习并使用CodeIgniter,因为它看起来像一个轻量级MVC框架,我可以快速获得结果.

在开始之前,我想咨询托管服务提供商(我的客户已经购买了一年的托管服务),他们表示他们只支持Zend.那么,我猜那是胡说八道呢?

[编辑2]

为了使我的问题完整,以下是他们的托管包提供的内容:

  • PHP 5或PHP 4
  • Perl的
  • CGI
  • 蟒蛇
  • Tomcat/JSP Tomcat 5.5.9/Servlet 2.4/JSP 2.0
  • FrontPage扩展
  • Ruby On Rails
  • PHP/Zend优化器
  • PHP/IonCube
  • 思迪
  • DB:MySQL Server 5,PostgreSQL Server 8

确切地说,我的问题是(因为我毕竟是新手):

问:你支持哪些PHP框架(Zend,CodeIgniter ......)?
答:我们支持Zend,但不支持CodeIgniter

现在我知道问题本身有点愚蠢,所以我可能会再次与他们联系.

php zend-framework codeigniter

0
推荐指数
1
解决办法
725
查看次数

CodeIgniter:对整个$ _POST数组使用get_post和XSS过滤

有没有比这更简单的方法

foreach($_POST as $x=>$y){
  $arr[$x] = $this->input->get_post($y, TRUE);
}
Run Code Online (Sandbox Code Playgroud)

用CI的XSS过滤器清理整个$ _POST数组.看看输入库似乎get_post()只接受一个单独的变量,而不是能够清理整个数组然后返回数组.

php xss codeigniter

0
推荐指数
1
解决办法
3474
查看次数

CodeIgniter路由问题.(将ajax路由附加到现有URL)

我正在尝试在视图中执行AJAX请求,用户提供了一些使用AJAX发送到服务器的输入,并且它应该去的功能是使用CodeIgniters路由进行路由的.

这是我在提出请求时目前所持的观点.

http://localhost:8888/companies/list
Run Code Online (Sandbox Code Playgroud)

在我的路由配置中,我在下面设置了这条路线来处理AJAX请求,该请求应该能够来自任何视图,并且仍然可以转到我指定的路由.

$route['test_ajax'] = "ajax/test_ajax";
Run Code Online (Sandbox Code Playgroud)

所以请求应该转到"ajax"控制器并使用函数"test_ajax",这应该使POST-url看起来像这样.

POST http://localhost:8888/test_ajax
Run Code Online (Sandbox Code Playgroud)

但我得到的是我正站在的当前URL,并且我已经指定的路由附加到URL完全崩溃我的响应来自AJAX请求,因为它甚至没有接近它应该的功能.我得到的POST-url看起来像这样.

POST http://localhost:8888/companies/test_ajax
Run Code Online (Sandbox Code Playgroud)

注意如何删除/ companies的参数.参数/ list在某个地方丢失了,虽然如果我在列表后面添加一个尾部斜杠,我也会在URL中获得list参数.

所以刚刚发生的事情是POST试图转向公司控制器并寻找功能test_ajax,它在ajax-controller中定义,而不是在公司控制器中定义.无论我在哪个URL,都会出现此错误,并且它始终遵循相同的模式.它会一直将我的route-URL附加到现有URL,而不是正确路由.

那么什么可能导致路由以这种方式运行,是否存在任何意外启用或任何设置的设置?因为我知道我在以前的项目中已经有数百次这样的工作.

提前致谢.

ajax routing codeigniter

0
推荐指数
1
解决办法
4164
查看次数

CodeIgniter错误 - 未定义属性:CI_Input :: $ post

我是CodeIgniter的新手,我正在尝试使用下面的条件来确定表单是否已提交,然后显示某个视图(如果有).由于某种原因,我在标题中出现了错误,并且已经将问题排除了一半以上.有谁知道如何解决这个问题?谢谢!

if($this->input->post->lastName){

    // load view if form was submitted

} else {

    // load other view

}
Run Code Online (Sandbox Code Playgroud)

php codeigniter

0
推荐指数
1
解决办法
4660
查看次数

限制在CodeIgniter中直接访问您的视图文件?

我是CodeIgniter的新手,我想知道限制直接访问您的视图文件是否被视为一种好习惯?显然,它们将包含许多依赖变量的php代码,以及未从控制器传递给它们的内容,因此,如果直接访问php代码,则很容易出错,不是吗?

额外的问题:为什么助手文件夹,库文件夹,钩子文件夹等在应用程序文件夹中为空?

谢谢你的时间。

php codeigniter

0
推荐指数
1
解决办法
8145
查看次数

如果/ else不能正常工作

我有一个验证函数,我在codeigniter中使用.

function valid_image() {
    if ( ($_FILES["file"]["type"] != "image/jpeg") || ($_FILES["file"]["type"] != "image/gif")  ) {
    $this->form_validation->set_message('valid_image', 'Wrong file type..');

    return false;
} else {
    return true;
}
Run Code Online (Sandbox Code Playgroud)

只有if语句中的"image/jpeg"部分就能正常工作.如果我尝试上传除jpg文件以外的任何内容,则会失败.如果我运行上面的代码,它会失败并同时使用jpg或gif文件.

在有人说"为什么不使用上传课程"之前,我做不到.我将我的照片直接保存到MongoDB中,因此上传类没有多大帮助.

php codeigniter

0
推荐指数
1
解决办法
237
查看次数