分类为 建站笔记 的存档

PHP的学习

对PHP其实我真的是从未接触过,朋友说:学学吧,挺不错的,好奇的我便真的动了心思!上网查资料,下载工具,做好了准备.感觉应该就像html一样,不会太难吧?

想借助这次shopEX商场程序的机会,正好学习下PHP,结果没有想到程序安装完了,打开安装好的php,才发现全是乱码,在google上搜了下,才知道原来是经过加密的,而且没有办法解密.本来情绪高涨的我,一下子泄了气,看来天不助我呀.算了,反正我也懒的认真学了.

今天在网上乱逛时发现了这个网站,于是给大家介绍下:

虚拟主机的选择一直是大家头疼的事,在购买之前谁也不知道服务商提供的服务到底如何。一台真实的主机,开通太多个虚拟主机服务,即主机上绑定的站点过多,速度和稳定性肯定会受到影响。因此如果在购买虚拟主机之前能 知道机上已经开通了多少个站点,可以为我们选择虚拟主机提供很好的参考。<br/><br/>

这个网站可以测试某一IP地址或域名对应的主机上开通了多少个站点,虽然不能说百分百准确,但作为参考还是很有意义的。

购买之前可以先找虚拟主机商多要几个IP来做测试,比如我之前购买的一个虚拟主机吧,那时候买并没有测试清楚,只听服务商说他空间有多好,就购买了,同时他们也承诺说一台服务器不会超过100多用户.使用的时候真得问题多多呀,最后做了一下测试59.60.30.156出来的结果让我大吓一跳,是377个用户,应该还在不断的增加,应该他们公司就一台服务器吧,唉,就这样被骗了..
经过血的教训以后,在购买之前都会找服务商要几个IP来做测试,测试过新网互联,万网,新网,大都是在100左右的结果吧。但他们的价钱是让我觉得没有办法承受的,继续找了,后来在朋友的介绍下去了 <a href=http://www.west263.com/index.asp?ReferenceID=143500>“西部数码”</a> 找他们要来了几个IP做测试和新网差不多是100左右个,又测试了一周的主机稳定性和容错率,让我非常满意,而且公司的价钱上也很合理,于是便买了他们的双线空间,至少用到现在近一个月了,还没有让我失望,希望大家在买空间之前要测试清楚喔! <br/><br/>

<a href=http://www.myipneighbors.com/>http://www.myipneighbors.com/</a>
<br/><br/>
目前我测到的“61.236.145.81”数量是106个!</font>

LBS修改-管理员回复评论

不记得从哪里找到的代码了,但在修改完后,发现不是我想要的样子,于是按自己的要求改动了下,现在把自己的代码贴出来,供大家分享下:

打开 comment.asp,搜索到

<%if(editMark){
var arrEdit=editMark.split(“$|$”);
%>
<div class=”editmark”>[<%=lang["edited_by"]+arrEdit[0]+lang["at"]+arrEdit[1]%>]</div>
<%}%>
<%}else{%>
<div class=”hidden-note”><%=lang["hidden_comment"]%></div>
<%}%>
</div>

替换为:

<%if(editMark){
var arrEdit=editMark.split(“$|$”);
%>
<div class=”editmark”>[<%=lang["edited_by"]+arrEdit[0]+lang["at"]+arrEdit[1]%>]</div>
<%}%>
<%}else{%>
<div class=”hidden-note”><%=lang["hidden_comment"]%></div>
<%}%>
</div>
<%if(reply){%>
<div class=”commentbox-reply-title”>
<div class=”commentbox-reply-label”>[ <%=replyUsername%> ] <%=lang["reply_comment"]%> [ <%=func.getDateTimeString("YY-MM-DD hh:ii:ss", replyTime)%> ]</div>
<%if(!hidden||(theUser.id==userid&&userid!=0)||theUser.rights["view"]>2){%>
<%var strContent=ubb.toHTML(func.HTMLEncode(reply),”110011″, “”, true)%>
<div class=”commentbox-reply-content”>
<%=strContent%>
</div>
<%}else{%>
<div class=”hidden-note”><%=lang["hidden_comment"]%></div>
<%}%>
</div>
<%}%>

