嘿伙计们,开发一个CI应用程序,提供公共广告以及私人(安全)访问.我之前没有实现SSL,但我知道部分设置是指定应使用https访问哪些文件夹.
关于如何构建我的文件夹以便于实现,我想提供一些建议.
安装程序是否仅影响控制器文件夹?换句话说,我应该在标准CI控制器文件夹下的公共和安全子文件夹之间拆分我的app控制器吗?
我是否需要对我的观点和模型文件夹执行任何操作?还有什么我应该注意的吗?
非常感谢您的帮助.
谢谢
当我在一个简单的表格中回复没有CI的'£'字符的$ _POST时,结果如预期的那样,'£'.
当我使用输入类以及本机$ _POST var使用CI框架尝试相同时,echo是一个空白.
我已经检查确保配置中的所有内容都是utf-8但没有?有小费吗?
更新:这似乎只影响使用最新版本的MAMP和使用PHP 5.3.5的用户.目前的解决方法是转到MAMP控制面板并使用早期版本的PHP 5.2.17
有关详细信息,请参阅:https: //bitbucket.org/ellislab/codeigniter-reactor/issue/214/problem-when-inserting-special-characters
有什么方法可以使用javascript将图像对象发布到php文件,这可以替代使用(enctype ="multipart/form-data")上传图像的常规方式?
我使用ajax成功发布输入文本框的值,以任何方式发布输入文件字段?
谢谢
我正在研究PHP框架CodeIgniter.在将输出刷新给用户之前,我需要一些关于编辑输出的帮助.
通常在PHP中,您可以使用ob_start();然后ob_get_clean();检索内容.
但是,在阅读CodeIgniter文档时,他们说所有输出都已缓冲.
有没有人经历过无意中开始第二次ob_start()?或者,任何人都可以谈论CodeIgniter输出缓冲,所以我可以编辑它?
我需要帮助调试我的代码.我是新的PHP和我目前正在使用codeigniter框架.我试图将我的数据库表的内容显示到我的页面
/controllers/users.php
$<?php
class Users extends CI_Controller{
function __Users(){
// load controller parent
parent::__Controller();
// load 'Users' model
$this->load->model('Users');
}
function index(){
$data['users']=$this->Users->getUsersWhere('userid <',5);
$data['numusers']=$this->Users->getNumUsers();
$data['title']='Displaying user data';
$data['header']='User List';
// load 'users_view' view
$this->load->view('users_view',$data);
}
}
?>
Run Code Online (Sandbox Code Playgroud)
/models/users.php
$<?php
class Users extends CI_Model{
function __Users(){
// call the Model constructor
parent::__CI_Model();
// load database class and connect to MySQL
$this->load->database();
}
function getAllUsers(){
$query=$this->db->get('admin_user');
if($query->num_rows()>0){
// return result set as an associative array
return $query->result_array();
}
}
function getUsersWhere($field,$param){ …Run Code Online (Sandbox Code Playgroud) 我有一个现有的SQL查询,它可以完美地工作,因为我想要它:
$this->db->select('places.*, category.*')
->select('COUNT(places_reviews.place_id) AS num_reviews')
->select('(places_popularity.rating_1 + 2*places_popularity.rating_2 + 3*places_popularity.rating_3 + 4*places_popularity.rating_4 + 5*places_popularity.rating_5)/(places_popularity.rating_1 + places_popularity.rating_2 + places_popularity.rating_3 + places_popularity.rating_4 + places_popularity.rating_5) AS average_rating')
->from('places')
->join('category', 'places.category_id = category.category_id')
->join('places_reviews', 'places_reviews.place_id = places.id', 'left')
->join('places_popularity', 'places_popularity.place_id = places.id', 'left')
->where('places.category_id', $category_id)
->group_by('places.id')
->limit($limit, $offset)
->order_by($sort_by, $sort_order);
Run Code Online (Sandbox Code Playgroud)
但是现在我想通过在上面添加一行来为查询添加一个LIKE子句来获取:
$this->db->select('places.*, category.*')
->select('COUNT(places_reviews.place_id) AS num_reviews')
->select('(places_popularity.rating_1 + 2*places_popularity.rating_2 + 3*places_popularity.rating_3 + 4*places_popularity.rating_4 + 5*places_popularity.rating_5)/(places_popularity.rating_1 + places_popularity.rating_2 + places_popularity.rating_3 + places_popularity.rating_4 + places_popularity.rating_5) AS average_rating')
->from('places')
->join('category', 'places.category_id = category.category_id')
->join('places_reviews', 'places_reviews.place_id = …Run Code Online (Sandbox Code Playgroud) 我必须知道..
是
$this->form_validation->set_value('first_name')
同样的
$this->input->post('first_name')
Run Code Online (Sandbox Code Playgroud)
?
他们似乎都得到了输入值.如果我验证输入,第一个更安全吗?
我正在尝试使用elliothaughins Socialize系统进行代码点火,
但是我不断
消息:include(application / third_party / config / socializenetworks.php):打开流失败:没有这样的文件或目录
我已经追踪了这个问题,并在致电时
$this->load->add_package_path(APPPATH.'third_party/socialize/');
在加载程序类中,die($path)我只能得到application/third_party。
虽然看起来很奇怪,但是控制器的代码是
class SocializeController extends CI_Controller {
function __construct(){
parent::__construct();
parse_str($_SERVER['QUERY_STRING'], $_GET);
$this->load->add_package_path(APPPATH.'third_party/socialize/');
$this->_autoload();
}
private function _autoload(){
$this->load->model('socialize_migration_model');
$autoload = array();
include(APPPATH.'third_party/socialize/config/autoload'.EXT);
foreach ( $autoload as $type => $files ) {
$type = ($type == 'libraries') ? 'library' : $type;
foreach ( $files as $file ){
$this->load->$type($file);
}
}
}
public function data($key, $value)
{
$this->load->vars(array($key => $value));
}
}
Run Code Online (Sandbox Code Playgroud)
如您所见,它正在调用一个模型,并成功加载了模型,即当它到达自动加载器时,在该加载器中它损坏的地方加载了库, …
我希望能够在CodeIgniter中使用OOP并在我的控制器中创建新对象.所以我需要使用自动加载功能:
function __autoload( $classname )
{
require_once("../records/$classname.php");
}
Run Code Online (Sandbox Code Playgroud)
但是我如何将其添加到CodeIgniter?
与Facebook类似,我正在构建一个允许用户发布链接的应用程序.
用户在输入字段中填写链接,然后控制器返回
Title
Link
Meta description
Images (as thumbnails)
Run Code Online (Sandbox Code Playgroud)
到了视野.
这是控制器代码:
$url = $this->input->post('posts_link');
if (!empty($url)) {
$html = file_get_html($url);
foreach ($html->find('img') as $element) {
$src = "";
$src = $element->src;
if (preg_match("/\.jp[e]?g$/i", $src)) {
$images[] = $src;
}
}
$data['posts_link'] = $url;
$data['images'] = $images;
$data['title'] = $html->find('title', 0)->plaintext;
$data['meta'] = get_meta_tags($url);
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是没有图像,没有标题或没有描述(单独或组合).
我正在使用codeigniter,它会在视图上抛出几个错误,我宁愿压制它.
是否有最佳实践来抑制这些错误或放置空变量,以防DOM解析器没有返回标题/图像/描述?
比如我试过了
$data['images'] = $images ? $images : '';
但它并没有解决我的问题.
有什么建议?
谢谢.
codeigniter ×10
php ×8
activerecord ×1
ajax ×1
autoload ×1
buffer ×1
dom ×1
file-upload ×1
forms ×1
https ×1
loader ×1
mamp ×1
mysql ×1
oop ×1
parsing ×1
post ×1
sql ×1
ssl ×1
utf-8 ×1
web-scraping ×1