标签: codeigniter

有哪些技术可以防止多次提交竞赛?

该项目

我们有一个用PHP编码的竞争,CodeIgniter.该表单已对电子邮件地址和手机号码进行验证.页面本身托管在不同域的iframe内(它是代理 - 客户关系).

问题

我们为用户提供了1000个条目.我们知道它们是假的,因为:

  1. 他们使用相同的手机号码 - 假设他们找出了通过验证的手机号码,然后每次都使用它.
  2. 电子邮件地址都在奇怪的域上,其中一些域重复多次.

但是,IP地址是唯一的,条目分布几天,域本身有MX记录,用户代理看起来很正常.

客户端不希望做任何可能导致更少条目的事情.

问题

Captcha等方法的优点和缺点是什么?您使用了哪些UI和代码模式?

我读到的一种方法是允许可疑的条目,以便接受垃圾邮件发送者条目,但是它们的数据有一个"可疑"标记,然后手动检查.我可以查看哪些数据以查看是否可疑?

php validation captcha codeigniter

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

如何使用Simple HTML Dom Parser处理页面抓取错误

与Facebook类似,我正在构建一个允许用户发布链接的应用程序.

用户在输入字段中填写链接,然后控制器返回

Title
Link
Meta description
Images (as thumbnails)
Run Code Online (Sandbox Code Playgroud)

到了视野.