搜索

strTitle,strActionURL,strContent,strUBBFlags,bHidden

以上代码有两处,均替换为:

strTitle,strActionURL,strContent,strUBBFlags,bHidden,strReply,bShowReplyArea

接着打开 src_comment.asp,搜索到

“content”: comments[i]["comm_content"],
“hidden”: comments[i]["comm_hidden"],
“postTime”: new Date(Number(comments[i]["comm_posttime"])),
“ubbFlags”: comments[i]["comm_ubbflags"],
“editMark”: comments[i]["comm_editmark"],

替换为:

“content”: comments[i]["comm_content"],
“hidden”: comments[i]["comm_hidden"],
“postTime”: new Date(Number(comments[i]["comm_posttime"])),
“ubbFlags”: comments[i]["comm_ubbflags"],
“editMark”: comments[i]["comm_editmark"],
“reply”: comments[i]["comm_reply"],
“replyUsername”: comments[i]["comm_replyusername"],
“replyTime”: new Date(Number(comments[i]["comm_replytime"])),

继续搜索到 “ // Check content ” 在上一行插入:

// Workaround for content/reply swap when the user has reply rights
if(input["entry"]){
input["reply"]=input["message"];
input["message"]=input["entry"];
if(input["reply"].length>theCache.settings["maxCommentLength"]||input["reply"].length<2){
strError+=”<li>”+lang["length_invalid"]+”</li>”;
}
}

继续搜索到:

“ arrData=connBlog.query(“SELECT TOP 1 tLog.log_id,tLog.log_authorID,
tLog.log_title,tComm.comm_authorid,tComm.comm_content,
tComm.comm_ubbFlags,tComm.comm_hidden FROM [blog_Article] tLog,
[blog_Comment] tComm WHERE tLog.log_id=tComm.log_id AND tComm.comm_id=”+input["id"]); ”

替换成

“ arrData=connBlog.query(“SELECT TOP 1 tLog.log_id,tLog.log_authorID,tLog.log_title,tComm.comm_authorid,
tComm.comm_content,tComm.comm_ubbFlags,tComm.comm_reply,
tComm.comm_hidden FROM [blog_Article] tLog,[blog_Comment] tComm
WHERE tLog.log_id=tComm.log_id AND tComm.comm_id=”+input["id"]); ”

搜索到

“ outputEditComment(lang["edit_comment_on"]+”: “+arrData["log_title"], “?
act=update&id=”+input["id"], arrData["comm_content"], arrData["comm_ubbflags"],
arrData["comm_hidden"]); ”

替换成

“ outputEditComment(lang["edit_comment_on"]+”: “+arrData["log_title"], “?
act=update&id=”+input["id"], arrData["comm_content"], arrData["comm_ubbflags"],
arrData["comm_hidden"],arrData["comm_reply"],
theUser.rights["edit"]>2 ? true : false); ”

继续搜索到 “ connBlog.update(“blog_Comment”, arrUpdate, “comm_id=”+input["id"]); ”
在其上面一行插入

// If the user has reply rights
if(theUser.rights["edit"]>1){
arrUpdate["comm_reply"]=input["reply"];
arrUpdate["comm_replyUsername"]=theUser.username;
arrUpdate["comm_replyTime"]=new Date();
}

打开 article.asp 文件,搜索到

<%if(editMark){
var arrEdit=editMark.split(“$|$”);
%>
<div class=”editmark”>[<%=lang["edited_by"]+arrEdit[0]+lang["at"]+arrEdit[1]%>]</div>
<%}%>
<%}else{%>
<div class=”hidden-note”><%=lang["hidden_comment"]%></div>
<%}%>
</div>

替换为:

