我在order.php视图中有一个javascript变量,我想将该变量发送到控制器,然后发送到模型以将其写入数据库.
例如:var myOrderString ="something"to order.php controller.
这该怎么做?
我有一个注册表单,我正在验证用户输入.这是我的控制器:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Register extends CI_Controller {
public function index()
{
$this->load->model('Users_model');
$this->load->helper('form');
$this->load->library('form_validation');
$data['page_title'] = 'Register';
$this->load->view('header', $data);
// Set form validation rules
$this->form_validation->set_rules('username', 'Username', 'trim|required|min_length[5]|max_length[16]|xss_clean|callback_username_check');
$this->form_validation->set_rules('email', 'Email', 'trim|required|min_length[5]|max_length[64]|valid_email|callback_email_check');
$this->form_validation->set_rules('password', 'Password', 'required');
$this->form_validation->set_error_delimiters('<span class="error">', '</span>');
if ($this->form_validation->run() == FALSE)
{
$this->load->view('register', $data);
}
else
{
// Add the user to the database
$this->Users_model->add_user();
$this->load->view('register_success', $data);
}
$this->load->view('footer', $data);
}
/* Functions to check username and email */
}
/* End …Run Code Online (Sandbox Code Playgroud) 我有一个基于CI 2.1.0构建的博客类应用程序.当我添加
$this->output->cache(5);
Run Code Online (Sandbox Code Playgroud)
在我的控制器中,CI正确地缓存了页面,并且它可以快速加载.
我的问题是,如果有人对该帖子发表评论,则评论将在缓存过期后才会显示.
我想知道是否有人指出如何在每次特定页面发生更改时强制执行缓存刷新,或者是否进行了帖子编辑等.
提前致谢.
如果我用这个
<?= validation_errors(); ?>
Run Code Online (Sandbox Code Playgroud)
结果是
Username field is required
Password field is required
<textbox for username>
<textbox for password>
Run Code Online (Sandbox Code Playgroud)
我真正需要的是显示那些与其元素内联的错误
例:
<textbox for username> Username field is required
<textbox for password> Password field is required
Run Code Online (Sandbox Code Playgroud) 我从textare获得的价值显示为双qoutes
"Hi_i_am_working_on_javascript_comment_box"
Run Code Online (Sandbox Code Playgroud)
如何从中删除下划线值...
我有一个CI实例连接到Db并在提供页面之前检查权限.如果当前用户无法访问该页面,则会重定向到登录页面.
显然,登录页面设置了权限,以便所有用户都可以访问.
在最近出现故障后,数据库服务器恢复了不同的IP地址(谢谢Amazon,EC2).这导致CI无法检查任何页面的权限 - 包括登录.由于代码假定除了Yes之外的任何内容都是No,它会重定向到Login.结果是无限重定向循环.
虽然这个确切的问题不应再发生(静态弹性IP),但我想检测Db连接何时关闭并正确处理它.
我已经看到了这个SO问题,这是我想要实现的,但我没有明确地在任何控制器中加载数据库,它在自动加载配置文件中.
所以,
如何从CI内部查询Db连接的状态?我是否必须运行无用的查询并检查是否返回结果或是否有更优雅的解决方案?
编辑:检查当前正在钩子中执行:
$hook['post_controller_constructor'] = array(
'class' => 'AuthHook',
'function' => 'ValidateCredentials',
'filename' => 'auth.php',
'filepath' => 'hooks'
);
Run Code Online (Sandbox Code Playgroud) 我正在中等规模的PHP CodeIgniter网站上创建基本密码安全性.我需要开始加密正在保存到数据库中的密码.可以使用不同的方法插入用户密码,包括CSV导入或单独注册方法.
因此,我只想知道MVC系统中应该加密密码的正确级别是什么?
我想知道你是否可以在PHP中重载函数,特别是在CodeIgniter中.例如,在我的控制器中,如果我要加载一个视图,但无论变量是作为参数提供还是留空,它都会有所不同.这是我尝试的概念,这是我在其他语言中学到的:
<?php
function load_view(){
$this->load->view('view');
}
function load_view($var){
$this->load->model('data');
$data = $this->data->getInfo($var);
$this->load->view('view', $data);
}
?>
Run Code Online (Sandbox Code Playgroud)
但是当我尝试这个时,我收到错误"致命错误:无法重新声明Controller :: load_view"......
任何帮助将不胜感激.提前致谢!
我正在使用Codeigniter的文件上传类来上传用户头像.有没有办法在用户上传新文件时替换用户的图像文件?我想用最新上传的头像替换现有头像.
我的图片上传控制器
function upload_avatar()
{
$config['upload_path'] = './uploads/avatars/';
$config['allowed_types'] = 'jpg|png';
$config['overwrite'] = FALSE; //overwrite user avatar
$config['encrypt_name'] = TRUE;
$config['max_size'] = '200'; //in KB
$this->load->library('upload', $config);
if ( ! $this->upload->do_upload())
{
$error = $this->upload->display_errors();
$this->session->set_flashdata('error', $error);
redirect('/settings/avatar');
}
else
{
$config['image_library'] = 'gd2';
$config['source_image'] = $this->upload->upload_path.$this->upload->file_name;
$config['create_thumb'] = FALSE;
$config['maintain_ratio'] = FALSE;
$config['width'] = 120;
$config['height'] = 120;
$this->load->library('image_lib', $config);
$this->image_lib->crop();
//Add image path to database
$avatar_path = 'uploads/avatars/' . $this->upload->file_name;
$user_id = $this->tank_auth->get_user_id();
$this->Settings_model->update_avatar($avatar_path, $user_id);
$this->session->set_flashdata('success', …Run Code Online (Sandbox Code Playgroud) codeigniter ×10
php ×10
avatar ×1
caching ×1
controller ×1
encryption ×1
javascript ×1
memcached ×1
mysql ×1
outputcache ×1
overloading ×1
pdo ×1
phpunit ×1
post ×1
registration ×1
unit-testing ×1
upload ×1
view ×1