不确定这句话的最佳方法是如何忍受我.
在Codeigniter中,我可以返回我的对象的记录集没有问题,但是它作为stdClass对象而不是作为"模型"对象(例如页面对象)返回,然后我可以使用该对象来使用该模型中的其他方法.
我在这里错过了一招吗?或者这是CI中的标准功能吗?
我有一个使用jQuery Mobile和PHP(CodeIgniter框架)构建的Web应用程序.现在我正在尝试制作它的PhoneGap版本,使其可以作为独立应用程序分发.但是,PHP Web应用程序.版本使用Ion Auth,一个CodeIgniter插件进行身份验证.因此,当您转到需要身份验证的页面时,应用程序会将您重定向到身份验证控制器登录方法.在身份验证之后,它会将您重定向回主页(在本例中为jQuery Mobile页面).这在网络应用程序中工作正常,因为主页首先由家庭控制器打开.
但这里有关键:在PhoneGap版本中,"home"页面需要是PhoneGap中的index.html文件.显然,你可以通过添加在PhoneGap.plist值在启动时加载另一个网址,但无法接受被苹果提交到应用商店.如果我在身份验证中进行重定向,我无法在身份验证后返回index.html文件...
那么应该如何在PhoneGap/jQuery Mobile应用程序中进行身份验证呢?
更新:
我有这个根据答案的一个尝试,但应用程序仍试图导航到该帐户/登录页面(不存在),当时我只是想通过邮局登录并从该方法返回一个值:
$('#login_form').bind('submit', function () {
event.preventDefault();
//send a post request to your web-service
$.post('http://localhost/app_xcode/account/login', $(this).serialize(), function (response) {
//parse the response string into an object
var response = response;
//check if the authorization was successful or not
if (response == true) {
$.mobile.changePage('#toc', "slide");
} else {
alert('login failed');
$.mobile.changePage('#toc', "slide");
}
});
});
Run Code Online (Sandbox Code Playgroud)
这是控制器方法:
function login()
{
//validate form input
$this->form_validation->set_rules('identity', 'Identity', 'required');
$this->form_validation->set_rules('password', 'Password', 'required');
$base_url = $this->config->item('base_url');
$mobile …Run Code Online (Sandbox Code Playgroud) 我正在使用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 2.1.3.我有函数的问题,list_fields()
它应该返回MySQL结果的字段数组.所以下面的代码应该列出MySQL结果的所有字段.
$query = $this->db->query("SELECT * from $tablename where REGNO='$keyword' " );
$fields = $query->list_fields();
foreach ($fields as $f)
{
echo $f;
}
Run Code Online (Sandbox Code Playgroud)
它在Windows中工作正常,但它在Linux中不起作用,但如果结果中的行数为零,则即使在Linux中也能正常工作.
知道出了什么问题吗?
我已经使用codeigniter成功配置了第二个数据库,并且能够创建表.现在的问题是,现在使用的每个以前存在的代码行都$this->db使用第二个数据库,所以它自然会弹出错误.让我解释一下细节:
我使用codeigniter的迁移库,在新的迁移中,我使用dbforge创建数据库,就像这样$this->dbforge->create_database('website_store').到目前为止一直很好,然后我使用$DB2 = $this->load->database('store', TRUE);并创建一个表连接到这个数据库.一切都很好.
然后迁移结束,codeigniter尝试更新迁移表以推送最新版本,但查看store数据库而不是默认数据库,因此它会弹出以下错误:
Table 'website_store.migrations' doesn't exist
UPDATE `migrations` SET `version` = 45
Run Code Online (Sandbox Code Playgroud)
希望有人知道使用多个数据库和迁移库.顺便说一句,在database.php文件中,它被设置为使用默认数据库:$active_group = "default";而不是商店数据库,所以它应该工作.看起来迁移库看到已经加载了数据库,感觉很懒,并使用了那个.
注意: 看起来这些人有类似的问题,他们通过将'pconnect'设置为'false'来修复,但保持与两个数据库的连接会很好:
我可以将数据从钩子传递到视图,如果可能请解释.
例如
$hook['post_controller_constructor'][] = array(
'class' => 'Varify_user',
'function' => 'user_project',
'filename' => 'varify_project.php',
'filepath' => 'hooks',
'params' => array('')
);
Run Code Online (Sandbox Code Playgroud)
我想发送一些数组数据varify_project.php(钩子文件)来查看.
我需要一个Codeigniter 2.x ACL +身份验证库.
我需要给3个不同的管理员用户和2个不同的前端用户,并希望通过数据库动态设置所有内容.
请帮忙.
我正在使用codeigniter 2.1,我定义了一个函数如下.
public function reset($email, $hash) {
}
Run Code Online (Sandbox Code Playgroud)
据MVC architecture和OOPS概念,如果我没有通过该功能无法执行parameters的url.但是在codeigniter中这个函数会被执行,所以我怎么能克服这个?请帮我找到解决方案.
致命错误:使用codeIgniter调用未定义的函数validation_errors()这是我的comments.php视图
<?php echo validation_errors(); ?>
<?php echo form_open('news/comments'); ?>
Name <input type="text" name="comment_name"></input><br />
Email <input type="text" name="comment_email"></input><br />
Comment<input type="text" name="comment_body"></input><br />
<input type="submit" name="submit" value="Comment it" ></input>
</form>
Run Code Online (Sandbox Code Playgroud)
这是我的news_model.php
<?php
class News_model extends CI_Model {
public function __construct()
{
$this->load->database();
}
//set comment
public function set_comment()
{
$this->load->helper('url');
$this->load->helper('date');
$data_c = array(
'comment_name' => $this->input->post('comment_name'),
'comment_email' => $this->input->post('comment_email'),
'comment_body' => $this->input->post('comment_body'),
);
return $this->db->insert('comments', $data_c);
}
Run Code Online (Sandbox Code Playgroud)
}
在这里我的控制器news.php
<?php
class News extends CI_Controller { …Run Code Online (Sandbox Code Playgroud) codeigniter-2 ×10
codeigniter ×9
php ×7
mysql ×2
cordova ×1
models ×1
parameters ×1
phpunit ×1
sql ×1
stdclass ×1
unit-testing ×1
url ×1