我正在考虑在我的网站上存储用户登录日期,但我不知道什么是最合理的解决方案.
最初,我虽然使用服务器时区,然后使用服务器机器日期和用户机器日期之间的差异操作来管理它,但我也考虑使用时区和php类日期更改它直接,所以:
<?php
// my server has for example America/New_York timezone
$user_timezone = "Europe/Rome";
date_default_timezone_set ($user_timezone);
$date = date ('Y-m-d H:i:s');
$sql = "UPDATE users SET user_last_modify = '$date', user_timezone = '$user_timezone' WHERE user_id = 'some id' LIMIT 1;";
$res = mysql_query ($sql);
?>
Run Code Online (Sandbox Code Playgroud)
我的问题是,什么是最佳解决方案,保留服务器时区或使用用户时区?
如果我使用用户时区,我应该保存时区名称吗?
回到referer页面时遇到问题:
first url: http://site.com/venue/apartments/1564/venue-name
referer url: null
Run Code Online (Sandbox Code Playgroud)
在这个页面我可以编辑内部的东西,所以我有一个login按钮去登录页面,成功登录后,我想转回到first url.
second url: http://site.com/users/login
referer url: http://site.com/venue/apartments/1564/venue-name
Run Code Online (Sandbox Code Playgroud)
当我尝试登录时,由于CakePHP操作规则,我必须刷新登录页面以检查凭据,problem从这里开始:
third url: http://site.com/users/login
referer url: http://site.com/users/login
Run Code Online (Sandbox Code Playgroud)
通过刷新页面,并检查控制器的login操作中的凭据users我得到的是我之前的相同页面,现在我不能回到first url.
我通过在AppController中设置会话变量来尝试一些解决方案,该变量检查我是否不在login操作页面中并执行此操作:
AppController.php
public function beforeFilter () {
$this->setRedirect();
}
public function setRedirect () {
if ($this->request->params['controller'] != 'users' && $this->request->params['action'] != 'login') {
$this->Session->write('redir', array('controller'=>$this->request->params['controller'], 'action'=>$this->request->params['action'], implode($this->request->params['pass'], '/')));
}
}
Run Code Online (Sandbox Code Playgroud)
通过测试会话var,debug($this->Session->write('redir'));一切看起来都很完美,直到我开始login行动:
UsersController.php
public function login () {
if …Run Code Online (Sandbox Code Playgroud) 我想在我的页面中打印一个简单的表格,其中有3列building name,tags和architecture style.如果我尝试检索列表building names并且arch. styles没有问题:
SELECT buildings.name, arch_styles.style_name
FROM buildings
INNER JOIN buildings_arch_styles
ON buildings.id = buildings_arch_styles.building_id
INNER JOIN arch_styles
ON arch_styles.id = buildings_arch_styles.arch_style_id
LIMIT 0, 10
Run Code Online (Sandbox Code Playgroud)
我的问题开始是为我刚刚编写的查询的每个建筑物重新保存前5个标签.
SELECT DISTINCT name
FROM tags
INNER JOIN buildings_tags
ON buildings_tags.tag_id = tags.id
AND buildings_tags.building_id = 123
LIMIT 0, 5
Run Code Online (Sandbox Code Playgroud)
查询本身工作得很好,但不是我想用它的地方:
<?php
// pdo connection allready active, i'm using mysql
$pdo_conn->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true);
$sql = "SELECT buildings.name, buildings.id, arch_styles.style_name
FROM buildings
INNER JOIN buildings_arch_styles …Run Code Online (Sandbox Code Playgroud) 我正在尝试textarea用ReactJS编写一个简单的char计数器小部件来学习如何使用它,但我现在确定如何通过fire textarea onChange事件设置值.
这就是我写这个应用程序的方式:
/**
* @jsx React.DOM
*/
var EditorWidget = React.createClass({
render : function() {
return (
<div className="editor-widget">
<h4 className="title">Titolo articolo</h4>
<TextArea maxLength={this.props.maxLength}/>
<footer>
<TextStatus maxLength={this.props.maxLength} currentLength={this.props.currentLength}/>
<ActionButton />
</footer>
</div>
);
}
});
var TextArea = React.createClass({
onTextChanged : function(event) {
// how to update currentLength for TextStatus component?
this.props.currentLength = event.target.value.length;
},
render : function() {
return (
<textarea onChange={this.onTextChanged} maxLength={this.props.maxLength} placeholder="Lampadario con catino romagnolo"></textarea>
);
}
});
var TextStatus …Run Code Online (Sandbox Code Playgroud) 我找到了一些人们在网页上打印字符串的页面:
<?= 'hello world'; ?>
Run Code Online (Sandbox Code Playgroud)
这是print在一行代码中使用字符串的更快方法还是它的工作方式不同?
我正在CakePHP中开发一个Web社区,并开始怀疑使用jQuery在需要时围绕视图提供有用的小部件.
例如,我编写了一个jQuery插件,用于搜索特定输入文本中的数据,询问我的数据库并获取使用事件处理的结果.
基本上这个插件对于简单的应用程序来说是完美的,但它对于我几乎在所有视图中使用它的社区基本无用,并且每次使用不同的事件和方法处理它,使其具有巨大的事件声明并且非常烦人地被调试.
我想通过使用窗口小部件中的默认事件来解决问题,并添加特定于视图的附加事件的可能性,但我该怎么做?
这是我想的情况

