小编tro*_*ytc的帖子

CodeIgniter身份验证系统,允许第三方身份验证?

我的问题很简单.是否有CodeIgniter系统允许本地和第三方登录?(如FB/Twitter/Google等)

我已经尝试过A3M,但它很难使用,需要修补才能开箱即用,就像过时的软件一样.

我目前的解决方案是flexi auth,但它根本不提供第三方登录,并且在向开发人员发送电子邮件之后,看起来他似乎不打算很快集成它.

那么有谁知道一个最新的好系统并提供第三方和本地登录?

如果没有,那么其他PHP框架确实有这样的包吗?

编辑清晰度:我正在寻找一个可以完成这两件事的系统.虽然我很欣赏我可以整合自己的系统的答案和评论,但最终的结果将是不稳定的.以前必须有人这样做,所有人都集成到一个软件包中,因此它可以协同工作.

php authentication codeigniter

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

插入具有多个外键的Laravel模型

这是我的情况:用户可以评论视频.评论属于视频和用户.我的模型看起来像这样:

class Comment extends Eloquent {
    public function video()
    {
        return $this->belongsTo('Video');
    }

    public function user()
    {
        return $this->belongsTo('User');
    }
}

class User extends Eloquent {
    public function comments()
    {
        return $this->hasMany('Comment');
    }
}

class Video extends Eloquent {
    public function comments()
    {
        return $this->hasMany('Comment');
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试插入评论:

$comment = new Comment;
$comment->content = 'content';
Auth::user()->comments()->save($comment);
Run Code Online (Sandbox Code Playgroud)

这会Integrity constraint violation从SQL 引发错误,因为它只更新一个外键.以相反的方式(保存到视频)产生相同的结果.如何一次将它添加到两个模型,更新两个外键?

php laravel eloquent

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

无法在meteor.JS函数中读取未定义的属性'profile'?

我有以下代码:

Template.analyze.userFullName = function() {
    var u = Meteor.users.findOne({_id: this.userId}, {fields: {name: 1}});
    return u.profile.name;
};
Run Code Online (Sandbox Code Playgroud)

Meteor.users.findOne({_id: this.userId}, {fields: {name: 1}}) 在控制台中使用时返回以下内容:

Object
    _id: "79ef0e67-6611-4747-b669-45cc163cc1d8"
    profile: Object
        name: "My Name"
Run Code Online (Sandbox Code Playgroud)

但是当我在上面的代码中使用它时,我得到了这个: Uncaught TypeError: Cannot read property 'profile' of undefined

为什么会这样?我想要做的就是在他们的个人资料中检索用户的全名并将其传递给模板部分.

javascript meteor

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

CodeIgniter 上传进度

我正在尝试使用 CI 2.1.3 使用进度条上传文件。我已经让文件上传工作正常,但是获得这个文件进度并不容易。我已经查看了大量具有不同解决方案的指南,但它们似乎都不起作用,因为大多数都已经过时了(2008 年左右)。

这是我要找的:

  • PHP/jQuery/AJAX/Javascript 解决方案(请不要使用 Flash!)
  • 跨浏览器(IE 不是问题,所以如果它在 IE8 或更低版本中不起作用,那很好)
  • CodeIgniter 上传库兼容

就是这样。我的代码供参考:

PHP:

public function do_upload()
{
    // Configure and load the uploads library
    $config['upload_path']   = './uploads/';
    $config['allowed_types'] = 'mp4|mov';
    $config['encrypt_name']  = TRUE;
    $config['max_size']      = '2621440'; // 2.5 GB, in kilobytes

    $this->load->library('upload', $config);

    if (!$this->upload->do_upload('userfile'))
    {
        $this->session->set_flashdata('error', $this->upload->display_errors('', ''));

        redirect('upload');
    }
    else
    {
        $this->session->set_flashdata('upload_data', $this->upload->data());

        $upload_data = $this->upload->data();
        $uploader = $this->flexi_auth->get_user_by_id()->row_array()['uacc_username'];

        $this->load->model('upload_model');
        $this->session->set_flashdata('uaid', $this->upload_model->generate_uaid($upload_data['raw_name']));
        $this->upload_model->create_upload($upload_data['file_name'], $upload_data['raw_name'], $upload_data['client_name'], $upload_data['file_size'], $upload_data['file_path'], $uploader);

        redirect('upload');
    }
}
Run Code Online (Sandbox Code Playgroud)

HTML:

<div class="progress …
Run Code Online (Sandbox Code Playgroud)

codeigniter file-upload progress-bar

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