我正在使用jQuery DatePicker来选择日期和日期.当我选择一个日期时我将其转换为使用strtotime函数的时间戳,我有一些日期存储在我的数据库中,列类型为timestamp.
当我使用strtotime从日期选择器转换所选日期时
$from_date = strtotime($form['from-date']);
Run Code Online (Sandbox Code Playgroud)
它给了我这样的东西
1338508800
Run Code Online (Sandbox Code Playgroud)
而存储在我的数据库表中的日期如下所示
2012-06-09 02:24:25
Run Code Online (Sandbox Code Playgroud)
我想根据所选的和迄今的查询记录.但查询未正确获取我的日期.
如何更改所选日期,以便在两个选定日期之间给出结果?
我对PHP和自定义错误处理程序的设置相当新,但我有一些代码在CI之外工作正常,但我无法弄清楚如何将它集成到CI控制器中.我收到错误"消息:未定义属性:错误:: $ my_error_handler"
我的控制器是:
<?php
class Errors extends CI_Controller {
public function __construct()
{
parent::__construct();
}
function my_error_handler($number, $message, $file, $line, $vars)
{
$email = "
<p>An error ($number) occurred on line
<strong>$line</strong> and in the <strong>file: $file.</strong>
<p> $message </p>";
$email .= "<pre>" . print_r($vars, 1) . "</pre>";
$headers = 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
// Email the error to someone...
error_log($email, 1, 'name@domain.com', $headers);
// Make sure that you decide how to respond to errors (on the user's …Run Code Online (Sandbox Code Playgroud) 我有一个标准的登录表单,将数据提交给Codeigniter函数进行身份验证.问题是,数据似乎在它甚至命中函数之前被剥夺了HTML实体.现在,如果我错了,请纠正我,但我认为config.php中的参数只与Codeigniter函数有关,IE它与$ this-> input-> post NOT $ _POST有关..无论如何,在我的config.php中我是拿到
$config['global_xss_filtering'] = FALSE;
如果我提交表单,我在输入字段中提交的数据是:
$_POST['user'] = 'user';
$_POST['password'] = 'password%100';
Run Code Online (Sandbox Code Playgroud)
作为参考,我的表单开头标记是:
<form method="POST" action="<?=site_url('/log-in')?>">
我已经完成了以下功能来测试数据:
echo "<pre>";
print_r($_POST);
echo sha1('userpassword%100') . '<br />';
echo sha1($_POST['username'] . $_POST['password']) . '<br />';
echo sha1($this->input->post('username', FALSE) . $this->input->post('password', FALSE)) . '<br />';
echo "</pre>";
Run Code Online (Sandbox Code Playgroud)
这给出了一个输出:
Array
(
[username] => user
[password] => password0
)
ad45e6412dd3cec23e47bbb48c874cdcfd6d39e7
fa3279bde5d6aba9ed77c6e5b071ff8dde741b92
fa3279bde5d6aba9ed77c6e5b071ff8dde741b92
Run Code Online (Sandbox Code Playgroud)
所以顶部哈希值是正确的,但是传递的实际数据似乎剥离了html实体,IE%10来自密码字段 - $ _POST ['password']应该是密码%100 NOT password0
任何人都可以告诉我如何获得正确的,未转义的数据?
提前谢谢,克里斯蒂安
我正在使用所选的 UI库为名为"tables"的帖子参数选择多个值.在Chrome网络控制台中,我可以检查它是否正常工作:
Form data
checkin:2012-06-15 16:00:00
checkout:2012-06-15 17:00:00
tables:14
tables:15
tables:16
customer:28
Run Code Online (Sandbox Code Playgroud)
但是当我尝试在控制器中恢复此表信息时
var_dump($this->input->post('tables'));
Run Code Online (Sandbox Code Playgroud)
我只获得了参数的最后一个值:
string(2) "16"
Run Code Online (Sandbox Code Playgroud)
我也尝试var_dump($_POST['tables']);了相同的结果.
有没有办法在每个函数(在控制器中)加载视图(页眉或页脚)?我在if/else那里有几个陈述,在我需要的时候改变这一切将是一件痛苦的事.
使用like进行非常简单的搜索,并且可以省略选项,但是我发现like语句正在使查询忽略where语句
$this->db->like('LOWER(location) OR LOWER(name)', strtolower($term));
$this->db->where('stage', 1);
$this->db->order_by("name", "asc");
$query = $this->db->get($this->user_table);
return $query->result();
Run Code Online (Sandbox Code Playgroud)
使用$ term ="dublin"生成上述内容的示例;
SELECT * FROM (`users`) WHERE `stage` = 1 AND LOWER(location) OR LOWER(name) LIKE '%dublin%' ORDER BY `name` asc"
Run Code Online (Sandbox Code Playgroud)
它仍然返回'stage'不等于1的行.
有任何想法吗?谢谢!
我正在尝试从同一个类中的函数访问类中声明的数组.我尝试了几种不同的方法来尝试使其工作,但我对PHP相对较新.这是我的代码片段
class Site extends CI_Controller {
var $dates = array(
"Task" => NULL,
"Date1" => NULL,
"Date2" => NULL,
"TimeDiff" => NULL
);
function index()
{
if($this->$dates['Date1'] != NULL && $this->$dates['Date2'] != NULL)
{
$this->$dates['TimeDiff'] = $this->$dates['Date2']->getTimestamp() - $this->$dates['Date1']->getTimestamp();
}
$this->load->view('usability_test', $this->$dates);
}
Run Code Online (Sandbox Code Playgroud)
我也尝试过使用global关键字
global $dates;
Run Code Online (Sandbox Code Playgroud)
无论如何我仍然会收到"未定义变量"错误.谢谢!
我的表单中有2个提交按钮,我试图让每个按钮都使用不同的控制器方法.我试图避免使用多种形式.
我正在使用
<button type="submit" onclick="javascript: form.action='restore'">Restore</button>
<button type="submit" onclick="javascript: form.action='delete'">Delete</button>
Run Code Online (Sandbox Code Playgroud)
...哪个有效,但我不确定这是不是最好的方法.有什么想法吗?
我在文本帮助器中使用codeigniter word_limiter()函数。
$string = "Here is a nice text string consisting of eleven words.";
$string = word_limiter($string, 4);
// Returns: Here is a nice…
Run Code Online (Sandbox Code Playgroud)
以上功能将输出限制为四个字。如何将限制后的单词也存储在变量中以供使用???
我试图从我的控制器调用一个模型,然后控制器从视图生成数据,将其保存为内容并将其返回给控制器,然后控制器将其添加到我拥有的模板中.
发生的事情是$content = $this->load->view('left/profile', $c_data);打印数据而不是将其保存在变量中$content
这是我的代码:
控制器:
function index($page = '1-Welcome to')
{
if (!$this->tank_auth->is_logged_in()) {
//display non-login page
redirect('/auth/login/');
} else {
//user information
$user['user_id'] = $this->tank_auth->get_user_id();
$user['username'] = $this->tank_auth->get_username();
//general page data
$main['title'] = $this->page_model->make_title(ucfirst($page));
//template data
$template['head'] = $this->load->view('templates/head', $main, TRUE);
//get left content
$c_data['make_profile'] = $this->left_model->make_profile($user);
//combine into one variable
$data['template'] = $template;
$data['page'] = $page;
$data['user'] = $user;
$data['left'] = $c_data;
print_r($data);
$this->load->view('main_template', $data);
}
}
Run Code Online (Sandbox Code Playgroud)
专注于 $c_data['make_profile'] = $this->left_model->make_profile($user);
这是 make_profile …