标签: codeigniter

将所有值相加,忽略减号

好的,我有一个mySQL值表.有些是积极的,有些是消极的.负面的人在桌子上面对他们.我正在使用Codeigniter.

我需要将它们全部加在一起,但是在负值之前,IGNORE.我只想总结数字,而不是将它们作为负数.

例如,这就是它目前的作用:-55 + -20 = 35

但我想要它做的是:-55 + -20 = 75

基本上我只想对值进行求和,而不管它们的正面或负面类型.

我怎样才能做到这一点?这是我的查询:

$this->db->select_sum('vat')
     ->from('accounts')->where_in('type', 'Expenses')
     ->where('date <=', $current_period)
     ->where('date >=', $previous_period);
Run Code Online (Sandbox Code Playgroud)

mysql codeigniter

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

除了文章,连词和介词之外,每个单词的首字母大写

我正在为使用Codeigniter构建的自定义CMS编写标签系统,我正在尝试强制执行特定格式.

基本上,我需要将每个单词的第一个字母大写,除了以下内容,它应该是小写的:

  • 文章:a,an,the
  • 协调连词:and,but,or,for,nor等.
  • 介词(少于五个字母):with,on,at,to,from,by等

此外,如果标签以上述之一开头,则应将其大写.

正确格式化标签的一些示例:

  • 权力的游戏
  • 我和人
  • 从头到尾
  • 指环王
  • 极品飞车

到目前为止我只有:

$tag = 'Lord of the Rings';
$tag = ucwords($tag); 

$patterns = array('/A/', '/An/', '/The/', '/And/', '/Of/', '/But/', '/Or/', '/For/', '/Nor/', '/With/', '/On/', '/At/', '/To/', '/From/', '/By/' );
$lowercase = array('a', 'an', 'the', 'and', 'of', 'but', 'or', 'for', 'nor', 'with', 'on', 'at', 'to', 'from', 'by' );

$formatted_tag = preg_replace($patterns, $lowercase, $tag);

// capitalize first letter of string
$formatted_tag = ucfirst($formatted_tag);

echo $formatted_tag;
Run Code Online (Sandbox Code Playgroud)

这会产生指环王的正确结果,但我怎样才能避免重复阵列?当我添加新单词时,将它们匹配起来很乏味.

我确定有一些词我应该被包含在内,是否有我可以使用的现有功能或类?

php tags codeigniter

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

在codeigniter中有条件地设置会话数据

我想在我的视图中设置我的会话数据但有条件,所以在我的视图的javascript部分我有

$('#demo').click(function(){
$this->session->set_userdata('sample',10);
});
Run Code Online (Sandbox Code Playgroud)

但是,每当我刷新页面,而不点击按钮,会话数据,"样本"被设置,有没有办法,我可以在我点击按钮后获得此会话数据集?

谢谢

javascript session jquery codeigniter

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

如何在codeigniter中加载phpseclib

按照标题,有没有人实现这一目标?将此库包含在codeigniter(v2.1.2)中的最佳做法是什么?

我知道可以通过像任何其他PHP应用程序一样简单地使用include/require语句来完成,但是一旦完成,这个项目将被移交给多个开发人员,我想确保使用CI开发人员想要的设计模式正确构建它.

我在测试控制器中尝试了以下内容

public function index(){

    $this->load->library('phpseclib0.3.0/Net/SFTP');

}
Run Code Online (Sandbox Code Playgroud)

不过我受到了欢迎:

不存在的类:SFTP

phpseclib取自这里.

php codeigniter phpseclib

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

php变量异常行为

我试图同时增加java脚本变量和php变量的值,所以在我的java脚本中我做:

