php基础测试

如何改进以下的这行php代码?这段代码可以被用来测试php工程师应聘者。

< ?
echo(”Search results for query: ” .$_GET[’query’] . “.”);
? >

这段代码非常适合用来测试一个php开发人员是否合格。因为这段代码并没有要求太多记忆上的东西(例如函数的记忆),但是对安全,性能,兼容性上都做了考察。

参考答案:

< ?php
if (isset($_GET[’query’]))
{

echo ‘Search results for query: ‘,
htmlspecialchars($_GET[’query’], ENT_QUOTES), ‘.’;

}
? >

改进的地方有 :

* 把php短标签(< ?)换成了长标签(< ?php),因为并非所有php环境都支持短标签
* 增加判断该全局变量是否存在,防止在某些环境下出现notice错误,而且在当前的例子里如果query无则没必要输出
* 把echo的”(”去掉,echo不是一个函数,没必要使用“(”
* 把字符串两边的双引号换成了单引号,提高了性能。因为双引号里的内容会被尝试进行变量和转义字符的解析。
* 对query这个get变量进行html过滤。防止输出html,这可能会带来包括xss在内的一些危险
* echo后面的字符串之间的间隔使用逗号而不是句号。因为句号之间的字符串会先被连接起来然后再输出,而,号只是按顺序输出。在这个例子里显然不需要先连接字符串。

服务器空间

正在找服务器空间中。。。找一台像样Linux的服务器太难了(在中国)

哎。。。。

URL网址规范化问题

网址URL规范化(URL canonicalization)是近一年来在Google搜索结果中出现的一个很大的问题。它指的是搜索引擎挑选最好的URL网址作为真正网址的过程。举例来说,下面这几个URL一般来说指的是同一个文件或网页:
http://www.seosem.cn
http://seosem.cn
http://www.seosem.cn/default.asp
http://seosem.cn/default.asp
但是从技术上来讲,这几个URL网址都是不同的。虽然在绝大部分情况下,这些网址所返回的都是相同的文件,也就是你的主页。但是从技术上来说,主机完全可以对这几个网址返回不同的内容。
当搜索引擎要规范化网址时,搜索引擎需要从这些选择当中挑一个最好的代表。一般来说,你的主页应该是固定的,只有一个。但是有的时候,在很多网站上站长在链接回主页时,所使用的URL并不是唯一的。很可能在你的网站上,一会连到URL http://www.seosem.cn,一会儿连到URL http://www.seosem.cn/default.asp
虽然这不会给访客造成什么麻烦,因为这些网址都是同一个文件,但是对Google来说却是造成了困惑,哪一个网址是你真正的主页呢?如果在你的网站上,不同的版本网址都大量出现,那么这两个URL可能都会被Google收录进数据库,这时就会造成复制内容网页。
所谓复制内容网页,指的是两个或多个网页的内容是相同或大部分相似的。很多时候,复制网页有可能是作弊手段。就算不是作弊手段的时候,搜索引擎通常也只会挑出其中一个返回搜索结果,而把其他的复制网页都排在最后面,以至于根本找不到。
当你的网站出现网址URL规范化问题的时候,就有可能造成被怀疑为复制网页,因而影响搜索引擎结果排名。
从Google的角度来说,他们正在发展所谓大爸爸数据中心基本架构,来解决包括URL规范化的问题。但谁知道能不能解决呢?
从站长的角度来考虑,你应该做两件事:
1)你的网站内部在链接到其他网页,尤其是主页时,只使用一种URL。不管是包含www或不包含www,你要由始至终只使用一个版本。这样搜索引擎也就明白哪一个是规范化的主页网址。
2)但是你没办法控制别的网站用哪一个网址连向你的主页。所以你应该在你的主机服务器上,把所有有可能成为主页网址的URL,做301重定向到你所选择的主页网址版本。也就是说,从下面这几个网址
http://seosem.cn
http://www.seosem.cn/default.asp
http://seosem.cn/default.asp
都要做301重定向到这个网址
http://www.seosem.cn
很重要的一点是,如果你的网站出现了URL规范化的问题,千万不能使用Google的网址删除反馈表,来要求删除其中的一个网址版本。比如说,你所要的是带有www的版本
http://www.seosem.cn
你千万不能到Google的网站上填表,要求没有www的主页网址
http://seosem.cn
被删除掉。因为那样做的话,你整个的域名有可能被删除6个月。
当然,除了包含www和不包含www的两个版本以外,还有其他类型的URL规范化问题。比如有的时候,搜索引擎会去掉或加上网址尾端最后的斜线。有的时候会尝试把大写字母换成小写字母,有的时候可能尝试去掉会话ID(session ID)等等,这些都有可能造成网址规范化问题。

避免在网站设计中使用框架页