<%if(editMark){
var arrEdit=editMark.split(“$|$”);
%>
<div class=”editmark”>[<%=lang["edited_by"]+arrEdit[0]+lang["at"]+arrEdit[1]%>]</div>
<%}%>
<%}else{%>
<div class=”hidden-note”><%=lang["hidden_comment"]%></div>
<%}%>
</div>
<%if(reply){%>
<div class=”commentbox-reply-title”>
<div class=”commentbox-reply-label”>[ <%=replyUsername%> ] <%=lang["reply_comment"]%> [ <%=func.getDateTimeString("YY-MM-DD hh:ii:ss", replyTime)%> ]</div>
<%if(!hidden||(theUser.id==userid&&userid!=0)||theUser.rights["view"]>2){%>
<%var strContent=ubb.toHTML(func.HTMLEncode(reply),”110011″, “”, true)%>
<div class=”commentbox-reply-content”>
<%=strContent%>
</div>
<%}else{%>
<div class=”hidden-note”><%=lang["hidden_comment"]%></div>
<%}%>
</div>
<%}%>

打开 class/article.asp 文件,搜索到

this.loadComments = function(bTimeOrder, bWithTrackBack, intTrackbackPos,
intPageSize, intCurrentPage){
var sql=”SELECT 0 as type, comm_ID,comm_Content,comm_authorID,
comm_author,comm_PostTime,comm_EditMark,comm_UBBFlags,comm_Hidden,
comm_IP FROM blog_Comment WHERE log_ID=”+this.id;

if(bWithTrackBack){
// Trackback Fields Mapping: comm_ID=0, comm_Content=tb_Excerpt,
comm_aut
horID=tb_ID, comm_author=tb_Title
sql+=” UNION ALL SELECT 1,0,tb_Excerpt,tb_ID,tb_Title,tb_Time,tb_URL,
tb_Blog,false,tb_IP FROM blog_Trackback WHERE log_ID=”+this.id;
}

替换成

this.loadComments = function(bTimeOrder, bWithTrackBack, intTrackbackPos, intPageSize, intCurrentPage){
var sql=”SELECT 0 as type, comm_ID,comm_Content,comm_authorID,
comm_author,comm_PostTime,comm_EditMark,comm_UBBFlags,
comm_Hidden,comm_IP,comm_reply,comm_replyUsername,
comm_replyTime FROM blog_Comment WHERE log_ID=”+this.id;

if(bWithTrackBack){
// Trackback Fields Mapping: comm_ID=0, comm_Content=tb_Excerpt, comm_authorID=tb_ID, comm_author=tb_Title
sql+=” UNION ALL SELECT 1,0,tb_Excerpt,tb_ID,tb_Title,tb_Time,tb_URL,
tb_Blog,false,tb_IP,false,false,tb_Time FROM blog_Trackback WHERE log_ID=”+this.id;
}

搜索到

“ubbFlags”: tmpA[i]["comm_ubbflags"],
“hidden”: tmpA[i]["comm_hidden"],
“IP”: tmpA[i]["comm_ip"]

替换成

“ubbFlags”: tmpA[i]["comm_ubbflags"],
“hidden”: tmpA[i]["comm_hidden"],
“IP”: tmpA[i]["comm_ip"],
“reply”:tmpA[i]["comm_reply"],
“replyUsername”:tmpA[i]["comm_replyusername"],
“replyTime”: new Date(Number(tmpA[i]["comm_replytime"]))

在css中添加回复功能的样式:

.commentbox-reply-title {
border: 1px dashed #999;
margin: 2px 40px;
padding: 5px;
}
.commentbox-reply-label{
font-weight: bold;
margin-bottom: 5px;
}
.commentbox-reply-content{
font-weight: normal;
color: #000080;
font-size: 11px;
display: inline;
}

最后一步,在lang/blog.asp中添加

t["reply_comment"]=”回复于”

代码!
再刷新一下页面,在编辑评论的时候,就多了回复功能!

比原来的好看的多了。

本blog正式开通运行

今天我终于成为一名正式的站长了,哈哈. [lol] [lol]

介绍个小窍门:
刷新DNS解析缓存的具体步骤如下:

在开始>运行处输入cmd 再回车。然后在命令提示符下,键入 ipconfig /flushdns。
3. 在开始>运行处输入 ping www.sale925.cn -t 可以测试您的域名解析是否生