图像的绿色区域是我不确定的地方,我应该在每次需要时将默认事件放回原处?知道之后,在视图中,我可以向窗口小部件添加一些事件,以便更容易使用.
对于小部件,我打算通过javascript加载每种类型的html部分并且是交互式的,也许是输入搜索,它检索结果列表或类似的东西.
我的问题是如何在运行时将默认事件设置为窗口小部件,而不是每次都进行复制和粘贴?我的第二个问题是,如何才能为视图添加特定事件?
某些在线教程也很好.
我确定这个问题在没有精确背景的情况下是不完整的,所以我会尝试解释它,我会尽量明确
我需要在页面上存储一些数据,包括克数,毫克数,微克数和千焦耳数.
所有这些数据都是99999.99g(相隔千焦耳),所以我可以使用DECIMAL(7,2)或DECIMAL(5,2)和较旧的MySql版本.
但是,我在mysql网站上看到,DECIMAL数据类型比MEDIUMINT(我错了?)更重,可能足以存储数据.
主要是,我将对用户机器上的小数或浮点数进行数值运算,并且不需要再次存储它们,所以我怀疑在这种情况下什么是最佳数据类型.
那么这种情况下最好的数据类型是什么?
我正在努力CakePHP并试图了解使我的应用程序保持一致和合乎逻辑的最佳方法.
现在我正在尝试Model data validation处理和处理验证错误view,我怀疑如果我想在返回的错误中插入一些链接,我应该怎么做,例如忘记密码.
HtmlHelper在模型中使用(如果可能的话)在我的应用程序中返回一致的链接是好的,还是我应该考虑另一种方式?
<?php
App::import('Helper', 'Html');
class User extends AppModel {
var $name = 'User';
var $validate = array (
'email' => array (
'checkEmail' => array (
'rule' => array('email', true),
'message' => 'Email not valid message.'
),
'checkUnique' => array (
'rule' => 'isUnique',
'message' => 'This email is allready in the db, if you forgot the password, '.(string)$this->Html->link('click here', array('controller' => 'users', 'action' => 'password-recover')).'.'
)
)
// …Run Code Online (Sandbox Code Playgroud) 我正在尝试通过Backbone用户在输入文本元素中写入或粘贴字符串来将数据发送到服务器.
在Backbone事件中,我认为这样的事情,但它不起作用:
events:{
"click .close":"closeResults",
"keypress input":"fetchData",
"paste input":"fetchData"
},
fetchData:function (e) {
var $this = this;
window.setTimeout(function () {
if ($.trim(e.target.value).length >= 3) {
console.log(e.target.value);
$this.collection.fetch({data: {limit: 10, term:$.trim(e.target.value)}});
}
}, 0);
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个Sublime Text 2插件并在文件中获取一些值.subilme-settings。
{
"files":
[
{
"name" : "Markdown",
"extension" : ".md"
},{
"name" : "Python",
"extension" : ".py"
},{
"name" : "Sublime Text Setting",
"extension" : ".sublime-settings"
}
]
}
Run Code Online (Sandbox Code Playgroud)
这是我第一次使用Python,我不知道该怎么做,确实存在这样的东西:
my_array.indexOf({"extension":".py"})
Run Code Online (Sandbox Code Playgroud)