<script>
<?php $i=1;?>
for(var i=1;i<=5;i++){
var abc = $('<input>').attr('name','demo'+i).attr('value','<?php echo set_value('demo'.$i++));
 <?php echo $i; ?>
 }
</script>
Run Code Online (Sandbox Code Playgroud)

但是,每当$ i echo`ed的值为2时,逻辑上它应该增加java脚本循环迭代次数和echo 5的次数,但不是,我做错了什么?

javascript php codeigniter

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

标题位置CodeIgniter

2场景:

header("Location: login/$username");
Run Code Online (Sandbox Code Playgroud)

给我

http://localhost/login/login/mylogin
Run Code Online (Sandbox Code Playgroud)

和

header("Location: /$username");
Run Code Online (Sandbox Code Playgroud)

给我:

http://localhost/mylogin
Run Code Online (Sandbox Code Playgroud)

两者都错了.我想要http://localhost/login/mylogin

怎么了?

redirect codeigniter

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

CodeIgniter应用程序的上下文中的"模型"是什么?

最近我开始使用Codeigniter框架来开发RESTFul移动应用程序的Web服务.

当我在网站和youtube上查看各种教程时,我发现a的概念Model在PHP应用程序上下文中的使用方式不同.

有何不同?

好吧,正如我一直认为模型类应该是这样的,

Cat.php

<?php

class Cat {

   // Class variables
   private $colour;

   public __construct() {
      $colour = 'Brown';
   }

   // Getters and Setters

   public function getColour() {
      return $this->colour;
   }

   public function setColour($newColour) {
      $this->colour = $newColour;
   }

}

?>
Run Code Online (Sandbox Code Playgroud)

但是,在通过互联网搜索好的教程时,我发现人们只是使用可以访问数据库的数据并将其返回的数据Controller.

我没有看到任何人在Model中编写普通类(如果你是Java人员,我们称之为POJO)


现在,我在阅读和观看这些教程后所要求的是,

在PHP应用程序框架的上下文中,Model类是数据库的连接器,它在查询时返回与应用程序相关的数据.用SQL语言我们称之为,

  • CRUD功能

    • 创建
    • 读
    • 更新
    • 删除

所以,如果我错了,请纠正我.

在基于Codeigniter的框架创建的Web应用程序中,MVC模式用于设计应用程序.Model类是具有将应用程序连接到数据库并返回数据的函数,并且有助于在应用程序的数据库上执行所有CRUD操作.

php model codeigniter

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

Codeigniter,密码或用户名不正确的消息(数据库验证)

问题1)如果用户名和/或密码不正确,我已经设置了注册/登录区域并验证了所有内容(包括空字段)并在显示错误消息时遇到了问题.目前,如果字段留空,我可以收到显示的错误消息,但是在提交页面时,如果用户信息正确或不正确,则会重定向到"私人页面".这是我目前的代码:

问题1(已解决):

控制器:

//This method will have the credentials validation
    public function credentials_validation() {
        $data['error'] ="Invalid Username or Password";
        $this->load->library('form_validation');
        $this->form_validation->set_rules('username', 'Username', 'trim|required|xss_clean|callback_username_check');
        $this->form_validation->set_rules('password', 'Password', 'trim|required|xss_clean|callback_password_check');

          if($this->form_validation->run() == FALSE)
           {
             //Field validation failed.  User redirected to login page
             $this->index();

             }else{
                 $this->load->model('register_model');

                if($query = $this->register_model->validate()) {
                $this->load->model('news_model');

                $data = array('news' => $this->news_model->getArticle());
                $data['title'] = 'Admin | Home';
                $data['heading'] = 'News Articles';
                $data['main_content'] = 'admin/news';
                $this->load->view('include/template', $data);

                }else {
                $this->load->view('login',$data);
                }    

            }
    }
Run Code Online (Sandbox Code Playgroud)

问题2)新闻文章页面只加载1篇文章,网址显示班级名称.

新闻控制器:

class News extends CI_Controller {

    public function …
Run Code Online (Sandbox Code Playgroud)

php validation login codeigniter

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

即使cookie被加密,CodeIgniter数据库会话是否更安全?

问题1

基本上,我要问的是:$config['sess_use_database'] = TRUE;即使是更安全$config['sess_encrypt_cookie'] = TRUE;吗?

我一直在博客,Stackoverflow帖子,甚至是声称$config['sess_use_database'] = TRUE;更安全的CI Docs上磕磕绊绊,但似乎user_data存储(在cookie或数据库中)位置从安全角度来看如果cookie无论如何都是加密的并不重要.

问题2

如果您设置$config['sess_encrypt_cookie'] = FALSE;并检查cookie,无论其值是多少,都会$config['sess_use_database']在cookie的末尾粘贴一个(似乎是md5)哈希 - 这是一个例子:

a:4{
  s:10:"session_id";
  s:32:"a2caac03fc72d709ac280540a09d8ed7";
  s:10:"ip_address";
  s:9:"127.0.0.1";
  s:10:"user_agent";
  s:100:"Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.14 Safari/537.4";
  s:13:"last_activity";
  i:1347228760;
}7aa8ebe3fc462bd86c0c0544a969cbda
Run Code Online (Sandbox Code Playgroud)

有什么意义7aa8ebe3fc462bd86c0c0544a969cbda?它从哪里来的?

php cookies session codeigniter

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

过度使用条件陈述?

我遇到了一个小问题,我只是在寻找有关最佳实践的建议.

我有一个脚本从外部网页获取一些数据.有时这些数据不完整.

例如我可能有

$array=array('name'=>'Bob Smith','address'=>array('0'=>'My address'),'phone'=>'000000');
Run Code Online (Sandbox Code Playgroud)

然后我将此数据设置为另一个数组以插入到我的数据库中.例如

$data=array('name'=>$array['name'],'address'=>$array['address']['0'],'phone'=>$array['phone']);
Run Code Online (Sandbox Code Playgroud)

但是,如果没有找到地址,则不设置$ array ['address'] ['0'],因此使用它创建第二个数组会在CodeIgniter中创建错误.虽然在正常的程序编码中没有显示错误,但我认为CI有这个错误表明解决它是一种最佳实践.

所以..我假设解决这个问题的最好方法是使用条件并检查$ array ['address'] ['0']是否在添加到$ data数组之前设置.那是对的吗?如果不是,则将null插入数据库.

嵌套问题是当我从数据库获取数据以显示它时.我想爆炸地址的行并输出它们,但如果没有再次设置,则codeigniter会抛出错误.同样,通过条件语句可以轻松避免.

我的问题主要在于处理,插入和输出数据,其中有许多变量可能会或可能不会设置,我需要看似有负载和条件语句的负载.

我认为实际上这不是问题,但我喜欢我的代码尽可能短而简洁.我错过了什么吗?

干杯

php conditional codeigniter

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