标签: codeigniter

Codeigniter,Facebook javascript SDK,PHP登录后的PHP重定向没有getUser()直到刷新

该过程如下.

1. User clicks Facebook Login button
2. User signs in and grants perms
3. Facebook redirects uses FB.Event.subscribe auth.login to redirect my login controller
4. My login controller loads the fbconnect module and chains the method Connect()
5. Connect() Checks if there is a facebook user using getUser() and if true checks if they are an existing user to log them in or returns false if no facebook user was found.
Run Code Online (Sandbox Code Playgroud)

一切正常,除了唯一的问题是在被重定向到登录页面之后Connect返回False,当它实际上应该是真的正义fbuser登录并且已经授予了perms.如果我刷新但一切正常,则用户登录(如果存在)或者如果将新内容发送到注册页面.以下是我的代码..

      <div id="fb-root"></div>
    <script>
      //initializing API
      window.fbAsyncInit = …
Run Code Online (Sandbox Code Playgroud)

php facebook codeigniter facebook-javascript-sdk facebook-php-sdk

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

如何在每个页面的地址栏中保留相同的URL?

我有一个使用Codeigniter构建的站点,其中有很多页面和目录.

假设站点名称是www.example.com(这是索引页面).如果用户进入到另一个页面,例如点击"关于"链接,我怎样才能使网站的名称不是在所有页面的地址栏的变化?

html php codeigniter

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

CodeIgniter活动记录,在 - > select()函数中添加IF语句

我有这个问题:

$this->db->select("
    IF(predicts.predict_owner = votes.vote_user_id , IF(judges.judge_did_accept = 1 , True , False) , 'NotExists' )" , 'user_judgement');
Run Code Online (Sandbox Code Playgroud)

我得到语法错误

  `'NotExists'` )
Run Code Online (Sandbox Code Playgroud)

如果我直接在数据库中运行查询,它工作正常...
有没有办法阻止CI自动添加标志?

谢谢

php activerecord codeigniter

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

PHP/CodeIgniter - 在__construct()中设置变量,但不能从其他函数访问它们

我很高兴有一个变量范围问题.也许我只需要更多咖啡......

这是我的(简化)代码 - 这是在CodeIgniter 2中:

