问题标签 [codeigniter]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
11 回答
153331 浏览

php - 我应该如何为 CodeIgniter 选择认证库?

我看有几个。哪些维护且易于使用?他们的优点和缺点是什么?

0 投票
2 回答
641 浏览

apache - 为什么 Apache mod_rewrite 没有按预期运行

我想将使用原始 URL 请求的旧站点的 URL 重定向到我在 CodeIgniter 中实现的新站点。我只是想将它们重定向到我的索引页面。我还想在我的 URL 中去掉“index.php”,这样我的 URL 就可以像 example.com/this/that 一样简单。所以,这是.htaccess我创建的文件:

还应该注意的是,我的 index.php 实际上是指向example/production/index.php.

现在,第一个规则按预期工作 - 我所有的样式和图像都显示得很好,这是我遇到问题的后两个规则。第二条规则基本上是销毁查询字符串并重定向到我的索引页面(外部)。所以,我在 Apache 手册中找到了这个:

注意:查询字符串

模式不会与查询字符串匹配。相反,您必须使用带有 %{QUERY_STRING} 变量的 RewriteCond。但是,您可以在包含查询字符串部分的替换字符串中创建 URL。只需在替换字符串中使用问号,即可指示应将以下文本重新注入到查询字符串中。当您想删除现有的查询字符串时,只用问号结束替换字符串。要将新查询字符串与旧查询字符串组合,请使用 [QSA] 标志。

但是,当我尝试访问其中一个旧页面时,我没有重定向到我的索引页面,而是收到 404 page not found 错误。我已经通过将其设置为内部重定向找到了一种解决方法,但我真的希望它是外部的。

下一个问题,也是最让我困惑的一个问题是第三条规则。我希望这会做类似以下的事情。如果我输入:

我希望它重新路由到

