当我在调试开发人员工具上看到ajax请求响应数据但数据未在文本框中呈现.数据包含一些特殊字符,如图所示.
响应函数究竟出了什么问题?我应该添加什么(比如utf-8编码)来显示特殊字符的ajax调用?
HTML:
<select name="selCat">
<option>....</option>
</select>
<input class="col-3" type="text" id="txtPOI" name="txtPOI" />
Run Code Online (Sandbox Code Playgroud)
jQuery的:
$("#txtPOI").autocomplete({
source: function(request, response) {
$.ajax({
url: '<?php echo site_url("crowd/get_POIs") ?>',
data: {cat: selectedCode, q: request.term},
dataType: "json",
type: "post",
success: function(data) {
response(data);
},
fail : function ( jqXHR, textStatus, errorThrown ) {
console.log(jqXHR);
console.log(textStatus);
console.log(errorThrown);
},minLength: 3
});
}
});
Run Code Online (Sandbox Code Playgroud)
控制器:
function get_POIs(){
$cat = $this->input->post('cat');
$q = $this->input->post('q');
//echo $cat;
if (isset($cat) && isset($q)){
$cat = strtolower($cat);
$q = strtolower($q);
$data=$this->crowd->get_POIs($cat,$q);
//echo "aa"; …Run Code Online (Sandbox Code Playgroud) 这个我的模型代码:
public function select($id)
{
$this->db->select('Something');
$this->db->from('tbl_somthing');
$this->db->where('tbl_somthing.User_id',$id);
$this->db->where('tbl_somthing.Something',0,FALSE);
$query = $this->db->get();
return $query->result();
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能从字段中选择非零值?以上查询无效.
我试图用来UploadiFive上传一些文件,并在上传时将信息添加到数据库中.用户在表单中输入一些详细信息,然后单击上载,此时上载文件并将表单中的信息添加到具有相应文件名的数据库中.
我已经有了上传文件的工作,但每次文件完成上传时我都需要发布表单.它正在发布表单,但我很难从上传的文件中获取文件名.代码如下:
HTML页面:
<?php echo form_open_multipart('upload/do_upload', 'id="upload_form" name="upload_form"');?>
<div id="queue"></div>
<input id="file_upload" name="file_upload" type="file" multiple="true">
<div id="target"></div>
</form>
<script type="text/javascript">
<?php $timestamp = time();?>
$(function() {
$('#file_upload').uploadifive({
'auto' : true,
'checkScript' : '<? echo base_url();?>uploadify/check-exists.php',
'formData' : {
'timestamp' : '<?php echo $timestamp;?>',
'token' : '<?php echo md5('unique_salt' . $timestamp);?>'
},
'queueID' : 'queue',
'onError' : function(errorType) {
alert('The error was: ' + errorType);
},
'uploadScript' : '<? echo base_url();?>uploadify/uploadifive.php',
'onUploadComplete' : function (event, queueID, fileObj, response, data, …Run Code Online (Sandbox Code Playgroud) 我偶尔遇到一个问题,它让webbrowser显示消息"Zero size reply"(Firefox).Chrome显示"ERR_EMPTY_RESPONSE".我正在使用CodeIgniter(仍然是版本2.xx).
在通话中,我验证一些帖子变量,插入数据库记录,并发送电子邮件.但是,电子邮件方法会加载日志消息的语言文件.在此调用结束时,在类system/core/Lang.php中,包含文件并扩展类数组.
以下行(Lang.php,第126行)执行以下语句:
$this->is_loaded[] = $langfile;
Run Code Online (Sandbox Code Playgroud)
数组已初始化,通常运行正常.但在这种特殊情况下,这是导致PHP服务器崩溃的确切行(我对我得到的空响应的解释).
我现在正在运行强制PHP 5.5.19,但错误也显示为5.2.17.
任何人解释为什么会这样?如果我尝试通过以类似方式分配变量来重现错误,我永远不会收到相同的消息.此外,我收到此错误的唯一相似之处是我之前发过邮件.
更新:这是PHP_INFO:http://awesumgrades.ch/phpinfo.php
更新2:这是我尝试的完全:
我尝试在该行之前转储所有内容:
var_dump($this->is_loaded);
var_dump($langfile);
exit("I reached here");
$this->is_loaded[] = $langfile;
Run Code Online (Sandbox Code Playgroud)
收到此输出:
array(0) { } string(14) "email_lang.php" I reached here
Run Code Online (Sandbox Code Playgroud)
现在,当我执行此操作时(将数组赋值放在前面):
$this->is_loaded[] = $langfile;
var_dump($this->is_loaded);
var_dump($langfile);
exit("I reached here");
Run Code Online (Sandbox Code Playgroud)
我得到了ERR_EMPTY_RESPONSE(铬).
当我转储时$this,这是对象:
object(CI_Lang)#11 (2) { ["language"]=> array(0) { } ["is_loaded"]=> array(0) { } }
Run Code Online (Sandbox Code Playgroud)
当我回到调用函数时,我得到以下行(在core/libraries/Email.php):
protected function _set_error_message($msg, $val = '')
{
$CI =& get_instance()
$CI->lang->load('email'); // <-- this is the …Run Code Online (Sandbox Code Playgroud) 我想知道在调用库后是否可以使用别名,让我们说:
$this->load->library('email','em');
Run Code Online (Sandbox Code Playgroud)
我怎么能这样做?
我需要一个Group By三列的结果,SQL完美无缺.我在CodeIgniter框架中使用它时遇到了这个问题; 它不执行查询.我的代码和SQL如下.
码
$this->db->select(['trk.userid AS user_id', 'scr.course AS course_id'])
->from('mdl_scorm scr')
->join('mdl_scorm_scoes_track trk', 'scr.id = trk.scormid', 'inner')
->join('mdl_course_modules mcs', 'mcs.instance = scr.id', 'inner')
->where_in('trk.value', ['completed','incomplete','passed'])
->group_by(['scr.course', 'trk.userid', 'trk.scormid'])
->order_by('trk.userid', 'DESC');
Run Code Online (Sandbox Code Playgroud)
SQL
SELECT `trk`.`userid` AS user_id, `scr`.`course` AS course_id
FROM (`mdl_scorm` scr)
INNER JOIN `mdl_scorm_scoes_track` trk ON `scr`.`id` = `trk`.`scormid` INNER JOIN `mdl_course_modules` mcs ON `mcs`.`instance` = `scr`.`id`
WHERE `trk`.`value` IN ('completed', 'incomplete', 'passed')
GROUP BY `scr`.`course`, `trk`.`userid`, `trk`.`scormid`
ORDER BY `trk`.`userid` DESC LIMIT 0,100;
Run Code Online (Sandbox Code Playgroud)
当group_by只有两列时,这样可以正常工作,例如
->group_by(['scr.course', 'trk.userid'])
Run Code Online (Sandbox Code Playgroud)
可能是什么原因?
我需要使用Codeigniter查询生成器执行此查询:
SET @row_number:=0;
SELECT Id, @row_number:=@row_number+1 as Position
FROM my_table
WHERE date='2015-12-26'
Run Code Online (Sandbox Code Playgroud)
我可以通过使用"$ this-> db-> query"函数来完成它,如下所示:
$query = 'SET @row_number:=0;';
$this-> db-> query ($query);
$query = 'SELECT Id, @row_number:=@row_number+1 as Position';
$query = $query . ' FROM my_table';
$query = $query . ' WHERE date=\'' . $data . '\''
Run Code Online (Sandbox Code Playgroud)
但是,我的问题是:如果没有硬编写查询,有没有办法做到这一点,所以写这样的东西:
$query = 'SET @row_number:=0;';
$this-> db-> query ($query);
#*****It's wrong!!!!*****
$this -> db -> select(array('Id', '@row_number:=@row_number+1 as Position'));
$this -> db -> from('my_table');
$this -> db -> where('date', $data);
$query …Run Code Online (Sandbox Code Playgroud) 我的问题是升级到Codeigniter 3.0后的自定义错误页面.
我曾经有一个Errors控制器处理网站的404错误页面 - 在这个控制器上我已经定制了一些页面部分,比如如果用户登录,它在导航栏上显示用户名等等(是的,在404上)错误页面).
升级到CI 3.0后,我注意到错误页面在不同的文件夹中处理,我开始以这种方式迁移; 但问题是我无法将任何变量加载到此页面,例如会话变量或甚至无法在这些页面上使用任何CI的功能.
我认为这些页面应该只是HTML页面,但有没有办法将变量加载到这些错误页面?
我试着检查所有的名字.它在php 5.3中工作正常,但在php 5.5中无效
遇到了未被捕获的异常
键入:RuntimeException
消息:C:\ xampp\htdocs\project\application\models/Common_Model.php存在,但未声明类Common_Model
文件名:C:\ xampp\htdocs\project\system\core\Loader.php
行号:306
回溯:
文件:C:\ xampp\htdocs\project\application\controllers\Auth.php行:7功能:__ construct
文件:C:\ xampp\htdocs\project\index.php行:292功能:require_once
在消息中,我可以看到前面出现意外的反斜杠Common_Model.php.Message: C:\xampp\htdocs\project\application\models/Common_Model.php exists, but doesn't declare class Common_Model
Common_Model.php 包含:
<? if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Common_Model extends CI_Model {
public function __construct()
{
// Call the CI_Model constructor
parent::__construct();
}
.
.
.
.
Run Code Online (Sandbox Code Playgroud)
编辑
我刚刚将Common_Model.php更改为Common_model.php并仍然得到相同的错误
遇到了未被捕获的异常
键入:RuntimeException
消息:C:\ xampp\htdocs\project\application\models/Common_model.php存在,但未声明类Common_model
文件名:C:\ xampp\htdocs\project\system\core\Loader.php
行号:306
回溯:
文件:C:\ xampp\htdocs\project\application\controllers\Auth.php行:7功能:__ construct
文件:C:\ xampp\htdocs\project\index.php行:292功能:require_once
当我编辑用户并保存它时,它会在数据库中保存空白.它保存所有其他字段,但是对于密码我每次编辑用户时都必须手动添加密码.
这是我的编辑方法::
if ($id)
{
$this->data['user'] = $this->user_m->get_emp($id);
count($this->data['user']) || $this->data['errors'][] = 'User could not be found';
$rules = $this->user_m->rules_admin;
$id || $rules['password']['rules'] .= '|required';
$this->form_validation->set_rules($rules);
// Process the form
if ($this->form_validation->run() == TRUE)
{
$data = $this->user_m->array_from_post(array('emp_id','name','last_name','email','password','phone','gender','designation','user_type','blood_group','date_birth','status','address'));
$data['password'] = $this->user_m->hash($data['password']);
$id = $this->session->userdata('id');
$this->user_m->save($data, $id);
redirect('admin/user/index');
}
}
// Load the view
$this->data['subview'] = 'employee/profile/edit';
$this->load->view('employee/_layout_main', $this->data);
Run Code Online (Sandbox Code Playgroud)
这是我的HASH方法:
public function hash ($string)
{
return hash('sha512', $string . config_item('encryption_key'));
}
Run Code Online (Sandbox Code Playgroud)
现在我想要当我编辑用户并且我不更改他的密码我不希望密码更新为空白而是保持最后插入的密码.
但我的代码生成此查询:
UPDATE `users` SET `emp_id` = '21', `name` = …Run Code Online (Sandbox Code Playgroud) codeigniter ×10
php ×10
mysql ×4
ajax ×1
group-by ×1
javascript ×1
jquery ×1
mysqli ×1
uploadifive ×1
uploadify ×1