PHP MySQL localhost 127.0.0.1

今天刚发现一个问题,PHP连接MySQL的时候,不同环境的localhost会有不同的结果。 我的服务器装了2套PHP,其中有一个是用源码编译的,另一个是xampp集成包。 编译的php用于生产环境,xampp用来建立测试环境。 把线上的代码放到测试环境下,居然报告无法连接MySQL! 刚开始以为是端口的问题,可是我在命令行下怎么连接都没问题。最后抱着试试看的想法,把localhost改成了127.0.0.1,这回居然成功了。 我不能理解,线上代码运行的好好的,配置文件就是localhost呀,怎么到测试环境就必须改成127.0.0.1才行? 两套环境,主要的区别就是PHP,虽然版本都一样,不过xampp是编译好的,我估计问题出在这里。 然后立刻写了一个测试程序: $connA = mysql_connect(‘127.0.0.1:3306’, ‘leakon’, ‘pass’); $connB = […]

用CSS实现Tab导航

本文主要讨论的就是导航tab的底部灰线如何用CSS实现,而不是用背景图片实现。用CSS实现的好处是可以避免浏览器发起一次图片请求,另一个是可以方便地改变颜色、尺寸。 做法是用ul和li标签生成tab,在ul的外部用p标签包围,导航底部的那条细线,就是p标签的bottom-border。 过程中遇到的一个难题是,高亮的tab,是白色背景,该tab底部没有border,应该也是白色的。但用普通的方法没法做到,如上面第2个图,“首页”那个tab的出现了底部border。因为p标签是ul和li的外层容器,内部的所有元素默认都在p标签的范围内,无法跨越p的边界。 通常这种导航的底部实现都是用背景图片代替,这样的理由是:1、背景图片的位置可调,可以不用紧紧挨着边框,比如离bottom有4px的距离;2、背景图片显示在最低层,p容器内的任何元素都可以覆盖住背景图片。高亮tab的底部没有border的效果就是靠白色背景挡住了p的背景图片做到的。 基于这种思想,我考虑可以用什么方式让内部元素挡住外层元素呢? ul元素的position属性设置为absolute,p标签的position设置为relative。这样ul就定义在p标签内浮动,默认top和left都是0,即p的左上角。同时,ul会覆盖住p。只要p的height刚好比ul的height小1px就可以,也就是让ul中li的bottom-border刚好和p的bottom-border在同一个垂直高度上。注意,p标签的overflow属性必须是visible(默认值),也就是说只要你不把overflow设置成其他值就没问题。 经过上面的步骤,可以总结出几个关键点,按重要顺序排列: ul和p的position属性,分别是absolute和relative(这里告诉你为什么这样设置) p的高度应该比ul小1px(根据你的需要,小几个px都可以) overflow属性必须使用visible 通过这几个关键点,你就可以基本实现图1的效果,不过还要针对不同浏览器做小小的css hack。 hack的关键点就是p的height值,在我这里,Firefox2/3、Chrome、Opera适合27px,IE7、Safari适合26px,IE6适合25px。 现在我唯一的问题是不知道怎么写出专门适用于Safari的CSS定义,所以在Safari下是图3的效果,其实就差1px,回头找到方法再补充吧。

我的互联网每周点评 2008-11-22

百度公关 因为没给某个电视台交保护费,就遭到连续2天的恶意报道,说百度为了利益而改变搜索引擎的排序结果,误导网民,甚至还说什么会影响互联网产业。不管说的对不对,我看那个电视台想说的意思是:百度收了钱才办事儿,不给钱不仅不办事儿,甚至给你屏蔽了。那么我反过来看看那个电视台的行为:给了广告费就帮你忽悠,不给广告费,不仅不给你忽悠,还给你栽赃陷害。如果说百度会影响互联网产业,不知道那个电视台会影响什么?我估计会影响中国的持续发展。不如把这个电视台新盖的楼送给百度,呵呵…… Gmail 主题 Gmail 可真是个好东西,我现在真不敢想象,如果没有 Gmail,我的生活将会受到什么样的影响。现在可以换主题了,我觉得可以吸引很多普通用户,让他们从其他邮箱转移到 Gmail。不要小看换皮肤这个功能。如果你是一个实用主义者,似乎对这类功能不感兴趣。确实,Gmail 最开始是以实用为主的,面向的也都是有经验的互联网用户。当 Google 满足了这部分高端用户的需要后,就开始向更大范围的普通用户下手。看看百度空间,提供了用户自定义CSS的功能。再看看有多少用户创建的模板,数以万计。有人说百度空间有点娱乐型的感觉,比较适合普通用户,尤其是年龄较低的用户。也许 Gmail 的这次开发主题选择,也是为了这部分用户吧。 用户研究 最近又讨论到用户,又说起创业公司的第一步应该怎么走。当我们几个人坐下来讨论,各自为了证明自己观点的正确性而引经据典时,突然发现,这些前人总结的真理,都是正确的。说起如何选择方向的时候,我提出了一个观点,就是创业的初期应该是2条路:1、创业者选定一条自己最擅长的领域或方向,在这个领域潜心钻研,深入探索,然后做一些针对性和目的性很强的用户调研,来为自己设定的目标提供修正或参考;2、创业者有一个“万能”的团队,就想 […]

