小编Mat*_*tis的帖子

像Twitter对话界面一样设计内部滚动条?

侧面板滚动条

当您点击推文时,可以在侧面板中看到滚动条,并且链接到推文的会话足够长.

滚动条是如何创建和设置的?

html css twitter scrollbar

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

MySQL和PDO:PDO :: lastInsertId理论上会失败吗?

我一直在思考这个问题.

考虑一个巨大比例的Web应用程序,比方说,每秒执行数百万次SQL查询.

我运行我的代码:

$q = $db->prepare('INSERT INTO Table
                 (First,Second,Third,Fourth)
          VALUES (?,?,?,?)');
$q->execute(array($first,$second,$third,$fourth));
Run Code Online (Sandbox Code Playgroud)

然后,我想立即获取最后一个查询的自动递增ID:

$id = $db->lastInsertId();
Run Code Online (Sandbox Code Playgroud)

lastInsertId是否可能失败,即获取我的两个代码块之间执行的某些SQL插入查询的ID ?

二级:

如果它可能失败,那么堵塞这种可能泄漏的最佳方法是什么?

创建另一个SQL查询以从数据库中获取正确的ID会更安全吗?

mysql database pdo

11
推荐指数
1
解决办法
2043
查看次数

HREF链接没有任何目标,不想使用hash或void(0)

我有一个链接,我希望能够单击以触发一段jQuery代码.

目前我有

<a href="#" id="foo">Link</a>
Run Code Online (Sandbox Code Playgroud)

$('#foo').click(function(){
  // Do stuff
});
Run Code Online (Sandbox Code Playgroud)

效果很好.但是,我一直讨厌以这种方式使用哈希.页面闪烁,散列被添加到页面URL.

一种替代方案是使用

<a href="javascript:void(0);" id="foo">Link</a>
Run Code Online (Sandbox Code Playgroud)

但我也不喜欢在浏览器状态栏中看到这段代码.它看起来很俗气.


我宁愿拥有的是一个解释性的javascript占位符,它什么都不做,比如

<a href="javascript:zoom();" id="foo">Link</a>
Run Code Online (Sandbox Code Playgroud)

实际上有效,但在javascript控制台中抛出一个ReferenceError,因为没有这样的功能.什么是无效的函数的最小定义?

还有其他选择吗?

我应该跳过链接并使用类似的东西

<span id="foo" style="cursor:pointer;cursor:hand;">Link</span>
Run Code Online (Sandbox Code Playgroud)

代替?

html javascript jquery

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

窃取我的POST数据

好吧,这可能是非常基本的,但在这个发展阶段,这对我来说很重要.我感谢任何意见和建议.

此示例中的数据不受SSL加密保护.


page1.php/asp含有一种形式,职位变量usernamepasswordpage2.php/asp.


  • 来自任何地方的任何人都可以通过收听它来拦截我的POST数据,可能还有像Firesheep这样的第三方软件吗?

如果上述问题呈现为TRUE:

  • 我是否应该始终认为我的未加密的POST数据可以免费提供给任何人?
  • 我网站上的标准登录表单只是描述一层甚至不存在的安全层吗?
  • 我是否应该将登录功能视为个性化用户体验的一种方式?
  • 鼓励用户不使用他或她的正常(假设的更安全)密码是否有意义,因为在注册和登录过程中它不会受到保护?

我在思考这些问题,感谢任何意见和反馈.

php security post packet-sniffers

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

管理快速增长的网站

我正在开发一个项目,最近已经开始越来越受欢迎.

当然,这种发展得到了开放的支持,也有所期待.因此,我已采取一切措施来创建高效安全的代码.但是,当谈到服务器容量时,我没有足够的财务手段来创造足够的开销.

我怀疑我的网站将开始显示缺乏性能,而不是更晚,我需要帮助选择要走的路,以及优先考虑的事项.

我有几个问题,我很感激您丰富的经验.

该网站目前基于PHP + MYSQL + jQuery.我在编码时一直试着记住,以确保数据流量和服务器调用/数据库查询保持严格和智能.

最重要的问题是:

如何在财务资源不断受限的情况下继续扩大网站性能?

我希望该网站能够缩短收入,使我能够投入越来越多的资金开发服务器园区,或者将其本地化到不同的地区和/或国家,以便更快地访问和更好的路由.

是否有人在将用户重新路由到不同的服务器方面具有专业知识,可能是循环式将它们放在不同的服务器上以减少负载?

是否值得放弃PHP + MySQL并朝着某个方向更好地处理负载?

是否值得雇用专门从事Web服务器安全的人来处理和更新服务器园区,可能包括备份等?

是否值得雇用某人来检查代码并使其更有效率?

这些只是我头脑中的几个问题.有关如何无缝迁移到更大的Web服务器解决方案的任何提示都表示赞赏.你们陷入的任何陷阱?请讨论并启发我.

php security load web-hosting

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

Internet Explorer,jQuery:输入框在被完全相同的时候跳转/移动

我想要的:在焦点上,通过hide()和show()将一个输入框更改为另一个输入框.

我得到的:在Internet Explorer(7/8)中,输入框在聚焦时向右移动几个像素.

  • 在其他浏览器中运行良好(显然).

这是我重新创建问题的链接:

<链接因不再相关而被删除>

源代码在上面链接的文件中提供,但为了方便起见,我也会将其包含在此处.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8"/>
<meta http-equiv="Content-language" content="en"/>
<script src="includes/jquery-1.4.2.min.js"></script>
<script>
$(document).ready(function(){
    $("#index_login_dummy").focus(function(){
        $(this).hide();
        $('#index_login_dummy2').show().focus();
    });
});
</script>
<style type="text/css">
.input_h {display:none;}
</style>
</head>

<body>

<div id="index_login">
    <form method="post" name="index_login" action="login.php">
    <input id="index_login_email" type="text" value="Email" name="email">
    <input id="index_login_dummy" type="text" value="Password" name="dummy">
    <input id="index_login_dummy2" type="text" class="input_h" value="Password" name="dummy"><input type="submit" class="input_button" value="Login">
    </form>
</div>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

为一个精心设计的问题+1!;)