不幸的是,这不起作用。相反,无论我输入什么,它总是路由到我的索引页面,就好像 URL 中没有其他内容一样(它只是转到http://example.com/)。

此外,如果我用以下内容替换该规则,我会更加困惑:

如果我输入一个 URL,例如http://example.com/other/thing,那么它会http://example.com/index.php/this/thing按预期转到,但是如果我输入http://example.com/this/thing它会转到http://example.com/(我的索引页)。我无法从中做出正面或反面。任何帮助将不胜感激。

0 投票
1 回答
291 浏览

codeigniter - 第三 (3rd) 单击 FreakAuth 中的注销

我已经为 CodeIgniter ( http://www.4webby.com/freakauth/ ) 安装了 FreakAuth Lite 库。一切都运行良好(登录/注销),但我有一个问题。在用户登录后的第三个页面请求中,用户将自动注销。如果您只是刷新页面 3 次,或点击进入 3 个单独的页面,就会发生这种情况。有任何想法吗?谢谢。

0 投票
11 回答
6197 浏览

php - 如何将基于页面的 PHP 应用程序转换为 MVC?

一段时间以来,我一直在为如何使用 MVC 框架重新编码基于页面的 PHP 应用程序而苦苦挣扎。仅作为背景,我不得不将应用程序移至 MVC,因为我的老板正在制作我。不管怎样,我坐下来,打印出目录结构。然后我开始尝试计划如何将这些页面转换为控制器/动作对。有些事情看起来很直接。例如,我有几个页面专门用于添加/编辑/删除用户。这很容易创建一个“用户”控制器,并为添加/编辑/删除添加方法或操作。我遇到的问题是决定何时实际创建控制器而不是仅将某些东西作为动作,因为它并不总是那么明确。例如,登录控制器与用户/登录,或注册控制器与用户/注册。大部头书,

另一个例子是,我有大约 12 个用于创建“计划”的表单页面。在我的脑海中,我认为我需要创建一个“计划”控制器,然后每个旧的页面都会变成一个动作。所以我有一个控制器,有 12 个动作(方法)。对我来说,问题是,尽管所有 12 个页面都是数据输入表单,但最终构成了这个“计划”,这就是它们的共同点。每个页面使用数据库中的不同表,并且彼此之间没有任何共同之处。基本上通过创建一个“计划”控制器,我只是将其用作分组机制;不一定要使用它,因为它们彼此相关。至少在上面的“用户”控制器示例中;这些动作中的每一个都使用相同的“

我想这归结为让自己使用控制器作为层次结构实体而不是对象/动作。似乎很容易以错误的方式使用控制器陷入这个陷阱。有人明白我在说什么吗?希望它不会太混乱。

编辑:如果我尝试在每个视图中坚持使用一个控制器;然后,我会将每个请求的代码保持在最低限度。这是最好的方法吗?

编辑:从每个人的说法来看,每个视图一个控制器似乎不符合我的最佳利益。我仍然有些担心,因为控制器似乎很快就会变胖,但这是另一个讨论。我还有一些关于何时决定使用控制器而不是动作的问题。一个很好的例子是堆栈溢出本身。在页面顶部,您有一个“问题”选项,我们可以假设它会将您带到“问题”控制器。我这样说是因为在右侧您可以选择“提问”,URL 指向“问题/提问”。这是有道理的,你使用问题控制器的 ask 方法。让我感到困惑的是,菜单上有“未回答”选项。看起来这本身就有一个控制器。为什么它不像“问题/未回答”那样只是问题控制器下的一个动作?这就是我变得混乱的地方。

0 投票
6 回答
21863 浏览

session - 在 CodeIgniter 中“记住我”登录

你如何在 CodeIgniter 中实现这一点?

0 投票
2 回答
7447 浏览

codeigniter - CodeIgniter 表类:从生成的单元格添加链接

我正在使用从数据库中提取的数据数组为我自动生成表的表类。

型号

控制器

当我让它工作时,控制器最终将被移动到一个视图中。这可以很好地生成表格,但我想添加一个指向字段的链接。例如,id允许我仅针对该报告的 ID 链接到一页数据的列。我知道我可以用手以老式的方式输出表格。然后我可以添加我想要的任何链接,但我希望能够尽可能多地使用自动生成。必须有一种方法可以做一些像链接表格单元格一样常见的事情。有没有人有任何想法?

编辑

用户Java PHP大部分都在下面。这是使它工作的代码:

我只需要用锚文本版本替换原始数组中的值。

0 投票
3 回答
1264 浏览

php - 我的主机上有一个神秘的 PHP SOAP 错误,但无法在本地复制

我遇到了一个有趣的 PHP/SOAP 错误,这让我很困惑。搜索后,我没有找到合理的解释,我很感激你的帮助。这是背景:

我有一个用 PHP/ CodeIgniter构建的站点,它使用 SOAP 通过 SSL 与不受我控制的第三方提供的后端系统(我们称它们为“X 公司”以保护无辜者)进行通信。本着良好 MVC 的精神,我将特定于与该数据源交互的代码放在单独的模型中 ( system/application/models/company_x.php)。我一直在 Mac 上使用 MAMP 进行本地开发,通过测试和开发几乎一切都比较顺利;包括通过 SSL 调用 X 公司的 Web 服务。我可能应该提到他们的 Web 服务有 PHP 5 的 SOAP 不喜欢的奇怪的 WSDL。诸如所需参数之类的东西不存在。非常明确地调用 SOAP 方法有点奇怪,但我成功了,并且通过了测试。莫索,我可以发誓它在那里也有用过一段时间。

想象一下,当每次调用 SOAP Web 服务都开始产生如下错误时,我会感到惊讶:

除了服务器上模型文件的完整路径之外,错误日志没有提供更多信息。它在本地工作,我认为它以前在 Mosso 上工作过。也许 Mosso 更改了他们的设置,并禁用了 SOAP 或其他东西。再过phpinfo()一会儿,他们就绰绰有余了。我想也许我的 Mac 更能容忍 SSL 证书。毕竟,这是一个 GoDaddy *.domain.com 证书,可能fopen无法通过。我创建了一个测试文件以通过 SSL 进行连接,并将其放在 Mosso 上,它就可以工作了。

我想知道为什么fopen访问突然成为 SOAP 的问题?莫索是什么让这突然变得困难?我需要覆盖某些php.ini设置吗?会不会像经常出现这样的无益错误一样,完全不同?

更新:这是来自 phpinfo() 的配置命令:

'./configure' '--build=x86_64-redhat-linux-gnu' '--host=x86_64-redhat-linux-gnu' '--target=x86_64-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/usr/com' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--cache-file=../config.cache' '--with-libdir=lib64' '--with-config-file-path=/etc' '--with-config-file-scan-dir=/etc/php.d' '--disable-debug' '--with-pic' '--disable-rpath' '--without-pear' '--with-bz2' '--with-curl' '--with-exec-dir=/usr/bin' '--with-freetype-dir=/usr' '--with-png-dir=/usr' '--enable-gd-native-ttf' '--without-gdbm' '--with-gettext' '--with-gmp' '--with-iconv' '--with-jpeg-dir=/usr' '--with-openssl' '--with-png' '--with-pspell' '--with-expat-dir=/usr' '--with-pcre-regex=/usr' '--with-zlib' '--with-layout=GNU' '--enable-exif' '--enable-ftp' '--enable-magic-quotes' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-sysvmsg' '--enable-track-vars' '--enable-trans-sid' '--enable-yp' '--enable-wddx' '--with-kerberos' '--enable-ucd-snmp-hack' '--with-unixODBC=shared,/usr' '--enable-memory-limit' '--enable-shmop' '--enable-calendar' '--enable-dbx' '--enable-dio' '--with-ming' '--with-mime-magic' '--with-sqlite=shared' '--with-libxml-dir=/usr' '--with-xml' '--with-system-tzdata' '--with-apxs2=/usr/sbin/apxs' '--without-mysql' '--without-gd' '--without-odbc' '--disable-dom' '--disable-dba' '--without-unixODBC' '--disable-pdo' '--disable-xmlreader' '--disable-xmlwriter' '--disable-json'

注意:我在下面的评论phpinfo()报告说允许卷曲;奇怪的!

0 投票
3 回答
3706 浏览

codeigniter - 如何修改在 codeigniter 中完成的图像处理功能以提高效率

我认为此功能没有应有的效率。我很感激一些关于如何将其构建得更快并占用更少内存的建议。这就是代码的作用:

  1. 检查图像是否已上传
  2. 将有关它的详细信息(标签、名称、详细信息)添加到数据库
  3. 如果设置了变量 $orientation,则旋转图像
  4. 如果图像宽于 600 像素,请调整其大小
  5. 创建缩略图

我认为效率低下的原因在于将步骤 3、4、5 全部分开。有什么方法可以巩固它们吗?谢谢!

0 投票
7 回答
27560 浏览

php - 使用 CodeIgniter 进行用户身份验证

我正在使用 PHP 编写一个 Web 应用程序。我想为此使用 MVC 模式,并决定使用CodeIgniter。我的应用程序将有一些页面需要身份验证,而有些页面则不需要。我想以一种非常通用的方式设计它,这样就不应该有代码重复。任何人都可以为此指出一些好的“设计/类结构”吗?

0 投票
7 回答
19286 浏览

php - CodeIgniter 表单验证 - 将结果作为“数组”而不是“字符串”获取

我正在使用 CodeIgniter 编写表单验证类。有什么方法可以让我在名称值对中收到错误消息?例如,在示例表单中有四个字段:user_namepasswordpassword_conftimezone。其中user_namepassword执行以下操作后验证失败:

如果上面的函数返回 false,我想得到名称值对中的错误,如下所示:

我真的想形成一个 JSON,我可以将它传递回 AJAX 调用。我有一个(肮脏的)解决方案:我可以像下面这样一个一个地调用验证方法:

有没有其他方法可以一次在名称值对中获取所有错误消息?

编辑:有人建议我从答案之一中使用 jQuery 进行验证:

jQuery 将有助于客户端验证,但服务器端呢,我正在使用 CodeIgniter 验证。

我设计它是为了:

  1. 我使用 AJAX 发布所有值。
  2. 在服务器端(PHP)验证。
  3. 如果输入有效,则执行所需的操作;否则返回错误给用户。