SSH 信任 无密码 无口令 登录 ssh-keygen

做 rsync 远程同步文件的时候,总要输入密码,没法做自动运行。查 rsync 的使用方式,用 –password-file=/home/leakon/secret/rsync.pass 这个参数也还是不行,有人说改文件权限为 600,有人说文件里面只写密码,不要写成 user:pass 的格式。反正怎么试都是不行。 只能寻求建立 SSH 信任关系跳过密码的方式来同步文件了。 本来以前查资料,搞定过用 SecureCRT 不要密码登录 […]

htmlspecialchars vs htmlentities

很多人都以为htmlentities跟htmlspecialchars的功能是一样的,都是格式化html代码的,我以前也曾这么认为,但是今天我发现并不是这样的。 这两个函数在格式化带有英文字符的html代码的时候基本没啥问题,但是htmlentities对中文字符也不放过,这样得出来的结果是中文字符部分变为一堆乱码。当时做英文站的时候根本就没觉察到这个问题,而今天公司的一个收藏站却因为有有非英文字符而出现了问题,我最终查出来是htmlentities这个函数的问题,同时我也找到了htmlspecialchars这个函数。 对于这两个函数,php手册上都是英文做的解释,其中在htmlentities函数的说明部分有这么一段英文: This function is identical to htmlspecialchars() in all ways, except with htmlentities(), […]

MooTools Essentials: The Official MooTools Reference for JavaScript and Ajax Development

MooTools,是 My Object Oriented JavaScript Tools 的缩写,我的面向对象的Javascript工具! 看别人的评论,说这个Javascript框架在扩展性上得益于面向对象的设计,比JQuery做得更好。 今天找到了介绍这个框架的电子书,顺便提供下载。 下载地址: http://down.leakon.com/software/2008/11/Apress.MooTools.Essentials.Aug.2008.pdf

与互联网产品设计有关的讨论 (二)

Jeff刚刚仔细读过《赢在用户》-WEB人物角色创建和应用实践指南,书评可以到豆瓣看看: http://www.douban.com/subject/2157554/ 他说,我们现在缺乏一套用户角色模型。这本书里面提到一个网站首先要建立起一套对应的用户角色模型,知道自己要给哪些用户提供服务,然后再根据不同类型用户的需求制定项目优先级。如果没有这套模型,那么我们会总是遇到这样那样的产品问题,针对这些具体问题的讨论将会永无休止。因为这样的讨论不是基于一套被每个人都认同的概念标准的。 比如,Jeff用1天时间搞了几个单机版的Flash小游戏,作为一个“游戏”模块挂到“应用”分类下面。我觉得,这项功能跟我们的网站毫无关系,没必要在这上面浪费时间,哪怕是1分钟都不应该。而Jeff说他确实听到了用户有这方面的需求。 这就是问题的根源,我们的网站要做什么?要给谁提供服务?想玩游戏的用户是不是我们的“重要”用户? 如果我们确定好了用户角色模型,统一了意见,知道我们主要为谁提供服务,那么这个问题就好解决了。 他还提到,当网站增加了一项新功能时,会给四类用户带来不同的反应(我记得大概是这几种): 迫切希望网站增加新功能,不管是否和网站主题相一致 增加的功能正好是用户锁盼望的,这样会应得用户的好感 增加的功能是用户不愿意看到的,会让用户产生反感 用户不在乎你增加什么功能,他需要的已经有了,对其他功能无所谓 当时是吃饭的时候说的,印象中是这几项。 这本书我没看过,我今天要说的也不是书里的内容,我是有另一种感觉,需要我用插叙的方式引入我对“规律”二字的看法。 写这类书的作者,大部分都是对书中内容所属的行业有很长时间的工作经验。他们应该是把这个行业的规律都看透了,已一种“过来人”的角度来总结自己的经验。 我举个例子,Yoyo总爱看跟星座有关的内容,她认为说的都特别准。以前我看的时候,也觉得似乎很准。现在我却发现了这类内容的一个规律:一个星座的人,所谓的性格特点,都是说那些优秀的性格,比如说你这个星座的人做事很细心,很谨慎,很有风度,很会为他人着想,有时候比较任性……。其实他说的这些性格,是每个人都会有的性格。我们可以做一个测试,找一个不是经常看星座的人,我们给他看一套特殊的星座性格特点,还是分12个部分,只是每个部分只有性格说明,没有所述星座说明。然后让他说哪个部分说的是他所处的星座。估计没有人能答对。 […]

带链接的 img 标签不宜应用 margin 或 padding 样式

上述5个配图,分别是IE6、Firefox3、Opera9、Safari3和Chrome浏览器下的不同效果。 应用场景是,图片有链接,HTML片段是: <a href=”…”><img src=”…” alt=”…” /></a> img 标签有样式表定义,为了使图片与周围的内容有一些间距,我加入了 margin 定义。 加入之后,在现代浏览器中,会出现上图中显示的蓝色 hover 块与图片不匹配的情况,在这点上,IE6、IE7都能正常显示。 定位问题用了很久,最后发现是 […]