我检查并重新检查了我的代码,引用了整个网络上的CI文档和其他帖子,但是我没有成功实现set_value()方法,以便在验证失败后重新填充表单字段.也许我错过了CI框架的一些非常重要的东西(我对它很新),但是你的见解会非常感激.
我的控制器方法中有以下内容:
public function form_step2(){
//Form Setup
$this->load->helper('form');
$this->load->helper('url');
$this->load->library('form_validation');
$data['title'] = $this->base_title;
$data['base_url'] = base_url();
//Validation Settings - must be set per step
$this->form_validation->set_rules('request_type', 'Request Type', 'required');
*...more of the same set_rules()*
if ($this->form_validation->run() === FALSE) {
### Validation failed or New Form
// Get form element data
$data['request_types'] = $this->my_model->get_form_data('request_type');
*...more of the same get_form_data() calls for loading form elements*
//Generate Page from View Templates
$this->load->view('templates/header', $data);
$this->load->view('templates/form_step2', $data);
$this->load->view('templates/footer');
} else {
### Save to database
$this->my_model->set_data($data); …Run Code Online (Sandbox Code Playgroud) 我试图从亚马逊S3桶子文件夹中获取所有文件,并使其可以在网页中下载.
我有一个叫做图像的桶.在那个桶里面我有一些其他的文件夹.现在我试图获取该子文件夹中的所有文件并在页面中显示它.S3铲斗:/ images/images/test1// images/test2// images/test1/1/images/test1/2/images/test1/1/item
我试过这样,但无法得到预期的结果.
// Target files full path : images/test1/1/item
$bucketName = 'images';
$source = '/test1/1/item'
$image = $this->s3->getBucket($bucketName);
foreach ($image as $key=>$data){
$k = $data['name'];
print_r($k); // now this gives me full list of everything inside the images bucket.
}
Run Code Online (Sandbox Code Playgroud)
现在,如果我想从存储桶中获取对象,我可以使用getObject,我尝试这样做:
$result = $this->s3->getObject($image); // I am confused about this one
Run Code Online (Sandbox Code Playgroud)
任何建议将不胜感激.谢谢,
在使用Josue Ibarra的以下答案后,我得到了类似的东西
(
[tableuploads/1/emaillists/15.10.2013-18.03.23-emailList.csv] => Array
(
[file_name] => 15.10.2013-18.03.23-emailList.csv
[file_folder] => emaillists
[file_size] => 64
[created_on] => 2013-10-15 19:03:26
[s3_link] => http://s3.amazonaws.com/webtools_sharing/emaillists/15.10.2013- 18.03.23-emailList.csv …Run Code Online (Sandbox Code Playgroud) 我注意到如果在我的网站的网址上找到/添加了"union"这个词,我就会收到403禁用错误.
这是一个ajax(getjson)url的快照,其中"union"被添加为GET变量: 现在,如果你改变"union"这样的单词,就像"unsion"一样,我得到一个回复但是如果"union"这个词到位了,像"xxunionxx"一样可读,但仍然禁止回复.
我的网站运行在CI(CodeIgniter)框架上.我想知道我的服务器是否有过滤?
谢谢!
我在Ion Auth身份验证库中的一个真正的CodeIgniter项目中发生了这种情况,但为了清楚起见,我将其简化为最简单的形式.
我有这一行脚本位于http://localhost/~captbaritone/redirect/index.php:
<?php header("Refresh:0;url=https://google.com");¬
Run Code Online (Sandbox Code Playgroud)
在我的浏览器中,它会重定向到Google.com.
为了测试它,我写了这个验收测试:
<?php
$I = new WebGuy($scenario);
$I->wantTo('Redirect to Google.com');
$I->amOnPage('/index.php');
$I->seeCurrentUrlEquals('https://www.google.com/');
Run Code Online (Sandbox Code Playgroud)
我acceptance.suite.yml看起来像这样:
class_name: WebGuy
modules:
enabled:
- PhpBrowser
- WebHelper
config:
PhpBrowser:
url: 'http://localhost/~captbaritone/redirect/'
Run Code Online (Sandbox Code Playgroud)
Codeception PHP Testing Framework v1.7.1
Powered by PHPUnit 3.7.27 by Sebastian Bergmann.
Acceptance Tests (1) -----------------------------------------
Trying to redirect to google.com (RedirectCept.php) Fail
---------------------------------------------------------------
Time: 460 ms, Memory: 9.75Mb
There was 1 failure:
---------
1) Failed to redirect to …Run Code Online (Sandbox Code Playgroud) 我已经检查了所有类似的问题,但都没有使用CI 2.1.3和Wiredesignz的HMVC解决我的问题。
我的form_validation.php配置文件中具有以下规则:
array(
'field' => 'eta-renpal-1',
'label' => 'Renpal number (1)',
'rules' => 'required|callback_check_eta_group'
),
Run Code Online (Sandbox Code Playgroud)
在我的ETA控制器中,我具有此功能(当前设置为在测试时始终无效):
public function check_eta_group($reference)
{
// Internal function for use by form validation system to check if the ETA group requirements are met.
$this->form_validation->set_message('check_eta_group', 'Other values in the group ' . $reference . ' are also required.');
return false;
}
Run Code Online (Sandbox Code Playgroud)
出于某种原因,“必需”功能有效,但回调无效。我尝试了所有其他类似的建议解决方案,但无法使它们正常工作。请帮忙?
编辑:回调似乎根本没有被调用。我什至在回调中做了var_dump()来查看屏幕上是否有输出-没有...
Edit2 ::自己查看最后一条评论-使用该替代方法可以解决问题,但这并不是我想要的。所以-如果您有更好的解决方案,请分享:-)
我有一个小项目,我为codeigniter 2.1.4中的客户开发,现在,他坚持要迁移到codeigniter 3 DEV版本.我知道这不是一个好的想法但是...我的问题是我无法从url中删除index.php.
这是我的.htaccess文件:
Options +FollowSymLinks
RewriteEngine on
# Send request via index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
Run Code Online (Sandbox Code Playgroud)
我从config.php文件中删除了index.php
没有运气
我重新安装了LAMP服务器(我在Ubuntu 12.04上),重新配置
我在Codeigniter 2.1.4和Laravel 4上开发的本地服务器上还有其他项目工作得很好,但这一次它杀了我.
谢谢!
在CodeIgniter中,我正在尝试从共享相同名称的表单输入完成批量更新.但不知道如何将数据发布到数组中.表格的简化视图如下:
<input name="id[]" value="1"/><input name = title[] value="some-title"/><input name ="sort_order[]" value="1"/>
<input name="id[]" value="2"/><input name = title[] value="some-tuttle"/><input name="sort_order[]" value="2"/>
<input name="id[]" value="3"/><input name = title[] value="some-turtle"/><input name="sort_order[]" value="3"/>
Run Code Online (Sandbox Code Playgroud)
在我的控制器中,我现在有这个:
function set_sort_order(){
$data = array(
array('id' => 1,'sort_order' => 14),
array('id' => 2,'sort_order' => 5),
array('id' => 3,'sort_order' => 9)
);
$this->db->update_batch('press_releases', $data, 'id');//works!
$this->load->view(pr_listing);
}
Run Code Online (Sandbox Code Playgroud)
该数组是硬连线的,用于在input_batch函数中进行测试,该函数正常工作.那么如何将后期数据放入数组呢?
我强迫ssl遇到问题.我正在使用codeigniter并使用elasticbeanstalk在AWS单实例中部署它.我的htaccess规则如下:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule !/status https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
Run Code Online (Sandbox Code Playgroud)
但浏览器进入重定向循环.无论我尝试什么都没有解决这个问题.
我正在尝试将PayPal付款与我的codeigniter项目集成.我的项目是关于一个约会网站,其中两个不同的用户互相交流.因此,我正在销售计划,在此基础上,将为用户提供访问权限,以便在该段时间内向其他人发送消息.为此我开发了一个非常简单的页面,其中包含可从不同计划中选择的单选按钮.这些是以下计划
- 一个月(
$2)- 两个月(
$4)- 三个月(
$6)- 四个月(
$8)- 五个月(
$10)
等等
- 六个月(
$12)
因此,用户可以从上面选择任何计划,然后可以继续进一步支付PayPal的金额.在我们网站上拥有帐户的用户可以使用此页面.所以我们可以将当前用户的所有细节转移到PayPal,例如 - 姓名,电子邮件等.
我曾尝试阅读很多关于如何整合paypal的文章,但没有一篇能帮助我.因为我是codeigniter的新手.
我还在paypal上创建了Paypal和沙盒帐户.我从sourceforge.net下载了php-toolkit并单独使用它,然后运行正常.但是当我尝试在codeigniter中实现时,它不需要任何地方.
请帮我 !!
编辑:
<?php
//Configuration File
include_once APPPATH.'../php_paypal/includes/config.inc.php';
//Global Configuration File
include_once APPPATH.'../php_paypal/includes/global_config.inc.php';
?>
<?php echo form_open('https://www.sandbox.paypal.com/cgi-bin/webscr');?>
<input type="hidden" name="amount" value="9.95">
<input type="hidden" name="item_name" value="Test Payment">
</form>
Run Code Online (Sandbox Code Playgroud)
这就是我想要创造的东西.之前我曾尝试在表单操作中使用"process.php",但我在codeigniter中收到了URL错误.所以我想为什么不用这种方式.我知道有函数负责向paypal发送值.但通过这种行动方法.我被重定向到简单的paypal页面.
在我的应用程序中,我有一个dataTable来显示来自db的记录,我正在尝试使用x-editable编辑记录并且它正常工作.但问题是,如果提交的数据未成功更新到数据库中,我想显示错误消息.
我试过'success:'但它在提交表单后触发了无论数据是否到达db,但是我想在控制器返回true时触发成功.
谢谢
codeigniter ×10
php ×8
.htaccess ×2
mod-rewrite ×2
amazon-s3 ×1
apache ×1
arrays ×1
codeception ×1
datatable ×1
ion-auth ×1
paypal ×1
paypal-ipn ×1
ssl ×1
validation ×1
x-editable ×1