最近,我和一位客户讨论一个内部使用的网络应用软件,会议进行得很顺利,直到他提及框架页的使用。他选择框架页作为站点的版面设计,因为他要取代现有的VB程序。但是目前,框架页的使用难以令人满意,虽然我已经不记得最后一次编写使用框架页的程序的时间了,但我却记得使用框架页的那段艰难时光。在这篇文章中,我将向您解释为什么要避免使用框架页而考虑其它的设计方案。

 

 

基本概念

中.国站长站

 

在很多年前首次引入的时候,框架页曾经是一个很酷的概念。我还记得在横幅、导航和站点内容部分分别使用单独的框架页。即使您不熟悉框架页的概念也没有关系,其概念并不复杂,基本上,HTML框架页允许您将浏览器窗口划分为单独的空间或框架。

 

 

还有框架的HTML元素主要用于基于框架的版面设计,框架元素定义了单独的空间或框架集,这些框架页包含在框架元素中,框架元素的行与列的属性定义了框架页的版面效果。列表A中的HTML代码创建了一个示例框架集,网络开发区的文档将载入到左边的框架页,而同时Download.com网站将被载入到右边的框架页。 Www.Chinaz.com

以下为引用的内容:
<html>
<head>
<title>Frames</title>
</head>
<frameset cols="400, *">
<frame name="left" src="http://www.webjx.com/htmldata/2007-10-15/1192417401.html" SCROLLING="yes" NORESIZE>
<frame name="right" src="http://www.webjx.com/" SCROLLING="yes" NORESIZE>
<noframes><body>
This appears if frames aren't supported.
</body>
</noframes>
</frameset>
</html>


列表A Www^Chinaz^com

每个框架页的SCROLLING属性决定了用户是否能在该框架页中使用滚动条;NORESIZE属性则说明了该框架页不能被重新设定大小,因而其宽度是静态的;而noframes元素则提供了在不支持框架的浏览器中的显示效果;在框架页上除了这些之外就没有其它的选项了,您可以参考相关的HTML资源来获取更多信息。

 

 

在上个例子中,将两个网站载入到框架页中并不是最实际的应用,框架页通常用于将浏览窗格放置在左侧或着顶端,而内容放置在右侧或者底部,通过设定框架页的宽度(或者高度)并载入所需要的页面,这一功能很容易实现。框架页的概念很简单,但是大部分网络开发人员都蔑视这一功能。

 

 

缺陷

 

 

近来,框架页的使用难以令网络开发社区感到满意,实际上,在XHTML 1.1规范中,已经不再支持框架页了,它已经被XFrames所取代。所以这是放弃使用框架页的一个原因,但目前被支持的标准怎么样呢?以下列出了框架页没有被广泛使用的原因: 站长.站

很多网络开发人员从哲理的角度讨论了框架页,它们认为框架页的使用违反了互联网的基本概念,因为这将造成大量的独立页面无法被链接。
虽然大部分网络浏览器可以依照设计显示出框架页,但是对于非传统的浏览器平台,比如手机、掌上设备等,却没有实现此功能,即使基于框架页的设计方法是有用的,但在这些平台上却造成了混乱。 
 

搜索引擎在处理使用框架页管理的网站时会遇到麻烦,很多搜索引擎,比如Google,会跳过框架页内容而对没有框架的内容进行索引。
对于预先定义的基于框架页的区域,编写代码和页面设计都可能成为问题,如果页面布局设计得很糟糕,在单独浏览这些页面的时候,就会造成麻烦。

 

 

对于用户而言,使用框架页站点的浏览体验可能令人恼怒。在将站点加入收藏夹时,通常会收录整个框架集而相关内容却被忽略了,因此用户很难找到所需的内容。另外一个问题是打印,不过好在大部分浏览器都允许用户选择打印整个框架集或者单独的框架页。

框架页还导致了很多可及性(accessibility)问题,含有框架页的视觉布局很难转换到非视觉化的浏览器中,一个好的准则是在所有的页面元素上提供文字说明,并附加对不支持框架页的浏览器的说明。一份在线指导提供了更多的细节。

 

 

替代设计

 

 

框架页是在CSS出现之前引入到互联网的,现在,CSS可以作为替代框架页的设计方案,上文中的例子可以使用CSS重新编写,列表B展示了使用CSS的代码。

 

 

以下为引用的内容:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<title>Two columns with CSS</title>
<style>
#left {
width: 400px;
float: left;
margin-left: -1px;
padding: 5px;
background: yellow;
}
#right {
padding: 5px;
margin-left: 405px;
background: lightgrey;
}
</style>
</head>
<body>
<div id="left">
Left area
</div>
<div id="right">
Right area
</div>
</body>
</html>


列表B 中.国.站长站

