我使用控制器为页面做一些自定义uri路由,它目前工作得很好.
这是控制器的精简版本,它使用PHPTAL作为模板引擎.
public function index()
{
$this->tal->display('index');
}
public function view($url)
{
$this->loadView($url);
}
private function loadView($url)
{
if (file_exists(ROOTPATH . 'webroot/' . $url . '/index.html'))
{
$this->tal->display($url . '/index');
}
else
{
show_404();
}
}
Run Code Online (Sandbox Code Playgroud)
我最近注意到,每次访问页面控制器时,我的日志中都出现以下错误:
ERROR - 2013-02-06 10:58:23 --> 404 Page Not Found -->
我发现这很奇怪,因为页面按预期显示,并且肯定没有404标题,网络面板没有404状态.
我最后将其缩小到show_404()方法中调用的辅助loadView()方法.删除该行可以阻止错误完全出现在日志文件中.
只有在找不到视图文件时才应执行此§show_404()§,在这种情况下,它应该显示404错误页面.但是,无论是否调用该方法,该方法的日志记录部分似乎都是在每次调用页面控制器时执行的loadView().
我index()在浏览器中访问视图,一切似乎工作正常,加载了正确的视图文件,没有错误.但是,从该loadView()方法记录404错误消息.该loadView()方法甚至没有从该index()方法调用,但它在日志文件中的输出似乎表明它正在被执行.
我有以下代码块,预计会返回 count
$sql = "SELECT sum(count) as count
FROM multipleowners WHERE owner = ? " . $localityquery;
$queryarray = array($owner, $locality);
$query = $this->db->query($sql, $queryarray);
if ($query->num_rows() > 0)
{
$result = $query->row_array();
$count = $result['count'];
}
Run Code Online (Sandbox Code Playgroud)
但是当我尝试打印时,我得到空值$count.
我用过print_r($this->db->last_query());,得到了以下查询,
SELECT sum(count) as count FROM multipleowners WHERE owner = 'Davenports Harbour Trustee (2012) Limited' and locality = 'Auckland Central'
Run Code Online (Sandbox Code Playgroud)
当我直接执行此查询到我的时,Postgresql IDE我得到了countas 的输出2.
这个查询出错了什么地方?我怀疑的存在(与)中WHERE条款.我该如何解决 ?
更新 …
即使PyroCMS是一个很好的CMS使用,我强烈推荐任何人和每个人在情况授予时使用.
但是,我的情况需要一个自定义的CMS,它只是有很多不同之处,我正在使用我在那里看到的可以免费使用的一些库来开发我的.我目前正在使用的主要是Phil Sturgeon的模板库.
现在很明显他将它用于PyroCMS我试图匹配一个文件结构,就像他那样,以便模板系统顺利流动而没有任何问题.
我现在正陷入困境,因为我的登录表单找不到部分,我不太清楚为什么.当我的仪表板调用元数据部分时,它会将其加载得很好但是当我在登录表单中调用它时,某些东西正在其中并且没有加载它.
这是我当前的登录控制器,登录表单视图和文件结构,以确保正确设置.
if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Login extends Backend_Controller
{
public function __construct()
{
parent::__construct();
}
public function index()
{
$this->template
->set_layout(FALSE)
->build('login');
}
}
<head>
<!-- metadata needs to load before some stuff -->
<?php file_partial('metadata'); ?>
</head>
applications/
themes/
supr(my custom theme from template)/
views/
login.php
partials/
metadata.php
Run Code Online (Sandbox Code Playgroud)
任何人的想法?
我有一个表单,其中包含一个表,该表根据下拉列表中的选定选项动态填充数据.
下拉列表包含2个"启用"和"禁用"值.表中每行的第一列包含一个复选框.表结构如下.
[checkbox ]| user | status
[checkbox1]| jim | enabled
[checkbox2]| sam | disabled
Run Code Online (Sandbox Code Playgroud)
复选框值等于userid.
有一个用于更改所选用户状态的按钮.
在按钮上单击所选复选框值将使用ajax发布,并且所选用户的状态已更改,但数据仅在页面重新加载时刷新.
如何在状态更改时刷新表.这是我的剧本.
function Status(){
var checked = []
$("input[name='select[]']:checked").each(function ()
{
checked.push(parseInt($(this).val()));
});
if(checked!=''){
$.ajax({
type:'post',
url:site_url()+'/common/changeStatus',
data:{'checked':checked},
dataType:'json',
async:false,
success:function(result){
if(result!= "false"){
$.msgBox({
title:"Success",
content:"Status change successful"
});
$(function () {
$('.msgButton').click(function (event) {
event.preventDefault();
$("#table").load($(this).attr("#table"));
});
});
}
Run Code Online (Sandbox Code Playgroud)
这#table是包含数据的表的id.
使用这些类对性能或安全性问题有好处,因为我们知道HTML应该是纯HTML.
例:
在CodeigniterFramewỏrk:
echo form_input(array('name' => 'one'));
Run Code Online (Sandbox Code Playgroud)
被称为
<input type="text" name="one"/>
Run Code Online (Sandbox Code Playgroud)
哪个更好?
返回$ query-> result_array();
有时我会得到多个这样的单个数组:
Array
(
[user_id] => 32
[username] => johnd
[cat_id] => 7
)
Array
(
[user_id] => 33
[username] => Janed
[cat_id] => 6
)
Run Code Online (Sandbox Code Playgroud)
虽然有时我得到像这样的多维数组:
Array
(
[0] => Array
(
[user_id] => 33
[username] => Janed
[cat_id] => 6
)
[1] => Array
(
[user_id] => 32
[username] => Johnd
[cat_id] => 7
)
)
Run Code Online (Sandbox Code Playgroud)
是否与查询有关,是否有特定的理由?
我有一个内部网络应用程序,我的公司使用谷歌认证系统登录.它在大多数情况下运行良好,他们可以通过谷歌进行身份验证,同意我的应用程序访问基本用户详细信息,然后当它们返回到我的应用程序时,我确实可以获得他们的用户详细信息.
问题在于,我认为一旦他们同意,他们就不必每次都这样做.这是一个不正确的假设吗?就像现在一样,每次他们点击"使用谷歌登录"时,他们必须同意而不是重定向回我的应用程序.
我正在使用PHP(codeigniter)和在github上发现的非常好的Oauth lib(phil sturgeon的库的叉子).是否有一些我应该通过的参数,以便用户在第一次之后不必每次都给予同意?
在这个查询中我想更新那些最新发布的记录.但是我的这个查询不起作用请帮帮我是什么原因???
错误: - 您无法在FROM子句中指定目标表'beevers_products'以进行更新
update beevers_products set product_name='my_product_name' where posted_date in (SELECT posted_date FROM `beevers_products` order by posted_date asc limit 1)
Run Code Online (Sandbox Code Playgroud) 我使用以下代码从数据库中删除记录.但是我遇到了一个问题:当我点击确认框中的"取消"时,它会删除记录.如果我点击cancel它返回false但它如何删除记录?
怎么了?
Javascript代码:
function ConfirmDialog() {
var x=confirm("Are you sure to delete record?")
if (x) {
return true;
} else {
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
视图中的PHP代码:
<?php
echo anchor('user/deleteuser/'.$row->id, 'Delete', array('class'=>'delete', 'onclick'=>"return ConfirmDialog();"));
?>
Run Code Online (Sandbox Code Playgroud) 在杂货店中,相关表格不会进行搜索.
搜索仅发生在该表字段中.
function index() {
$crud = new grocery_CRUD();
$crud->set_theme('flexigrid');
$crud->set_table('table_name');
$crud->display_as('id','Name');
$crud->callback_column('id', array($this, 'changeName'));
$output = $crud->render();
}
Run Code Online (Sandbox Code Playgroud)
function changeName($value, $row) {
$new = $this->db->select('name')->where('another_table.id', $row->id)->get('another_table')->result();
if(!empty($new)){
return $new[0]->name;
} else {
return $value;
}
}
Run Code Online (Sandbox Code Playgroud)
这里搜索名称没有发生.
有人有解决方案吗?
提前致谢.
codeigniter ×10
php ×8
activerecord ×1
crud ×1
google-oauth ×1
grocery-crud ×1
helpers ×1
html ×1
javascript ×1
jquery ×1
login ×1
oauth-2.0 ×1
postgresql ×1