我有一个使用的应用程序(CodeIgniter)
<?=$variable?>
Run Code Online (Sandbox Code Playgroud)
语法而不是
<?php echo $variable; ?>
Run Code Online (Sandbox Code Playgroud)
我希望它可以在我当地的主机上工作.我需要在php.ini文件中启用它才能执行此操作?
请注意,我不是问如何启用short_open_tag,而是如何在CodeIgniter中启用它.
提前致谢..
我有许多具有相同结构的表格.它们对于用户数据都是相同的.这些表单的id是addComment1,addComment2,addComment3等.我想为每个表单定义表单验证.但我不知道他们的数字.我想使用正则表达式在form_validation.php中定义它们.它们都具有相同的结构,并且form_validation函数对于所有这些都是相同的.我怎样才能使用正则表达式来做呢?
我有一个添加新用户的页面.
用户具有文件附件选项.
我创建了一个临时表和目录来上传文件并跟踪用户数据.
问题是用户尚未添加,因此我无法在联系人下保存这些文件.
我正在做的是保存文件和使用临时表跟踪,一旦添加用户移动该用户下的文件.
假设用户上传文件并关闭页面而不添加用户.
那我怎么能删除临时文件和表值?
我可以使用浏览器关闭事件吗?或者无论如何在php中这样做[因为我是php的新手]?
我正在使用Codeignitor - 如果我得到CI的回答,将会非常有帮助.
提前致谢.
使用Datamapper 1.8.1-dev for PHP的CodeIgniter,我正在尝试构建此查询以在列表顶部优先考虑一个国家/地区名称:
SELECT * FROM countries
ORDER BY CASE name WHEN 'Australia' THEN 1 ELSE 2 END, name
Run Code Online (Sandbox Code Playgroud)
我的国家模型上的PHP(扩展了Datamapper):
$countries = new Country();
$countries->order_by("CASE name WHEN 'Australia' THEN 1 ELSE 2 END, name");
$countries->get_iterated();
Run Code Online (Sandbox Code Playgroud)
而是将Datamapper解析为"CASE"作为表名,构建此语法错误查询:
SELECT * FROM (`countries`)
ORDER BY `CASE` name WHEN 'Australia' THEN 1 ELSE 2 END, `countries`.`name`
Run Code Online (Sandbox Code Playgroud)
我假设CASE案例没有被处理,因为这个流控制语句刚刚添加到MySQL 5中?我唯一的选择是order_by在countries表中添加列还是在数据库检索后使用PHP排序函数?
这更像是一个浏览器将要做什么的问题,而不是后端架构.
我正在使用codeigniter并有一个控制器设置来处理资产(CSS,JS和图像),目前我只是简单地处理PHP文件中的PHP并将它们作为CSS文件呈现给浏览器,因此www.mysite.com/asset/home.css将调用资产类并从单个文件生成home的CSS文件.
我想使CSS文件的请求更加动态,以便请求将确定应该组合的多个文件,然后传递给less.php解析和最小化.
考虑到缓存问题,将变量传递给CSS类的最佳方法是什么?扁平链接URI变量?传统的GET URI?我可以使用数据库来引用其组件的给定名称,但这不是很多开销吗?
欢迎任何想法或意见!
++浏览器如何处理类似的东西standard.menu.comments.css?
+++我最终使用附加到文件的URI字符串.它并不像我想要的那么干净,但似乎有效.我很可能会很快转移到一个斜杠分隔的URI解析器来清理请求行.谢谢你的帮助!
我是Codeigniter的新手,但出于某种原因,我无法让它工作.我想要做的很简单.我在post.php文件controller夹中有一个文件.内容post.php如下:
class Posts extends CI_Controller{
function index(){
$this->load->view('hello.php');
}
}
Run Code Online (Sandbox Code Playgroud)
然后我的hello.php文件在views文件夹中.它只是一个静态HTML页面.只是想让它先工作.
文件夹结构如下: htdocs/codeignitor
我希望在访问时获取hello.php的内容:
http://localhost:8888/codeigniter/index.php/posts
Run Code Online (Sandbox Code Playgroud)
当我访问上面的网址时,它说Page Not Found.但默认的欢迎页面工作正常.
我想将默认应用程序语言设置为访问者国家/地区语言.我有一个API来获取IP前缀idiom并根据此信息,我想设置语言.
做这个的最好方式是什么?我想创建一个cookie来存储语言标识符,但我必须在哪里设置它?
谢谢.
我正在使用Codeigniter框架,我收到以下错误,
在第11行的site_model.php中的非对象上调用成员函数get()
这是get()的行.test是我数据库中表的名称.我究竟做错了什么?
<?php
class Site extends CI_Controller
{
function index()
{
$this->load->model('site_model');
$data['records']= $this->site_model->getAll();
$this->load->view('home',$data);
}
}
?>
<?php
class Site_model extends CI_Model
{
function getAll()
{
$q = $this->db->get('test');
if($q->num_rows > 0 )
{
foreach ($q ->result() as $row )
{
$data[] = $row ;
}
}
return $data;
}
}
Run Code Online (Sandbox Code Playgroud) 我目前正在开发一个可以用3种不同语言查看的网站.我已将所有文本放入语言文件中,几乎所有内容都按预期工作.像分配配置这样的东西我已经放入配置文件并进入application/config,如下所示:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
$config['num_links'] = 2;
$config['full_tag_open'] = '<p class="pagination">';
$config['full_tag_close'] = '</p>';
$config['first_link'] = '« ' . lang('first');
$config['last_link'] = lang('last') . ' »';
Run Code Online (Sandbox Code Playgroud)
它工作得很好,但我已经尝试了相同的表单验证配置文件,如下所示:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
$config = array(
'login' => array(
array(
'field' => 'login_email',
'label' => lang('emailaddress'),
'rules' => 'trim|required|valid_email|min_length[6]'
),
array(
'field' => 'login_password',
'label' => lang('password'),
'rules' => 'trim|required'
),
),
Run Code Online (Sandbox Code Playgroud)
但这似乎不起作用.看起来这个配置文件在语言文件/库之前加载.说实话,目前我并不知道如何解决这个问题,除了再次从配置文件中取出所有内容,并将其放入控制器,但我宁愿不这样做.
任何想法如何解决这一问题?
这将被视为依赖注入吗?
<?php
class BASE_Model extends CI_Model
{
/**
* inject_class - load class using dependency injection
*
* @access public
* @param string $path
* @param string $class
* @param string $func
* @param string $method
**/
public function inject_class($path, $class, $func, $method)
{
// load_class is a function located in system/core/common.php on line 123
$obj = load_class($class, $path, NULL);
return $obj->$func();
}
}
// lets say this is instantiated by a user controller when a new user is made …Run Code Online (Sandbox Code Playgroud) codeigniter ×10
php ×6
validation ×2
css ×1
less ×1
multilingual ×1
mysql ×1
oop ×1
regex ×1
syntax ×1