小编vit*_*tto的帖子

MySQL:保留服务器时区或用户时区?

我正在考虑在我的网站上存储用户登录日期,但我不知道什么是最合理的解决方案.

最初,我虽然使用服务器时区,然后使用服务器机器日期和用户机器日期之间的差异操作来管理它,但我也考虑使用时区和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)

我的问题是,什么是最佳解决方案,保留服务器时区或使用用户时区?
如果我使用用户时区,我应该保存时区名称吗?

php mysql timezone date

8
推荐指数
1
解决办法
4347
查看次数

如何在登录后返回CakePHP中的referer页面

回到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)

authentication cakephp login session-variables referrer

7
推荐指数
2
解决办法
2万
查看次数

如何避免此PDO异常:在其他未缓冲的查询处于活动状态时无法执行查询

我想在我的页面中打印一个简单的表格,其中有3列building name,tagsarchitecture 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)

php mysql select pdo exception

6
推荐指数
1
解决办法
1万
查看次数

ReactJS:如何从另一个组件更新组件

我正在尝试textareaReactJS编写一个简单的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)

javascript reactjs

6
推荐指数
2
解决办法
2万
查看次数

'<?='与'echo'相同?

我找到了一些人们在网页上打印字符串的页面:

<?= 'hello world'; ?>
Run Code Online (Sandbox Code Playgroud)

这是print在一行代码中使用字符串的更快方法还是它的工作方式不同?

php echo

5
推荐指数
1
解决办法
187
查看次数

如何将事件添加到javascript运行时创建的html小部件

我正在CakePHP中开发一个Web社区,并开始怀疑使用jQuery在需要时围绕视图提供有用的小部件.

例如,我编写了一个jQuery插件,用于搜索特定输入文本中的数据,询问我的数据库并获取使用事件处理的结果.

基本上这个插件对于简单的应用程序来说是完美的,但它对于我几乎在所有视图中使用它的社区基本无用,并且每次使用不同的事件和方法处理它,使其具有巨大的事件声明并且非常烦人地被调试.

我想通过使用窗口小部件中的默认事件来解决问题,并添加特定于视图的附加事件的可能性,但我该怎么做?

这是我想的情况

在此输入图像描述

图像的绿色区域是我不确定的地方,我应该在每次需要时将默认事件放回原处?知道之后,在视图中,我可以向窗口小部件添加一些事件,以便更容易使用.

对于小部件,我打算通过javascript加载每种类型的html部分并且是交互式的,也许是输入搜索,它检索结果列表或类似的东西.

我的问题是如何在运行时将默认事件设置为窗口小部件,而不是每次都进行复制和粘贴?我的第二个问题是,如何才能为视图添加特定事件?

某些在线教程也很好.

javascript jquery code-reuse cakephp

5
推荐指数
1
解决办法
444
查看次数

DECIMAL vs INT什么是最佳优化选择?

我确定这个问题在没有精确背景的情况下是不完整的,所以我会尝试解释它,我会尽量明确
我需要在页面上存储一些数据,包括克数,毫克数,微克数和千焦耳数.

所有这些数据都是99999.99g(相隔千焦耳),所以我可以使用DECIMAL(7,2)或DECIMAL(5,2)和较旧的MySql版本.

但是,我在mysql网站上看到,DECIMAL数据类型比MEDIUMINT(我错了?)更重,可能足以存储数据.
主要是,我将对用户机器上的小数或浮点数进行数值运算,并且不需要再次存储它们,所以我怀疑在这种情况下什么是最佳数据类型.

那么这种情况下最好的数据类型是什么?

php mysql types integer decimal

4
推荐指数
1
解决办法
6999
查看次数

在Model上使用HtmlHelper在返回的错误中插入链接

我正在努力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)

cakephp html-helper model

4
推荐指数
1
解决办法
2200
查看次数

如何使用Backbone处理输入文本"粘贴"事件

我正在尝试通过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)

events backbone.js

4
推荐指数
1
解决办法
3159
查看次数

如何在Python中通过属性值获取数组列表中的对象

我正在尝试编写一个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)

python list object

4
推荐指数
1
解决办法
1万
查看次数