我正在尝试使用url帮助程序获取文件名列表,但是我收到以下错误:
调用未定义的函数get_filenames()
我自动加载了url帮助器,然后在Controller中显式加载它,我仍然得到错误.为什么我收到此错误?
控制器:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Downloads extends CI_Controller {
public function index()
{
$this->load->helper("url");
$this->template->write_view('content', 'download_view');
$this->template->render();
}
}
Run Code Online (Sandbox Code Playgroud)
视图:
<? get_filenames("/somefolder"); ?>
Run Code Online (Sandbox Code Playgroud) 这非常令人沮丧!我尝试将简单的ajax帖子发送到我的本地Web应用程序,并且该参数为空.为了调试它,我打开了小提琴手但是同样的结果正在发生!
我有这个控制器
class Site extends CI_Controller {
public function __construct() {
parent::__construct();
} //etc
Run Code Online (Sandbox Code Playgroud)
有了这个功能
public function hello() {
var_dump($_SERVER['REQUEST_METHOD']);
var_dump($_SERVER['REQUEST_URI']);
$hello = $this->input->post("hello");
echo "hello is $hello";
}
Run Code Online (Sandbox Code Playgroud)
现在我尝试在Fiddler中测试这个,我去Composer,选择一个新的Post请求并输入正文hello = wtsgppp.
这是fiddler中hello函数的结果:
string(4) "POST"
string(25) "/cmd/index.php/site/hello"
hello is
Run Code Online (Sandbox Code Playgroud)
你可以看到你好是空的.任何帮助都非常感谢!!
让事情变得更加烦人 - 一旦我将fiddler中的http请求更改为GET并在url字符串中添加hello(并将控制器更改为echo get而不是post),它就可以了!那么为什么要上班但是帖子没有?
图书馆
class getLang {
public function getText($en, $ar) {
$CI =& get_instance();
$lang = $CI->session->userdata('language');
if ($lang == 'en') {
$string = $en;
} else if ($lang == 'ar') {
if (!empty($ar)) {
$string = $ar;
} else if (empty ($ar)) {
$string = $en;
}
}
return $string;
}
}
Run Code Online (Sandbox Code Playgroud)
调节器
class Home extends MY_Controller {
public function test() {
$this->load->library('getLang');
return $this->getLang->getText('text', '');
}
}
Run Code Online (Sandbox Code Playgroud)
当我跑回家/测试时,我收到此错误:
A PHP Error was encountered
Severity: Notice
Message: Undefined property: Home::$getLang
Filename: …Run Code Online (Sandbox Code Playgroud) 我使用下面的函数将我的图像文件上传到我的服务器(Localhost).很好,图像正在上传.但是我需要两个图像字段,因此一旦点击提交按钮,就应该上传两个图像.我使用了这里描述的Codeigniter多文件上传功能,但它无法正常工作.
我收到此错误消息
A PHP Error was encountered
Severity: Warning
Message: is_uploaded_file() expects parameter 1 to be string, array given
Filename: libraries/Upload.php
Line Number: 161
Run Code Online (Sandbox Code Playgroud)
好吧,我无法理解错误在哪里.我用来上传单张图片的功能是
function do_upload()
{
$config['upload_path'] = './uploads/';
$config['allowed_types'] = 'jpeg|png|gif';
$config['max_size'] = '0';
$config['max_width'] = '0';
$config['max_height'] = '0';
$this->load->library('upload', $config);
if ( ! $this->upload->do_upload())
{
$error = array('error' => $this->upload->display_errors());
//failed display the errors
}
else
{
//success
}
}
Run Code Online (Sandbox Code Playgroud)
另外我还想问我可以更改我选择的输入字段名称.即我总是需要实施<input type="file" name="userfile"/>.是否可以更改名称?我尝试更改它,我收到消息没有选择文件,所以这必须意味着我无法改变它.
我在config文件夹中有一个pagination.php文件.代码如下
$config['num_links'] = 5;
$config['use_page_numbers'] = TRUE;
$config['query_string_segment'] = 'page';
$config['full_tag_open'] = '<div class="pagination"><ul>';
$config['full_tag_close'] = '</ul></div>';
$config['first_link'] = '« First';
$config['first_tag_open'] = '<li class="prev page">';
$config['first_tag_close'] = '</li>';
$config['last_link'] = 'Last »';
$config['last_tag_open'] = '<li class="next page">';
$config['last_tag_close'] = '</li>';
$config['next_link'] = 'Next →';
$config['next_tag_open'] = '<li class="next page">';
$config['next_tag_close'] = '</li>';
$config['prev_link'] = '← Previous';
$config['prev_tag_open'] = '<li class="prev page">';
$config['prev_tag_close'] = '</li>';
$config['cur_tag_open'] = '<li class="active"><a class="navigation" href="">';
$config['cur_tag_close'] = '</a></li>';
$config['num_tag_open'] = '<li class="page">';
$config['num_tag_close'] = …Run Code Online (Sandbox Code Playgroud) 以下此功能是否能够阻止XSS攻击和SQL注入?
require_once('security.class.php');
function secure_data($data) {
$data = mysql_real_escape_string($data);
$filtered_data = filter_var($data, FILTER_SANITIZE_STRING);
$secure_class = new security_class();
$clean_data = $secure_class->xss_clean($filtered_data);
return $clean_data;
}
Run Code Online (Sandbox Code Playgroud)
该安全类是笨.
构建自定义实体存储库时遇到一些问题.
尝试自定义实体存储库时,我有以下致命错误
Fatal error: Uncaught exception 'BadMethodCallException' with message 'Undefined method 'getByParentId'. The method name must start with either findBy or findOneBy!' in C:\Users\user\Desktop\projects\interview\application\libraries\Doctrine\ORM\EntityRepository.php:215 Stack trace: #0 C:\Users\user\Desktop\projects\interview\application\controllers\CommentController.php(58): Doctrine\ORM\EntityRepository->__call('getByParentId', Array) #1 C:\Users\user\Desktop\projects\interview\application\controllers\CommentController.php(58): Doctrine\ORM\EntityRepository->getByParentId('1') #2 [internal function]: CommentController->viewCommentsListByParentId('1') #3 C:\Users\user\Desktop\projects\interview\system\core\CodeIgniter.php(359): call_user_func_array(Array, Array) #4 C:\Users\user\Desktop\projects\interview\index.php(203): require_once('C:\Users\user\D...') #5 {main} thrown in C:\Users\user\Desktop\projects\interview\application\libraries\Doctrine\ORM\EntityRepository.php on line 215
Run Code Online (Sandbox Code Playgroud)
我的项目结构是Mappings Repositories Entities Proxies模型
我的doctrine.php有这样的存储库加载器
// load the repositories
$repositoryClassLoader = new \Doctrine\Common\ClassLoader('Repositories', APPPATH.'models');
$repositoryClassLoader->register();
Run Code Online (Sandbox Code Playgroud)
我的模型类有以下声明
namespace Entities;
use Doctrine\ORM\Mapping as ORM;
/**
* Entities\Comment
* @Entity (repositoryClass="Repositories\CommentRepository") …Run Code Online (Sandbox Code Playgroud) 我试图将两个变量从链接传递给我的jquery ajax函数.但我不知道如何做这些ajax的东西.
我有两个ID的链接.1. rowid&2nd.BOOKID.我必须将这两个id传递给我的jquery函数.
请帮帮我怎样才能做到这一点.
`//cart item displaying in a for each loop , each row have a 'remove' link with two id
//say i have $id='4dsf2323' & $bid='43' now i have to pass these two ids to my jquery function on click of a link
<a id="removeid" >Remove item from cart link</a>`
Run Code Online (Sandbox Code Playgroud)
我的jquery函数
<script>
$('removeid').click(function(e) {
// prevent the default action when a nav button link is clicked
e.preventDefault();
//HOW TO GET HERE THOSE TWO IDS FROM MY ABOVE …Run Code Online (Sandbox Code Playgroud) 我尝试umat_id使用此SQL查询:
SELECT umat_id FROM msumat WHERE nama = $nama
Run Code Online (Sandbox Code Playgroud)
我将此SQL查询转换为CI的Active Record:
$this->db->select('umat_id');
$terdaftar = $this->db->get_where('msumat', array('nama' => $nama));
Run Code Online (Sandbox Code Playgroud)
所以这个查询应该返回一个字符串(例如:"John").
但是当我试图回应它时出现错误: 类CI_DB_mysql_result的对象无法转换为字符串
我尝试过这样的事情:echo (string)$terdaftar;但是它不起作用.
我只想回应"约翰"
编辑 刚才说我想将"John"插入变量中.怎么做?
$john = ????
Run Code Online (Sandbox Code Playgroud) 我目前正在使用CodeIgniter的框架,我在HTML5中遇到数据属性问题,我不知道如何从表单中的下拉输入传递数据属性.
我知道如何使用jQuery,但我不知道是否有任何"解决方案"来获取数据属性并识别我的数据类型.
这是我的代码:
<select name="username">
<option value="1" data-attributes="users">Simon</option>
<option value="1" data-attributes="collectives">My super crew</option>
</select>
Run Code Online (Sandbox Code Playgroud)
如果你有一些灯,请事先提前.
西蒙
codeigniter ×10
php ×8
activerecord ×1
ajax ×1
doctrine-orm ×1
fiddler ×1
file-upload ×1
html ×1
javascript ×1
jquery ×1
post ×1
xss ×1