在这个简单的例子中,为了说明CSS的作用,我还对每个div加上颜色进行区分,您可以使用CSS来创建更加强壮的页面布局。雅虎的用户界面库提供了一个很棒的例子,您还可以使用AJAX来改进数据的载入,这也是通常使用框架页的原因之一(当然框架页不需要如此频繁地刷新)。 中.国.站长站

另外一个表示选择

 

 

在网络开发者的眼中,框架页已经是历史的遗迹了,但它确实曾经像现在的CSS一样为人们提供了更好的选择,我希望听到您对框架页的意见,请在文章讨论区分享您的想法和经验。

 

 

正如您所思考的一样,我将会劝说我的客户使用含有CSS的页面设计方案。

你为什么不能实现新年计划的7个原因

新的一年是一个很好的制定计划的时候,它让你感觉到希望,有充足的准备去迎接新的事务,面对新的挑战。

但是我知道有很多人干脆不做新年计划,因为经验告诉他们,这一点用都没有。确实,他们也曾经试着去罗列计划,但最终都放弃了或者忘记了。结果挺让人沮丧的,他们把失败的原因归结为没有受过良好的训练。

在过去的6年里,我每年都制定新年计划。它们确实为我带来了好处,因为我知道了努力的方向。在我看来,每个人都能够完成新年计划,这跟训练没有关系,但确实需要一些技巧。

下面来看看常见的问题


1、太多大目标

对于自己的计划是不是太贪婪了?有些计划像减肥、学会一项新的技能或者试着去跑马拉松这都会耗费几个月的时间,如果这样的计划过多的话,你会把自己弄的很累,到头来筋疲力竭,而成就感却并不成正比。我的建议是有2-3个大目标,小目标最好不超过12个。把大计划分散在一年的各个时候,尤其当你是一个全日制工作人员时。


2、没有结合自身特点定制目标

你为什么要定这个计划?你完成后对自己有什么好处?完成计划后会有什么感觉?如果以上的问题你都不是很明确的话,那么可以说,你并不非常渴望完成制定的目标。要达成一个目标,即使困难重重,你也会费尽心思,挤出时间去完成它。所以你需要明确目标的重要性。不然找一个借口不去执行,然后遗忘是很正常的事情。


3、没有把它们写下来

要明确自己的目标,那最好把它们都写下来。如果你以前没有尝试过,那么在看完这篇文章时,马上就动笔吧。写下目标,然后将它细化,再在旁边注明为什么要完成这个目标。我敢打赌,一天过去之后,你很难能将所有的目标写在纸上。为什么?因为随着时间的流逝,目标会变得越来越模糊。如果没有写下来的话,那么存在于头脑中的只是个模糊的概念,而这些模糊的概念并不能促使你最终达成目标。如果不能一下子就明确目标的话,可以分几个阶段,一步一步地写下来,最后总结成新年计划。


4、不能每天看到你的目标

即使你写下目标了,并却非常详细,但如果不是每天都看的话,也很容易遗忘。人是非常健忘的。把你的目标放在每天都能够看到的地方。对于我来说,我把它放在OUTLOOK里,因为每天都要通过它收发邮件,所以我每天都能看到我的目标。


5、没有定期查看目标进度

光是每天看还不够,你还必须定期检查进度。飞行员在驾驶飞机的时候,都要隔一段时间调整航向,这样才能保证顺利到达目的地。这跟实现计划是一样的道理。只要你定期检查计划的进度,你就能保证自己在正确的航向上。


6、没有公开自己的目标

你知道为什么人们不敢轻易地承诺吗?因为一旦承诺了,就必须得想尽办法去实现它。一样的道理,当你写下你的计划时,把它给你的家人、朋友看。就像做了一个承诺,然后你就必须去实现这个承诺。如果你因为害怕带来的压力和痛苦,所以暂时没有展现自己的目标,那么如何能相信你会在日后让他们知道你的目标呢。


7、没有后援团

完成自己的目标,并不只是一个人的事情。我的经验告诉我,如果有了朋友和家人的支持,那么成功的可能性就会大很多。但如果你打算减肥,而你的家人天天吃肯德基,或者你打算早期,但你的家人天天熬夜到凌晨,那还是免了吧。

跟人们说说你的目标,然后看看它所带来的精神和物质力量。

希望我总结的这些经验教训,能够对你有帮助。新年快乐,愿你能在新年实现自己的目标。

seo(4)

    给大家发一个案例:希望好好学习!
     案例:泊头市通明除尘设备有限公司网址:http://www.tmccsb.cn/
    关键字:除尘器,除尘布袋,除尘框架,卸料器
    效果:四个关键字在百度都是自然排名第一。
    解释:何为自然排名?
                 答:就是通过纯自然的手段把关键字排名作上去,百度分为两种排名方式:自然排名和竞价排名。自然排名后面标 注:百度快照。竞价排名标注:推广。