编辑:

当我将表单字段放入表中时,它按预期工作.我猜有时你必须采用这些解决方案,但我不想知道为什么.然而,我对不同浏览器以不同方式绘制表单输入元素的解释很好(并且在IE中输入按钮影响其余元素).

工作代码:

<div id="index_login">
    <form method="post" …
Run Code Online (Sandbox Code Playgroud)

jquery internet-explorer input flicker

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

Javascript日期getTime()代码片段,带有神秘的附加字符

<script language="JavaScript">
var t = new Date();
t.getTime() + -864e5;
</script>
Run Code Online (Sandbox Code Playgroud)

在第二行末尾的"+"之后,那个时髦的代码是什么?

它可能很难理解,因为我怀疑它是他们试图保护自己免受刮擦的方式之一.

javascript datetime date exponentiation

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

CSS样式与Localhost和Machine Name不同

我即将完成我的第一个基于ExtJS的应用程序的实现.但是我现在面临着一个奇怪的问题.

我在服务器上使用ASP.net,然后在客户端使用ExtJS.我注意到,如果我从Visual Studio Debugger运行这个项目,那么它工作得很好,在这种情况下我的浏览器URL设置为

HTTP://localhost/MyApp/Home.aspx

但是一旦我打开一个新的浏览器并点击

HTTP://MyWorkStationName/MyApp/Home.aspx

它表现略有不同.例如,某些Button Shapes未正确呈现. 看到这个图像

任何机构都可以告诉我如何调试此问题.基本上如何通过URL中的机器名称与localhost来影响样式?

提前致谢!

browser coding-style localhost

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

我该如何为这个问题设计数据库结构?

我正在重建拥有大量流量的网站的后台系统.

