我正在尝试使用elliothaughins Socialize系统进行代码点火,
但是我不断
消息:include(application / third_party / config / socializenetworks.php):打开流失败:没有这样的文件或目录
我已经追踪了这个问题,并在致电时
$this->load->add_package_path(APPPATH.'third_party/socialize/');
在加载程序类中,die($path)我只能得到application/third_party。
虽然看起来很奇怪,但是控制器的代码是
class SocializeController extends CI_Controller {
function __construct(){
parent::__construct();
parse_str($_SERVER['QUERY_STRING'], $_GET);
$this->load->add_package_path(APPPATH.'third_party/socialize/');
$this->_autoload();
}
private function _autoload(){
$this->load->model('socialize_migration_model');
$autoload = array();
include(APPPATH.'third_party/socialize/config/autoload'.EXT);
foreach ( $autoload as $type => $files ) {
$type = ($type == 'libraries') ? 'library' : $type;
foreach ( $files as $file ){
$this->load->$type($file);
}
}
}
public function data($key, $value)
{
$this->load->vars(array($key => $value));
}
}
Run Code Online (Sandbox Code Playgroud)
如您所见,它正在调用一个模型,并成功加载了模型,即当它到达自动加载器时,在该加载器中它损坏的地方加载了库, …
CodeIgniter是加速开发的好工具.是否有与ASP.NET相同的CodeIgniter?我是ASP.NET 4和C#的新手
我目前正在使用jquery从codeigniter后端/ mySQL数据库通过ajax获取JSON数据,这很好.我遇到的问题是,与返回到jquery函数的数据一起,我还需要为另一个表中的某些数据运行PHP循环.目前我正在做的是等待第一个函数的ajax成功,然后对第二个函数进行另一个ajax调用 - 但我知道有一种方法可以用一个函数来完成它,我只是不确定如何.以下是两个数据库查询:
function get_selected_member($member = null){
if($member != NULL){
$this->db->where('id', $member); //conditions
}
$query = $this->db->get('members'); //db name
if($query->result()){
$member_result = $query->row();
return $member_result;
}
}
Run Code Online (Sandbox Code Playgroud)
和
function get_all_groups(){
$query = $this->db->get('groups');
$result = $query->result();
return $result;
}
Run Code Online (Sandbox Code Playgroud)
然后在javascript函数中,我正在做的是说:
var post_url = "/index.php/control_form/get_selected_member/" + selected_member_id;
$('#chosen_member').empty();
$.ajax({
type: "POST",
url: post_url,
success: function(member)
{
//Add all the member data and...
var post_url2 = "/index.php/control_form/get_all_groups/";
$.ajax({
type: "POST",
url: post_url2,
success: function(group)
{
//Create a dropdown of all the …Run Code Online (Sandbox Code Playgroud) 我已经读过CI如何处理会话与本地会话不同,并且对将所有数据存储在cookie(?)中感到有些不安全,这与PHP的本地会话不同,后者只存储会话ID(?).所以我决定使用没有CI native_session库的原生会话.
现在,我知道CI中的输入类使用如下的true/false语句验证Isset:
if ($this->input->post('something'))
Run Code Online (Sandbox Code Playgroud)
这使得Isset函数无法工作(它给出了一个错误).但是,我想用Isset函数检查我的本机会话,那么我该怎么做呢?我试过了
if (isset($_SESSION['keyHere']))
这给了我一个错误.
总结一下:我想在我的会话数组上使用Isset,因为我觉得使用它
if ($_SESSION['keyHere'])
没有Isset可能是'危险/愚蠢'.
另外,作为最后一个问题,我很好奇你认为最安全的会话处理?CI的Session Class或PHP的本机处理与服务器端存储等?我非常希望在会话方面尽可能安全,无论是否意味着我必须编写更长的代码.
脚手架功能routes.php ($route['scaffolding_trigger'] = '';)在以前的版本中,但它现在不在2.02中的路由中所以请告诉我如何在2.0.2版本的codeigniter中使用脚手架功能
我有一个类似这样的查询:
SELECT username
FROM users
WHERE locationid IN
(SELECT locationid FROM locations WHERE countryid='$')
Run Code Online (Sandbox Code Playgroud)
$是我从最终用户获得的值.
我怎么能在CodeIgniter中运行此查询?我在CodeIgnite的用户指南中找不到解决方案.
非常感谢你的回答!
问候!
我一直在使用PHP 5.3,CodeIgniter 2.0和HMVC Modular Extensions在MacOS X Snow Leopard上进行本地开发.一切都很好.
突然间,我无法确定,我偶尔会在尝试调出页面时遇到此错误:
无法选择指定的数据库:app文件名:/ Library/WebServer/Files/www/development/appdb/third/party/MX/Loader.php行号:96
错误不会发生在任何特定的地方,它似乎只出现每5-10页加载左右.刷新后通常会消失,但有时我可能需要刷新几次.
有没有人遇到此错误?它只是我Mac上mySQL中的一些瑕疵吗?(我也尝试导出当前数据库并以不同的名称重新导入它并分配新数据库,但问题仍然存在.我不知道在Mac上测试和"修复"MySQL数据库的方法.)
在此先感谢您的帮助!
加里
Codeigniter v2.x有任何AJAX库吗?似乎Codeigniter错过了一个非常有用的库!
我只找到旧版CI的AJAX/jquery库.
编辑:我想我已经解决了一些问题.- 这个角色 - ’似乎打破了它.如果我使用'常规'撇号(')它似乎工作正常,如果我用常规撇号替换其中的每个时髦撇号,它提交就好了.那么,下一个问题:为什么那个花哨的撇号打破了CodeIgniter或PHP?我会认为这是一个CI错误,但如果我错了,请纠正我.无论如何,这是我最初发布的问题,我仍然会理解为什么会发生这种情况以及我能做些什么呢?
我把头发撕成了这个.这完全是奇怪的,我根本无法解决这个问题.
首先,我有一个基本形式:
<?php $attributes = array('class' => 'form1'); $selected="";
echo form_open('admin/edit_page/'.$page->row('id'), $attributes); ?>
<div>
<?php echo form_error('title'); ?>
<label>Page Title:</label><input type="text" maxlength="100" name="title" value="<?php echo $page->row('title');?>" />
</div>
<div class="textarea">
<?php echo form_error('content'); ?>
<label>Page Content:</label><textarea name="content"><?php echo $page->row('content');?></textarea>
</div>
<div class="no">
<input type="submit" value="Submit"/>
</div>
</form>
Run Code Online (Sandbox Code Playgroud)
接下来,我有相应的CI功能:
function edit_page($id)
{
$this->form_validation->set_rules('title', 'Title', 'trim|required|max_length[50]');
$this->form_validation->set_rules('content', 'Content', 'trim|required');
// If validation has failed...
if ($this->form_validation->run() == FALSE)
{
$data['page'] = $this->gallery_model->get_page($id); …Run Code Online (Sandbox Code Playgroud) 这是我的控制器代码来配置规则:
// Previous address(es)
$this->form_validation->set_rules('prev_house_number[]', 'House Number', 'trim|alpha_numeric');
$this->form_validation->set_rules('prev_abode[]', 'Abode', 'trim');
$this->form_validation->set_rules('prev_house_name[]', 'House Name', 'trim');
$this->form_validation->set_rules('prev_address_line_1[]', 'Address Line 1', 'required|trim');
$this->form_validation->set_rules('prev_address_line_2[]', 'Address Line 2', 'trim');
$this->form_validation->set_rules('prev_city[]', 'Town/City', 'required|trim');
$this->form_validation->set_rules('prev_county[]', 'County', 'trim');
$this->form_validation->set_rules('prev_postcode[]', 'Postcode', 'required|max_length[9]|trim');
$this->form_validation->set_rules('prev_country[]', 'Country', 'trim');
$this->form_validation->set_rules('prev_months[]', 'Previous Months', 'trim|integer');
$this->form_validation->set_rules('prev_years[]', 'Previous Years', 'trim|integer');
Run Code Online (Sandbox Code Playgroud)
用户最多可以输入5个以前的地址,如下所示:

地址行1字段后面的代码如下所示:
<div class="input w100 f-left c-none">
<input type="text" class="address_line_1 postcode_prev_address_1" id="prev_address_line_1[]" name="prev_address_line_1[]" value="<?php echo set_value('prev_address_line_1[]');?>"/>
<label for="prev_address_line_1[]">Address Line 1 <span class="required">*</span></label>
</div>
Run Code Online (Sandbox Code Playgroud)
问题在于:假设我输入了5个地址,并且表单上的验证失败,所有五个输入区域将按预期正确地重新填充.但是,CodeIgniter的验证不适用于阵列输入.
这是验证后的直接截图:

正如您所看到的,尽管它使用正确的值重新填充表单,但它不会对它们应用验证规则,并且似乎无法从控制器中识别它们的存在.
我能做什么?
谢谢!
插口