我正在使用PHP的CodeIgniter框架.我创建了一个名为"login.php"的视图.有一次,我
创建了视图,然后我将视图加载到名为"index"的函数中
在一个名为"CCI"的类中,它扩展了Controller,但我一直收到这个错误:致命
错误:在C:\ wamp\www\FinalP_CCI_Clone\system中调用未定义的函数site_url()
第12行的\ application\views\login.php.我不明白我的问题因为
欢迎页面加载正常,我在"CCI"类中的第二个函数加载也很好.
以下是一些代码:
控制器文件:
function CCI()
{
parent::Controller();
}
function index()
{
$this->load->view('login');
}
function test()
{
echo "Testing Data";
}
Run Code Online (Sandbox Code Playgroud)
}
/*文件结尾login.php //位置:./ system / application / controllers / cci.php*/
class Welcome extends Controller {
function Welcome()
{
parent::Controller();
}
function index()
{
$this->load->view('welcome_message');
}
function test()
{
echo "Testing Data";
}
Run Code Online (Sandbox Code Playgroud)
}
/*文件结束welcome.php //位置:./ system/application / controllers / welcome.php*/
我有一个codeigniter应用程序在WAMP本地工作正常.但是,我无法让它在IIS服务器上工作.请注意,我不想启用查询字符串.
这是我目前在web.config文件中的内容:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Clean URL" stopProcessing="true">
<match url="^(.*)$" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="index.php/{R:1}" appendQueryString="false" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Run Code Online (Sandbox Code Playgroud)
这会导致主页面正确加载:www.website.com/policies
但是,当我点击某个项目时,请访问:www.website.com/policies/policy/view/31
不显示正确的页面.主页面继续显示.
控制器是Policy,函数是view().Codeigniter文件位于服务器上的策略/文件夹中.
我认为问题可能出在我的web.config文件中.Config文件的$ config ['base_url']是动态计算的,是正确的.Config文件的$ config ['index_page']为空白.您认为导致此问题的是什么?
感谢大家的帮助.
如何在Codeigniter的活动记录SQL查询中使用圆括号符号?例如,如何完成
SELECT * FROM `shops` WHERE (`shopid` = '10' OR `shopid` = '11') AND `shopid` <> '18'
Run Code Online (Sandbox Code Playgroud) 我查看了Codeigniter index.php在访问不同视图时从URL 中删除的文档,代码显示了如何使用apache删除它:
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
Run Code Online (Sandbox Code Playgroud)
但是,当我去的时候http://localhost/code/home,我得到了这个:
在此服务器上找不到请求的URL /代码/ home.
但访问http://localhost/code/index.php/home工作很好,为什么它不适合我?
我在Mac OS X Snow Leopard上使用Sites目录:/Users/~myusername~/Sites/code,我没有使用任何软件,即MAMP,XAMPP.
编辑
对于sudo /usr/sbin/apachectl -k restart -S命令,我得到这个:
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80 is a NameVirtualHost
default server code.local (/private/etc/apache2/httpd.conf:146)
port 80 namevhost code.local (/private/etc/apache2/httpd.conf:146)
Syntax OK
Run Code Online (Sandbox Code Playgroud) 我将这个名为'My_Form_validation.php'的类文件放入'application/core'中,我也尝试将它放在'application/libraries'中.
在我的控制器中,我正在使用
$this->form_validation->set_rules('user_postcode', 'Postcode', 'valid_postcode|trim|required|xss_clean');
Run Code Online (Sandbox Code Playgroud)
这在My_Form_validation.php中是什么 - 这里的实际逻辑没有问题,因为我有几个选项来实际验证邮政编码.我需要帮助的是理解为什么它没有加载或被调用!
我的CI版本是define('CI_VERSION','2.0.2');
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Form validation for UK Postcodes
*
* Check that its a valid postcode
* @author James Mills <james@koodoocreative.co.uk>
* @version 1.0
* @package FriendsSavingMoney
*/
class MY_Form_validation extends CI_Form_validation
{
function __construct()
{
parent::__construct();
log_message('debug', '*** Hello from MY_Form_validation ***');
}
function valid_postcode($postcode)
{
/**
*
* UK Postcode validation expression from Wikipedia
* http://en.wikipedia.org/wiki/Postcodes_in_the_United_Kingdom
*
* Note: Remember …Run Code Online (Sandbox Code Playgroud) 我想用CodeIgniter测试我的控制器/模型.如何使用CodeIgniter完成此操作?
这就是我想要做的.这是控制器中的功能
public function get_started()
{
if(test_login($this->session->all_userdata())) {
$this->load->view('template');
} else {
$this->load->view('error');
}
}
Run Code Online (Sandbox Code Playgroud)
这是帮手
function test_login($sessdata)
{
if($sessdata->userdata('is_logged_in')) {
return true;
} else {
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
我输入is_logged_in了一个布尔会话变量.但是,这不起作用.
我找不到错误.
哪个更好又有效?一个大的查询然后只是处理php中的获取查询或从php函数将只创建一个查询小数据的循环函数.请注意表格可以很大(数千个原始).谢谢.
评论表
id | parent | msg
---+--------+---------
1 | 0 | hello
2 | 1 | hi
3 | 2 | whats up
4 | 3 | yow
5 | 1 | hellow
6 | 2 | nice
7 | 0 | great
Run Code Online (Sandbox Code Playgroud)
预期产量是这样的:
Array
(
[0] => Array
(
[id] => 1
[parent] => 0
[value] => hello
[child] => Array
(
[0] => Array
(
[id] => 2
[parent] => 1
[value] => hi
[child] => Array …Run Code Online (Sandbox Code Playgroud) 我有一个用Codeigniter制作的网站,在Ubuntu上使用Nginx和PHP-FPM运行.它工作正常,直到昨晚,当它开始加载页面真的很慢,有时给504,其他时间快速加载页面.
如果我重新启动nginx或php-fpm,该网站工作正常20-30秒,然后问题再次发生.
这是nginx错误日志所说的:
[错误] 25226#25226:*65上游超时(110:连接超时)从上游读取响应头,客户端:XXXX,服务器:www.mydomain.ext,请求:"GET/HTTP/1.1",上游: "fastcgi:// unix:/var/run/php/php5.6-fpm.sock:",主持人:"www.mydomain.ext"
在过去的几个小时里,我一直在谷歌搜索和玩nginx和php-fpm配置,但我无法解决它.
有谁知道如何帮助我?
codeigniter ×10
php ×5
activerecord ×1
apache ×1
arrays ×1
controller ×1
forms ×1
function ×1
hierarchy ×1
iis ×1
macos ×1
methods ×1
mysql ×1
nginx ×1
phpunit ×1
unit-testing ×1
validation ×1
view ×1
web-config ×1