我有这个问题:
$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自动添加标志?
谢谢
我很高兴有一个变量范围问题.也许我只需要更多咖啡......
这是我的(简化)代码 - 这是在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行是索引函数的第一行.出了什么问题?这是范围问题还是其他问题?
谢谢!
我正在尝试使用CodeIgniter构建的站点执行cron作业 - 我可以访问CPanel cron功能,任何人都可以建议使用CPanel设置cron作业的最佳方法吗?
我正在使用CodIgniter所以无法确定如何在cron作业中调用控制器?
例如 http://admin.com/sites/publish/
如何使用cron作业访问站点控制器中的此发布功能?
我使用CodeIgniter.总是我的页面的一部分是缓存,不要Ctrl+F5在浏览器中删除.当我在视图中更改名称页面时它工作.!?
如何清除CodeIgniter中的页面缓存?
我有以下JS
function change_ajaxarea1(){
navigator.notification.activityStart();
$('#ajaxarea1').load('http://server.net/droiddev/backbone1/index.php/welcome/', function(){
navigator.notification.activityStop();
$('#ajaxarea1').css("height","auto");
//$('#ajaxarea1').css("overflow","hidden");
});
//navigator.notification.activityStart();
}
function postarticle(){
$.post("http://server.net/droiddev/backbone1/", { headline: "John", article: "2pm" } );
}
function addarticle(){
var headlinetemp=$('#headline').val();
var articletemp=$('#article').val();
$.ajax({
type:'POST',
dataType:'json',
url: "http://server.net/droiddev/backbone1/index.php/welcome/addarticle/",
data: { 'headline': headlinetemp, 'article': articletemp},
success:function(){
alert('success');
},
error:function(xhr){
alert(xhr.status);
}
});
}
Run Code Online (Sandbox Code Playgroud)
和以下控制器代码:
<?php
class Welcome extends CI_Controller {
public function index()
{
$data['query']=$this->site_model->get_last_ten_articles();
$this->load->view('partial1',$data);
}
public function addarticle(){
$headline=$this->input->post('headline');
$article=$this->input->post('article');
$this->site_model->insert_entry($headline,$article);
}
}
Run Code Online (Sandbox Code Playgroud)
addarticle()javascript ajax工作并将vars发布到服务器和db,然而,javascript将运行错误函数而不是成功函数.http响应代码是200,我认为它会使它运行Success函数.有什么建议?
我已经使用CodeIgniter一段时间了,并且对MVC,PHP等有很好的了解.
但是,我发现很难坚持Fat Model Skinny Controller的精神.
我已经看过很多了; 包括要包含在每个文件中的伪代码,但没有实际的例子.(如果我错过任何明显的文章,请链接到一些文章!)
我发现很难将表单逻辑移动到模型中.例如,我正在为我的auth系统使用自定义库,它有自己的模型.我是否应该建立一个站点用户模型来登录用户?或者我应该制作一个网站模型来做到这一点?还是表格模型?
为了帮助我,任何人都可以告诉我如何皮肤化这个控制器?我意识到这是很多代码,但简单的指针会很棒.(请注意,我刚刚编写了这段代码,所以它没有经过多次重构,但它应该是我的一些方法失控的一个很好的例子.)
public function register()
{
session_start();
if ($this->tf_login->logged_in())
{
redirect('profile');
}
if ($_GET['oauth'] == 'true')
{
$type = $_GET['type'];
try
{
$token = $this->tf_login->oauth($type, '', 'email');
}
catch (TFLoginCSRFMismatchException $e)
{
$this->tf_assets->add_data('error_message', $e->getMessage());
}
catch (TFLoginOAuthErrorException $e)
{
$this->tf_assets->add_data('error_message', $e->getMessage());
}
if ($token)
{
$user_details = $this->tf_login->call('https://graph.facebook.com/me?fields=email,first_name,last_name,username&access_token=' . $token);
$user_details_decoded = json_decode($user_details);
if ($user_details_decoded->email)
{
try
{
$id = $this->tf_login->create_user($user_details_decoded->username,
md5($user_details_decoded->username . time()),
$user_details_decoded->email,
'',
TRUE,
TRUE);
}
catch (TFLoginUserExistsException $e)
{ …Run Code Online (Sandbox Code Playgroud) 我的日志文件中有以下几秒钟.我假设某些东西试图找到我的数据库或管理页面或其他东西,但我不确定.
我应该担心这个问题,如何判断我的数据库是否已被泄露?
ERROR - 2011-09-23 20:51:42 --> 404 Page Not Found --> muieblackcat
ERROR - 2011-09-23 20:51:46 --> 404 Page Not Found --> PMA
ERROR - 2011-09-23 20:51:46 --> 404 Page Not Found --> admin
ERROR - 2011-09-23 20:51:47 --> 404 Page Not Found --> dbadmin
ERROR - 2011-09-23 20:51:48 --> 404 Page Not Found --> mysql
ERROR - 2011-09-23 20:51:48 --> 404 Page Not Found --> myadmin
ERROR - 2011-09-23 20:51:48 --> 404 Page Not Found --> phpmyadmin2
ERROR …Run Code Online (Sandbox Code Playgroud) 我正在使用codeigniter-paypal-ipn并启用了csrf_protection.这似乎阻止了从Paypal到我的IPN控制器的访问.如果我禁用csrf_protection它工作正常,启用csrf_protection,paypal IPN服务会抛出500内部服务器错误.
有没有办法在不禁用csrf_protection的情况下解决这个问题?如果没有,我可以为该控制器禁用csrf_protection吗?
谢谢.
我在codeigniter中有一个注销控制器:
<?php
class Logout extends MY_Controller {
function index()
{
$this->session->sess_destroy();
redirect('index.php');
}
}
Run Code Online (Sandbox Code Playgroud)
这会让我退出,但是当我在登录后调用另一个控制器时,比如"/ site/addnewpost",这只会让我再次登录,好像之前没有销毁过sassion.为什么会这样?
我目前正在使用Form Validation类(在Codeigniter上)和设置规则.
它有两个参数(codeigniter.com/user_guide/libraries/form_validation.html):
$this->form_validation->set_rules('username', 'Username', 'callback_test[abc]');
Run Code Online (Sandbox Code Playgroud)
但是第三个参数呢?还有第四个......?可能吗?
validation codeigniter callback validationrules codeigniter-2
codeigniter ×10
php ×6
activerecord ×1
ajax ×1
caching ×1
callback ×1
cordova ×1
cpanel ×1
cron ×1
database ×1
jquery ×1
paypal ×1
paypal-ipn ×1
scope ×1
security ×1
sql ×1
validation ×1
variables ×1