工作人员注意:此问题及相关答案已锁定,以防止围绕与当前问题相关的当前事件进行主题讨论.有关此活动的 问题可以在我们的meta网站上找到.谢谢!
我希望能够将用户从我在Code Igniter中构建的应用程序中注销.
我知道如何结束活动的本地会话:
$this->session->sess_destroy();
Run Code Online (Sandbox Code Playgroud)
但是,如何销毁在另一台计算机上启动的会话,从而将用户从会话中注销?
我在会话数据中存储了与其帐户关联的唯一ID,因此我可以在数据库的会话表中看到它,但它与其他会话数据一起存储在名为user_data的列中,其内容看起来像这个:
a:4:
{s:9:"user_data";s:0:"";s:6:"userid";s:6:"189034";s:9:"logged_in";b:1;s:5:"token";i:1767727789;}
Run Code Online (Sandbox Code Playgroud)
189034用户的ID 在哪里.
那么,有没有办法以某种方式根据用户的id选择会话表中的行,然后删除该行并销毁会话.或者还有另一种方法可以完全做到这一点吗?
stdClass Object ([Sector] => Manufacturing [Date Found] => 2010-05-03 08:15:19)
所以我可以[Sector]通过使用访问,$object->Sector但我如何访问[Date Found]?
我知道如何通过http://codeigniter.com/user_guide/libraries/migration.html创建它们
但是,一旦我创建了我的迁移文件,我该如何运行它们?
你好我是CodeIgniter和PHP的新手,我试图在第一次设置它,但它给出了以下错误.
致命错误:调用未定义的函数base_url()
- 第5行的C:\ wamp\www\Test-CI\application\views\layout.php
{main}()IN ..\index.php:0 require_once('C:\ wamp\www\Test-CI\system\core\CodeIgniter.php')IN ..\index.php:202
call_user_func_array()IN ..\CodeIgniter.php:359
CodeGo.net> index()IN ..\CodeIgniter.php:0
CI_Loader-> view()IN ..\home.php:17
CI_Loader - > _ ci_load()IN ..\Loader.php:419
include('C:\ wamp\www\Test-CI\application\views\layout.php')IN ..\Loader.php:833
我的代码:
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<title>Galleriffic | Custom layout with external controls</title>
<link rel="stylesheet" href="<?php base_url(); ?>/assets/css/basic.css" type="text/css" />
<link rel="stylesheet" href="<?php base_url(); ?>/assets/css/galleriffic-5.css" type="text/css" />
<!-- <link rel="stylesheet" href="<?php base_url(); ?>/assets/css/white.css" type="text/css" /> -->
<link rel="stylesheet" href="<?php base_url(); ?>/assets/css/black.css" type="text/css" />
<script type="text/javascript" src="<?php base_url(); ?>/assets/js/jquery-1.3.2.js"></script>
<script type="text/javascript" src="<?php base_url(); …Run Code Online (Sandbox Code Playgroud) 我正在使用CodeIgniter构建一个网站,我有各种资源,我使用base_url帮助函数加载,就像这样
<link rel="stylesheet" type="text/css" href="'.base_url('assets/css/themes/default.css').'" id="style_color"/>
生产(即www.mysite.com)
<link rel="stylesheet" type="text/css" href="http://www.mysite.com/assets/css/themes/default.css" id="style_color"/>
然后,我可以在这样的javascript中将此资源与另一个交换
$('#style_color').attr("href", "assets/css/themes/" + color_ + ".css");
会发生什么事情,它会尝试加载资源而不使用php生成的绝对路径,所以我的解决方案是在每个页面添加一个虚拟标签,像这样的PHP
<div id="base_url" class="'.base_url().'"></div>
然后我修改了javascript行
$('#style_color').attr("href", $('#base_url').attr("class") + "assets/css/themes/" + color_ + ".css");
它确实有效,但它看起来并不优雅,所以,我将不胜感激如何在javascript或任何其他解决方案中生成这个基本网址,谢谢:)
我更喜欢仅使用Javascript的解决方案,因为我使用的是CodeIgniter,一个document.base_url带有url段的变量protocol从而index.php显得很方便
document.base_url = base_url('index.php');
功能base_url()正在
function base_url(segment){
// get the segments
pathArray = window.location.pathname.split( '/' );
// find where the segment is located
indexOfSegment = pathArray.indexOf(segment);
// make base_url be the origin plus …Run Code Online (Sandbox Code Playgroud) 使用新的Codeigniter 3.0版本,您使用哪些身份验证库?
ci_sessions模式,我看到它有很多工作需要重写所有使用会话的代码部分.它似乎适用于文件会话和其代码的一些更改.那么,是否有人在大型CI 3.0 Web应用程序上成功集成(或迁移)了前面提到的任何库?你自己写的吗?你是否坚持使用CI 2直到进一步的CI 3.0开发?
这篇关于 codeigniter中的身份验证库的帖子非常受欢迎且非常有用.我认为,至少在一些有用的答案之前,不应该关闭以这种方式帮助社区的帖子.它之前没有讨论过,我真的希望看到更有经验的开发人员的意见.
有人可以帮我弄这个吗?我觉得我现在已经在墙上撞了两个多小时了.
我已经Apache 2.2.8 + PHP 5.2.6安装在我的机器上,.htaccess下面的代码工作正常,没有错误.
RewriteEngine on
RewriteCond $1 !^(index\.php|css|gfx|js|swf|robots\.txt|favicon\.ico)
RewriteRule ^(.*)$ /index.php/$1 [L]
Run Code Online (Sandbox Code Playgroud)
我的托管服务提供商服务器上的相同代码给我一个404错误代码并输出only: No input file specified.index.php就在那里.我知道他们安装了Apache(无法在任何地方找到版本信息),他们正在运行PHP v5.2.8.
我在Windows XP 64-bit,他们正在运行的一些Linux与PHP在CGI/FastCGI模式.任何人都可以建议可能是什么问题?
PS.如果重要的是CodeIgniter使用友好的URL.
UPDATE1:
mod_rewrite 安装并打开.
我注意到的是,如果我RewriteRule改为/index.php?$1(问号而不是正斜杠),它会进入无限循环.无论如何,使用问号不是一个选项,因为CodeIgniter(必需)不会以这种方式工作.
当我直接请求index.php时,主页也可以使用: example.com/index.php
我开始认为可能是apache认为一旦添加了斜杠,它就不再是一个文件了,而是一个文件夹.如何改变这种行为?
更新2:
我错了.
Apache正确处理这些URL.
请求http://example.com/index.php/start/(主页)或任何其他有效地址有效.
似乎Apache只是因为某种原因没有转发查询.
更新3:
只是为了清楚我想要实现的目标.
我想重写这样的地址:
http://www.example.com/something/ => http://www.example.com/index.php/something/ http://www.example.com/something/else/ => http:// www.example.com/index.php/something/else/
我在我的一个控制器中有这个私有会话,用于检查用户是否已登录:
function _is_logged_in() {
$user = $this->session->userdata('user_data');
if (!isset($user)) {
return false;
}
else {
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
问题是我有多个控制器.如何在其他控制器中使用此功能?在每个控制器中重新定义功能不是很"干".
有任何想法吗?
查询执行是否发生在get_where()以下codeigniter活动记录语句的子句中?
$this->db->select('*');
$q = $this->db->get_where('Contacts', array('id' => $contact_id));
$sql = $this->db->last_query();
Run Code Online (Sandbox Code Playgroud)
或者,一旦你打电话给它,它会发生result_array()吗?
并且是$this->db->last_query();获取查询字符串的可靠方法.
我在我的网站上使用Codeigniter.我必须使用cron job来运行一个控制器功能.我在网站上使用路线.而且我也没有在url中使用index.php.
例如http://my-domain.com/welcome/show,这里welcome是我的控制器,show是该控制器的功能名称.
我用过这样的,
0 * * * * php /home/username/public_html/welcome/show
这是'没有这样的目录'
如何在CPANEL中为上面的url设置cron jon.
谢谢.
codeigniter ×10
php ×6
.htaccess ×1
activerecord ×1
apache ×1
class ×1
controller ×1
cron ×1
css ×1
destroy ×1
html ×1
javascript ×1
methods ×1
migration ×1
oop ×1
properties ×1
session ×1