我一直在网上阅读有关CodeIgniter及其会话和Internet Explorer问题的大量内容.其中很多似乎都围绕着名称中没有下划线的会话名称.这些文章似乎都是针对CI 1.x. CI仍有这个问题吗?我尝试删除下划线,但没有帮助.我也试过添加这段代码:
header ( 'P3P: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"' );
Run Code Online (Sandbox Code Playgroud)
但这也没有帮助.我们要特别做的是给我们的经销商一个链接,他们可以在他们的网站上放置一个iframe来打开我们网站的一部分.iframe在我们的网站上运行正常,但在我们的经销商网站上没有.这可能与跨域问题有关吗?
这不是现在应该在CI中解决的问题吗?我认为他们的原生会话不会有这个问题.
我在我的一个最新网站上使用Codeigniter 2.1,当访问超过3g时,cookie变得腐败......
当做一些调试到最初读取cookie的时候,我可以看到它显然被截断了,这是一个例子:
a:14:{
Run Code Online (Sandbox Code Playgroud)
应该
a:14:{s:10:"session_id";s:32:"ef171f95db26ad51986.......
Run Code Online (Sandbox Code Playgroud)
这只发生在连接到移动网络的设备上读取cookie时,到目前为止我只能测试三个,令我惊讶的是,一个工作:
我猜测它的网络基础,并且标题在某个地方被破坏了.(可能是代理?)
这整周都在找我,所以任何信息都会很棒.
编辑:要注意,该网站有相当多的cookie,但规模不大.我们有Google Analytics,Sharethis,Uservoice和Facebook.
我正在使用PHP CodeIgniter框架.
问题是我希望用户通过选择复选框然后提交表单来检查他们输入并批准的字段.
像这些是领域.
<tr>
<td>Remarks </td>
<td><textarea name="particular" rows="3" class="save_record autosuggestship"></textarea></td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>Custom Reference No.</td>
<td><input type = 'text' name = 'custom_ref_no' class = 'save_record autosuggestship' id="custom_ref_no" /></td>
<td>Date</td>
<td><input name = 'costom_date' type = 'text' class = 'save_record date_class autosuggestship' id="costom_date" /></td>
</tr>
<tr>
<td>
<p> Container Information </p>
</td>
<td>
Run Code Online (Sandbox Code Playgroud)
这是Checkbox批准的.
<tr>
<td>Approve</td>
<td><input type="checkbox" id="Approve" /></td>
<td> </td>
<td align="left"> </td>
</tr>
Run Code Online (Sandbox Code Playgroud) 我是codeigniter的新手,无法让我的ajax工作.
我试图在点击时将链接内容加载到主文档中.
我寻找指示,但无法弄清楚.除了ajax之外的所有工作都会返回alert('ERROR')消息.什么都没有加载到<div id='load_here'></div>
也许我在config.php中遗漏了什么?我必须加载一些库才能使用吗?任何想法都会有用//主文档链接
<span id='reg_link_rules'>Link</span>
<div id='load_here'></div>
Run Code Online (Sandbox Code Playgroud)
//控制器
class Register extends CI_Controller {
public function hello()
{
echo 'hello';
}
}
Run Code Online (Sandbox Code Playgroud)
// jQuery
$(document).ready(function() {
$('#reg_link_rules').click(function(eve){
$.ajax({
type: "GET",
url: "register/hello",
complete: function(data){
$('#load_here').html(data);
},
error: function(){alert('error');}
});
});
});
Run Code Online (Sandbox Code Playgroud)
我认为问题是ajax url不能访问控制器.Z:/ home/codeigniter/www/register/test这是我觉得它需要我的地方
问题解决了,网址需要是http://codeigniter/index.php/register/hello
我在codeigniter的控制器中使用以下查询.
$u -> where('us_email_id', $username);
$u -> where('us_password', $password1);
$details = $u -> get();
$total = count($details);
echo $total; echo "<br>";
echo count($details);
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,"$ u"是数据映射器"User"的类"User"的对象名,其中我的数据库中的表名是"users".我想看看执行查询后返回了多少行.即使用户ID和密码不匹配,"$ total"也始终显示1.我想要的是,如果行数返回1则"ok"否则"出错".我知道它的基本但如果有人知道那么请帮助我.提前致谢.
php codeigniter datamapper codeigniter-2 codeigniter-datamapper
当用户退出我的CodeIgniter(PHP)应用程序时,我正在尝试停止/禁用浏览器的后退按钮功能.但是,我认为浏览器正在缓存页面,因此尽管会话从注销中被销毁,它仍然可见.
我知道会话已经死了,因为当用户尝试做任何事情(点击任何链接等)时,他们会通过控制器中的方法被踢出.
由于上一页包含机密信息,因此后退按钮以这种方式工作并不理想.
不知道如何解决这个问题,也许是介于两者之间的重定向页面(但是用户可以快速地关闭后退按钮吗?),帮助!
谢谢.
我正在使用codeigniter,并且大部分时间都使用活动记录进行查询(自动转义它们),但由于变量,此查询似乎并不适合它.所以我需要弄清楚如何手动转义查询.
Codeigniter文档建议以这种方式转义查询:
$sql = "INSERT INTO table (title) VALUES(".$this->db->escape($title).")";
Run Code Online (Sandbox Code Playgroud)
我的原始查询
$sql = "SELECT * FROM (`user_language`) WHERE `user_id` = '{$id}'";
Run Code Online (Sandbox Code Playgroud)
我的转义查询
$sql = "SELECT * FROM (`user_language`) WHERE `user_id` = '{$id}' VALUES(".$this->db->escape($user_language).")";
Run Code Online (Sandbox Code Playgroud)
但我无法正确使用语法.错误消息是:
我正在使用CodeIgniter 1.7.1.我允许的URI字符设置如下:
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_()@&\-';
Run Code Online (Sandbox Code Playgroud)
当我输入http://website.com/index.php/controller/method/test%21这样的地址时,页面不会加载并给我错误:
代码点火器:遇到错误您提交的URI不允许使用字符.
我不明白.%20允许(空格),但%21(感叹号)不允许.
我先解释一下表结构:
+-----------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| firstname | varchar(255) | NO | | NULL | |
| name | varchar(255) | NO | | NULL | |
+-----------+--------------+------+-----+---------+----------------+
Run Code Online (Sandbox Code Playgroud)
id字段通过外键从另一个表引用.
假设我的模型中有一个函数,如下所示:
public function delete_user($id) {
return $this->db->delete('users', array('id' => $id));
}
Run Code Online (Sandbox Code Playgroud)
当从另一个表引用此用户时,它应该抛出错误."糟糕"的是,Codeigniter实际上在整页上显示错误:
Error Number: 1451
Cannot delete or update a parent row: a foreign key constraint fails …Run Code Online (Sandbox Code Playgroud) 我的ci会话有这个奇怪的问题.在localhost上工作正常,但在线日志显示错误:
会话cookie数据与预期不符.这可能是一次可能的黑客攻击.
我删除了所有cookie并清空了会话表.我还将user_agent长度设置为255. Basepath也是正确的.记录会话ID时的注意事项如下:
在登录页面上,当检查用户名/ pw时,id是相同的,然后我转到id已更改的成员区域.
另一个例子:
1.我去会员区,会话ID设置,我没有登录,我发送到登录
2.在登录页面,会话ID被更改,我登录
3.验证,会话ID不变,我'已经过验证并发送到会员区
4.在会员区,会话ID已更改,我尚未登录.
在登录页面上,我的会话表计数0行,当我登录会话表计数2/3行时.其中1个,但不是具有当前会话ID的那个保存所有正确的数据.
希望有人可以帮助我.
codeigniter ×10
php ×7
session ×3
javascript ×2
jquery ×2
mysql ×2
ajax ×1
caching ×1
constraints ×1
cookies ×1
database ×1
datamapper ×1
html ×1
mobile ×1
networking ×1
sql ×1
url ×1