这是控制器代码:

    $url = $this->input->post('posts_link');

    if (!empty($url)) {

        $html = file_get_html($url);

        foreach ($html->find('img') as $element) {

          $src = "";

          $src = $element->src;

            if (preg_match("/\.jp[e]?g$/i", $src)) {

            $images[] = $src;

            }
        }

        $data['posts_link'] = $url;
        $data['images']     = $images;
        $data['title']          = $html->find('title', 0)->plaintext;
        $data['meta']           = get_meta_tags($url);
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是没有图像,没有标题或没有描述(单独或组合).

我正在使用codeigniter,它会在视图上抛出几个错误,我宁愿压制它.

是否有最佳实践来抑制这些错误或放置空变量,以防DOM解析器没有返回标题/图像/描述?

比如我试过了

$data['images'] = $images ? $images : '';

但它并没有解决我的问题.

有什么建议?

谢谢.

php parsing dom codeigniter web-scraping

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

PHP - 基于计数通过循环创建多维数组

在为多维数组提供count和foreach的正确组合时遇到一些麻烦.

我目前正在执行以下操作来从我的db返回的结果创建一个关联数组:

$sql = "SELECT g.id, g.shortname FROM games g ORDER BY g.id ASC";
        $query = $this->db->query($sql);

        if($query->num_rows() > 0):
            foreach($query->result() as $row):
                $data[$row->id] = $row->shortname;
            endforeach;
        return $data;
        else:
            return false;
        endif;
Run Code Online (Sandbox Code Playgroud)

这当然产生以下数组(工作正常;半仿代码):

array ( [1] => CoolGame, [2] => AnotherGame, [3] => BetterGame, [4] => UglyGame)
Run Code Online (Sandbox Code Playgroud)

....等等

但我想要做的是通过多维数组自动将结果(基于计数var/limiter)分解成组,如下所示:

array (Group 1 => 
         array([1] => CoolGame [2] => AnotherGame),
       Group 2 =>  
         array([3] => BetterGame [4] => UglyGame)
)
Run Code Online (Sandbox Code Playgroud)

所以在那个例子中,我的 $depth_count = 2;

如果有人感兴趣,我这样做是为了<optgroup>通过CI的表单助手的form_multiselect()函数使用自动生成的标签进行多选.需要一些帮助来调整我的PHP来实现这一点.谢谢!

php mysql codeigniter multidimensional-array

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

端口Codeigniter应用程序到PyroCMS

我正在使用Codeigniter中的Web应用程序.我想将我的应用程序的功能与CMS集成,以便站点管理员可以轻松更新站点(关于页面,博客等).这可以通过PyroCMS或其他基于Codeigniter的CMS轻松完成吗?我是否需要彻底重组我现有的应用程序?

php codeigniter content-management-system pyrocms

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

带有codeigniter的活动菜单选项卡

在Codeigniter中可以使用哪种方法来实现活动菜单选项卡?

例如,我有一个用户菜单 Profile Friends Messages Logout

当我在配置文件控制器中时,URL是domain.com/profile/some_function该Profile选项卡应该是活动的,例如通过更改背景颜色.

我通常会在选项卡中添加php来检查相应的URL段,我会更改活动选项卡的样式.在Codeigniter中我应该实现帮助吗?我可以在标签中轻松使用哪些功能?

css php codeigniter

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

'字段列表'中的未知列'value2'

我在我的Codeigniter模型中收到一个错误,它在MySQL表中插入一行.以下是错误的描述

A Database Error Occurred

Error Number: 1054

Unknown column 'value2' in 'field list'

INSERT INTO `tablename` (`column1`, `column2`) VALUES (value1, value2)

Filename: path\to\DB_driver.php

Line Number: 330
Run Code Online (Sandbox Code Playgroud)

这两列都是varchar列.有谁知道这个错误?

错误消息是逐字复制粘贴的.我的Controller代码如下:

$deviceID=$xmlString->deviceID;
$appType=$xmlString->appType;
$data = array( 'deviceIdentifier' => $deviceID, 'installType'=>$appType );
$this->device_model->insert_new_device($data);
Run Code Online (Sandbox Code Playgroud)

我的型号代码如下

class device_model extends CI_Model {
    function insert_new_device($lData) { 
        $this->db->insert('devices', $lData);
        return $this->db->insert_id();
    } 
}
Run Code Online (Sandbox Code Playgroud)

activerecord codeigniter insert

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

无法在codeigniter中获取帖子表单提交值

我尝试了一个简单的表单提交但是我无法在控制器上使用$this->input->post以及$_POST[]方法获取表单值.我的观点是

<html>
<head>
    <title> Feedback page</title>       
</head>
<body>

    <?php echo form_open('feedback/save'); ?>       
    <p>
        <label>name: </label>
        <?php echo form_input('name'); ?>

    </p>
    <p>
    <label>Email: </label>
        <?php echo form_input('email'); ?>
    </p>
    <p>
    <label>Feedback: </label>
        <?php echo form_textarea('feedback'); ?>
    </p>
    <p>
        <?php echo form_submit('submit','Submit'); ?>
    </p>

    <?php echo form_close(); ?>

</body> 

</html>
Run Code Online (Sandbox Code Playgroud)

和控制器部分是

<?php
class Feedback extends CI_Controller {

function __construct() {
    parent::__construct();      
    $this->load->model("MFeedback");

}
function index() {

    $this->load->view('home/feedback_view.php');
    //print "loaded";


}

function save() {
    print "called";     
    print_r($this->input); 
    $name = …
Run Code Online (Sandbox Code Playgroud)

codeigniter

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

Codeigniter会话大小限制

通过时将会话存储在数据库中

$config['sess_use_database']    = TRUE;
Run Code Online (Sandbox Code Playgroud)

数据的大小是否限制为user_data字段的大小,即TEXT ...?不像普通的cookie那样4kb.

php mysql cookies session codeigniter

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

用Jenkins或Phing重启apache

我目前正在使用Phing和Jenkins来自动化我的CodeIgniter应用程序的构建和部署.我遇到的一个问题是重启apache服务.我试过Phing但是没有足够的权限.重启的最佳方法是什么?

编辑:

将jenkins添加到sudoer文件并执行服务httpd restart后,Jenkins抛出:处理泄露的文件描述符.下面是Jenkins的Phing输出片段.它说一个解决方法是安装daemonize.不确定那是什么意思...

...Build_test > compress:

     [echo] YUI Compression started
     [echo] Replacing normal JS with compressed files.
     [echo] Replacing normal CSS with compressed files.
     [echo] chmoding assets
     [echo] YUI Compression ended

Build_test > pdepend:


Build_test > httpd_restart:

     [echo] Stopping httpd: [  OK  ]
     [echo] Starting httpd: [  OK  ]


BUILD FINISHED

Total time: 13.1424 seconds

Process leaked file descriptors. See http://wiki.jenkins-ci.org/display/JENKINS/Spawning+processes+from+build for more information
[JDepend] JDepend plugin is ready
[JDepend] Found 68 classes in 1 packages
Finished: SUCCESS
Run Code Online (Sandbox Code Playgroud)

apache phing continuous-integration hudson codeigniter

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

如何在php(或codeigniter)中区分ajax调用和浏览器请求?

有没有办法区分ajax调用和PHP中的普通浏览器请求(或codeigniter是具体的)?

这是我的jquery ajax调用:

$(document).ready(function() {
    $('#container').load('http://localhost/index.php/customer/'); 
});
Run Code Online (Sandbox Code Playgroud)

这是codeigniter中客户控制器的索引方法:

public function index() {
    //if (call == 'ajax request') 
    //  do this if it's an ajax request;
    //else
    //  do that if user directly type the link in the address bar;
    $this->load->view('customer/listview');
}
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激.谢谢.

php ajax jquery codeigniter

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