class Agent extends CI_Controller {     

public function __construct()
{
    parent::__construct();

    $this->load->model('agent_model');

    // Get preliminary data that will be often-used in Agent functions
    $user   = $this->my_auth_library->get_user();
    $agent  = $this->agent_model->get_agent($user->id);
}

public function index()
{       
    $this->template->set('info', $this->agent_model->get_info($agent->id));

    $this->template->build('agent/welcome');
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,当我运行索引函数时,我被告知:

A PHP Error was encountered

Severity: Notice
Message: Undefined variable: agent
Filename: controllers/agent.php
Line Number: 51
Run Code Online (Sandbox Code Playgroud)

第51行是索引函数的第一行.出了什么问题?这是范围问题还是其他问题?

谢谢!

php variables scope codeigniter

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

在codeigniter中的Cron工作

我正在尝试使用CodeIgniter构建的站点执行cron作业 - 我可以访问CPanel cron功能,任何人都可以建议使用CPanel设置cron作业的最佳方法吗?

我正在使用CodIgniter所以无法确定如何在cron作业中调用控制器?

例如 http://admin.com/sites/publish/

如何使用cron作业访问站点控制器中的此发布功能?

php cron codeigniter cpanel

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

SQL连接结果成为codeigniter中的对象

好的,有点背景,

  • 刚进入codeigniter
  • 不是sql和服务器端脚本的粉丝
  • 我知道加入的是什么
  • 我第一次有一个多对多的数据库

这是因为连接通常具有以下示例作为结果.但我想解析这个,而不必构建代码来忽略重复.这是一个3表连接样本.当我加入更多表时,重复值的问题会增加:

table1.authorid    table1.authorname    table2.books     table3.favorited
       1                 john           john's book 1        jean
       1                 john           john's book 1        joe
       1                 john           john's book 2        ken
       1                 john           john's book 2        mark
       2                 mark           mark's book 1        alice
       2                 mark           mark's book 1        ted
       2                 mark           mark's book 2        sarah
       2                 mark           mark's book 2        denise
Run Code Online (Sandbox Code Playgroud)

在codeigniter(或普通PHP)中是否有一种方法可以获取此数组形式并将其转换为类似json(并像json一样解析)

$result = [
    {
        'authorid':1,
        'authorname':'john',
        'books':['john's book1','john's book2'],
        'favorited':['jean','joe','ken','mark']
    },
    {
        'authorid':2,
        'authorname':'mark',
        'books':['mark's book1','mark's book2'],
        'favorited':['alice','ted','sarah','denise']
    }
]
Run Code Online (Sandbox Code Playgroud)

更新 …

php mysql json codeigniter

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

而不是Form动作和方法

<?php echo validation_errors(); ?>

<?php echo form_open('form'); ?>
    <input type="text" name="something" />
    <input type="submit" value="submit"/>
</form>
Run Code Online (Sandbox Code Playgroud)

我发现没有"行动"和"方法"

<form action="/application/controler/somepage.php" method="POST">
</form>
Run Code Online (Sandbox Code Playgroud)

在按下提交按钮后,我想在文本框中输入值.我怎样才能像前者一样(通过POST或GET获取值)?

另外,如果我想获取URL中传递的值 http://localhost/index.php/something?value=75&today=Wed

即75和Wed,例如.

php codeigniter

6
推荐指数
3
解决办法
9333
查看次数

在数据库驱动的CodeIgniter Web应用程序中进行单元测试

CodeIgniter内置了一个Unit Testing类,我非常想使用它.然而,几乎所有的功能,我想通过添加记录,删除记录,等我将如何,例如,写了"创建用户"功能测试,而每次实际创建用户测试与数据库交互运行测试?

在一些进一步的研究,看来我需要使用外部服务Mock对象如数据库等,我一直没能找到很多的文档关于如何做的方式,除了这一个论坛主题: HTTP: //codeigniter.com/forums/viewthread/106737

有没有实际的文件?

database testing unit-testing codeigniter

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

Codeigniter中的会话如何工作

我想弄清楚会话如何在Codeigniter中工作.阅读在线手册,我看到以下内容:

如果会话数据不存在(或者它已过期),则会创建一个新会话并将其保存在cookie中.如果会话确实存在,则会更新其信息并更新cookie.每次更新时,都会重新生成session_id.

和

注意:默认情况下,会话cookie每五分钟更新一次,以减少处理器负载.如果您反复重新加载页面,您会注意到"上次活动"时间仅在自上次写入cookie后经过五分钟或更长时间后才会更新.可以通过更改system/config/config.php文件中的$ config ['sess_time_to_update']行来配置此时间.

问题:

  1. 如果加载了具有会话类的页面时存在会话,则会更新哪些信息?这是会话ID存储在cookie中,还是会话数据本身存储在数据库中?
  2. 会话cookie仅每5分钟更新一次.如果用户在5分钟内从页面A转到页面B,这需要添加新的会话数据,该怎么办?逻辑上会话数据应该更新,所以我想我错误地理解了这一行...在这种情况下,我猜测会话cookie每5分钟获得一个新的会话ID.

任何澄清都会有所帮助!

php cookies session codeigniter

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

如何配置分页codeigniter?

我试图用CodeIgniter进行分页,根据Codeigniter的手册应该这么简单,即使在这个例子中也是这样的

«首先<1 2 3 4 5>最后»

$config['total_rows'] = $this->searchdesc_model->queryallrows();
$config['per_page'] = '10';
$config['uri_segment'] =4;
$config['full_tag_open'] = '<p>';
$config['full_tag_close'] = '</p>';
$config['cur_tag_open'] = '<b>';
$config['cur_tag_close'] = '</b>';
$config['first_link'] = 'First';
$config['last_link'] = 'Last';
$config['last_tag_open'] = '<p>';
$config['last_tag_close'] = '</p>'

$this->load->library('Company_Creation');
Run Code Online (Sandbox Code Playgroud)

在视图中我只称它为pagination-> create_links(); ?>(或者当我从控制器调用它时,我通过视图发送它,但我只能得到它

1 2 3>

并且没有办法使它看起来像exmaple,可能听起来如此虚拟但是,任何人都可以帮助我吗?或者有类似的问题?

谢谢

编辑1

$config['total_rows'] = $this->searchdesc_model->queryallrows();
$config['per_page'] = '5';
$config['uri_segment'] =4;
$config['full_tag_open'] = '<p>';
$config['full_tag_close'] = '</p>';
$config['cur_tag_open'] = '<b>';
$config['cur_tag_close'] = '</b>';
$config['first_link'] = ' First';
$config['last_link'] = ' Last';
$config['last_tag_open'] = '<p>';
$config['last_tag_close'] …
Run Code Online (Sandbox Code Playgroud)

php search pagination codeigniter

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