这是应用程序的核心,我构建数据库的这一部分的方式对于大量代码和即将开展的工作至关重要.下面描述的系统每天必须运行数百万次.我将不胜感激任何关于这个问题的意见.

背景是用户可以添加他或她白天吃的东西.

简化,这个过程或多或少是这样的:

  1. 用户到达站点并且站点列出他/她当天的选择(如果按照以下步骤描述之前输入).
  2. 用户可以添加一餐(由1个到无限量的食物及其数量组成).膳食通过搜索字段添加,并以不同类型组织(如"早餐","午餐").
  3. 在膳食构建过程中,将显示最常用食物项目的列表(主要由该用户,但其次也由所有用户),以便快速选择.
  4. 膳食将存储在FoodLog表中,该表由以下内容组成:id, user_id, date, type, food_data.

我目前拥有的是一个巨大的数据库,里面有食物项目,可以从中搜索.食品存储有关于通用名称(如"猪肉片")和生产者(如"可口可乐")的信息,以及所需的其他详细信息.

问题摘要:

我的问题是,我不知道存储数据的最佳方式,以便以我需要的方式轻松访问,并且数据库不会失控.

考虑每天增加1至7餐的100万用户.为了存储每餐的每个食品,每天和每个用户可能每天创建(1*avg_num_meals*avg_num_food_items)百万行.

以某种压缩方式存储数据(如food_data是一个json_encoded字符串),会显着减少行数,但同时也很难创建"最常用的食物项目"列表和其他动态统计信息.

该表应该分成几个表吗?如果是这种情况,他们将如何互动?

该网站目前托管在中端CDN上,并使用LAMP(Linux,Apache,MySQL,PHP)骨干网.

php mysql database performance database-design

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

CSS div覆盖在Internet Explorer中无法点击

我一直在谷歌搜索和查询stackoverflow相当多但我没有发现这个确切的问题在其他任何地方重复.这可能是我忘记的傻事.

我正在做的事情:

通过使用两部分叠加按下图像的右侧或左侧来进行导航.代码就像我想在其他浏览器中一样工作,直到我在IE中尝试它才开心.

这是我现在被屠宰的代码.我删除了div的右侧等.这对我来说不适用于Internet Explorer 8(还没有尝试过IE 7/9),除非我要么:

  • 将背景颜色设置为.navi_left
  • 删除.top中的图像
  • 如果我将内容放入.navi_left,则可以单击内容(例如文本),在其他浏览器中可以单击完整的div.

任何这些选项都可以使IE 8中的.navi_left可单击.

生成的html:

<div class="image_div_big" style="width:600px;">
<div class="top">
   <img src="../img/20110331-200524-1.jpg" class="image_big" width="600" height="450">
   <div class="navi_left" id="172" style="width:312px;height:474px;"><!--placeholder--></div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS:

.image_div_big {float:left;}
.top {position:relative;width:100%;height:100%;}
.navi_left {cursor:pointer;cursor:hand;position:absolute;top:0px;left:0px;z-index:5;border:1px solid black;}
Run Code Online (Sandbox Code Playgroud)

javascript:

    $('.navi_left').click(function(){
        var id = $(this).attr('id');
        if (id != '') {
            window.location = '/index_temp.php?i='+id;
        }
    });
Run Code Online (Sandbox Code Playgroud)

我的解决方案

我终于同意我需要按照下面的建议去做.但是我拒绝使用特定于IE的样式表,所以我只是这样做:

.navi_left {position:absolute;top:0px;z-index:5;background-color:#fff;-moz-opacity:0;opacity:0;filter:alpha(opacity=0);}
.navi_right {position:absolute;top:0px;z-index:5;background-color:#fff;-moz-opacity:0;opacity:0;filter:alpha(opacity=0);}
Run Code Online (Sandbox Code Playgroud)

css jquery internet-explorer overlay

3
推荐指数
1
解决办法
2388
查看次数