2009年5月17日星期日

url 重写收集 url技巧

重新开放了Minidx帮助论坛,虽然目前没什么内容,不过顺便想SEO一下,实现伪静态链接。在后台开启了"URL Rewrite",看起来一切正常,可是点击某一栏目的时候却怎么都进不去,显示的依然是论坛的首页。看了一下论坛目录下,原来这下面并没有自己的.htaccess文件,所以默认使用的应该是Godaddy主机的.htaccess,而默认的肯定不会有针对Discuz的Rewrite规则,所以加入了下面的语句,一切都正常了~


RewriteEngine On
RewriteBase /
RewriteRule ^archiver/([a-z0-9\-]+\.html)$ archiver/index.php?$1
RewriteRule ^forum-([0-9]+)-([0-9]+)\.html$ forumdisplay.php?fid=$1&page=$2
RewriteRule ^thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ viewthread.php?tid=$1&extra=page\%3D$3&page=$2
RewriteRule ^profile-(username|uid)-(.+)\.html$ viewpro.php?$1=$2
RewriteRule ^space-(username|uid)-(.+)\.html$ space.php?$1=$2
RewriteRule ^tag-(.+)\.html$ tag.php?name=$1
注:倒数第二行是针对Discuz的SupeSite/X-Space,我并没有安装,实际上并不需要。

2009年5月16日星期六

Zend Studio 5.5.x 在线注册机 注册码如下

Zend Studio 5.5.x 在线注册机

注册名称:adm
许可证密匙:b018380612182039

2009年5月14日星期四

最近朋友的机器每次开机都显示一次,"avast! 杀毒更新服务已结束"如下图所示,但病毒库却可以更新,问应如何解决?
我上网搜了一下,发现"W5306857R8800H1106-P8RK9XLN"注册号可以解决,方法如下:
点击上图的"现在就输入新是注册号!",出现下图
然后输入新的注册号:"W5306857R8800H1106-P8RK9XLN"【此为4.8版本标准注册号,升级有效期:2012年5月1日0:00:00,其它版本没试过】,见下图
点击"确定",出现下图 完成。
也可采用下图方法:点击图标,右键"关于avast!...",出现下图后点击"注册号",其它与上述方法相同。

2009年5月7日星期四

2009年4月26日星期日

我现在在做什么……今天 《PHP 奋斗》

好不容易有一天的休息了。
每天都上班眼睛真的是受不了了。。。
 
今天我又来弄自己那个永远都无法弄完的博客了。
 
现在用PHP已经一年了。。。
算是熟练?~@
应该还不是?!~@
现在是在弄一个框架,自己的框架,只要每次复制过去就可以了的框架。
PHP 奋斗@!~@

换了博客了,但是Google没有收录 这个新的博客...

博客新更改了。但是Google并没有收录这个博客。
反而可能将这个博客列为垃圾博客吧!@
我把原先的那个博客上的内容全部都搬到了这个博客上了。
!~
原先的博客的地址是http://litter-site.blogspot.com ,原先的博客的名称是【小站长小日记】,而我自己的真的是不算是一个站长。。
所以把原先的那个博客换了
!~
 
 

很好的字体颜色 找了半天才找到 #356AA0; 和#376900;

很好的字体颜色 找了半天才找到 #356AA0; 和#376900;
很好的字体颜色,很好看!
 

2009年4月14日星期二

预设停运时间2:00AM PDT on Thursday (4/16).

预设停运时间2:00AM PDT on Thursday (4/16).

打开blogspot,就看到了blogspot的变化了。首先在每个博客前面都有一个手机的标图。然后就是在上方有一个醒目的提示:【预设停运时间2:00AM PDT on Thursday (4/16). 】看到这个不禁觉得blogspot是否要倒闭了?

今天是4月15号,明天才是4月16号,明天blogspot就无法打开吗?为什么?
因为 http://status.blogger.com/ 在我这里是无法打开的。有的时候连blogspot都无法打开,所以根本就不知道为什么要停止,什么时候才可以再次开始。

2009年4月11日星期六

各个URL处理函数的处理结果!urlencode urldecode base64_decode base64_encode

提交的内容为:http://a-web-dream.blogspot.com
urldecode();结果为http://a-web-dream.blogspot.com/
urlencode();结果为 http%3A%2F%2Fa-web-dream.blogspot.com%2F  
base64_decode();  ��i���y�ky����,��\�o
base64_encode();  aHR0cDovL2Etd2ViLWRyZWFtLmJsb2dzcG90LmNvbS8=
 
推荐使用urlencode()!
 
程序文件内容全部如下:
 
<?php
header('content-type:text/html;charset=utf-8');
if (isset($_GET['url'])) {
 $url=$_GET['url'];
echo 'urldecode();结果为'.urldecode($url);
echo '<br/>';
echo 'urlencode();结果为'.urlencode($url);
echo '<br/>';
echo 'base64_decode();'.base64_decode($url);
echo '<br/>';
echo 'base64_encode();'.base64_encode($url);
}else
?>
<html>
<head>
<meta name="GENERATOR" content="Zend Studio" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>title</title>
</head>
<body bgcolor="#FFFFFF" text="#000000" link="#FF9966" vlink="#FF9966" alink="#FFCC99">
<form action="" method="GET">
<input type="text" name="url" value=""/> 
<input type="submit" name="submit" value="提交"/> 
</form>
</body>
</html>
 

最简单的图片处理代码 可以自己扩展

<?php
$im=imagecreate(50,20);
$bg=imagecolorallocate($im,255,255,20);
$color=imagecolorallocate($im,255,0,0);
$str='1096';
imagestring($im,5,5,5,$str,$color);
header('content-type:image/png');
imagepng($im);
?>

今天测试一了一下可以使用!
如果需要更改,只需要将$str更改就可以!


更简单的如下:

$im=imagecreate(200,300);

$white=imagecolorallocate($im,0,200,200);

imagepng($im);

?>

还是只有把U盘格式化一遍~

只有把U盘格式化一遍的结果了。
里面的文件已经全部都变成了1KB或者完全是打不开的了。
病毒真的是太猖狂了。但是他们这样做也对他们来说没有什么用途!
机子还是有问题,下载的软件无法运行~~~
 
一切这么的不顺利~~~
 

运行软件出现 http://nsis.sf.net/NSIS_Error 此档案文件格式未知或已经损坏!

Installer integrity check has failed.Common causes include incomplete download and damaged media. Contact the more information at: http//nsis.sf.net/nsis_error
 
运行软件出现 http://nsis.sf.net/NSIS_Error 此档案文件格式未知或已经损坏!
如何解决?

WinAVI Video Converter 9.0的注册码 资料保存

WinAVI Video Converter 9.0的注册码
注册名:tiansha.net
注册码:AA6323D82200FB16AB95C87B590D0D3F053C448370359FB2
上面这个还可以用!
特此保存了一下。

2009年4月10日星期五

瑞星个人防火墙 2009 21.33.10 免序列号免ID特别版



瑞星个人防火墙 2009 21.33.10 免序列号免ID特别版
序列号:080K3M-02050U-G0PVSC-AJE200 ID:6A94GZSK6F4R


今天在网上找到的。
试了一下发现可以用,所以自己保存了。发到这里。


2009年4月8日星期三

正确的登录语句 sql 语句 PHP正确的登录语句

  $sql="SELECT * FROM `user` WHERE `name` ='$this->name' AND `psw` = '$this->psw' LIMIT 0 , 1 ";
正确的登录语句 sql 语句 PHP正确的登录语句
 

匹配网址的正则表达式 终于让我找到了~验证网址是否正确的函数PHP url

网络,真的是非常rubbish吧~
找了N个正则表达式,竟然就是没有匹配网址的,全部都是替换或者提取网址之类的。但是拿过来适用一下却发现根本就是错误的表达式。
 
几天好不容易试了N次才终于找到了:
 $exp='^(https?|ftp|file)://[-A-Z0-9+&@#/%?=~_|!:,.;]*[-A-Z0-9+&@#/%=~_|]$';
// 验证网址是否正确!
function is_url($url)
{
 $exp='^(https?|ftp|file)://[-A-Z0-9+&@#/%?=~_|!:,.;]*[-A-Z0-9+&@#/%=~_|]$';
 if(eregi($exp,$url)){
  return true;
 }else {
  return false;
 }
}

PHP常用的正则匹配表达式 QQ 网址 汉字

匹配中文字符的正则表达式: [\u4e00-\u9fa5]
评注:匹配中文还真是个头疼的事,有了这个表达式就好办了
匹配双字节字符(包括汉字在内):[^\x00-\xff]
评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
匹配空白行的正则表达式:\n\s*\r
评注:可以用来删除空白行
匹配HTML标记的正则表达式:<(\S*?)[^>]*>.*?</\1>|<.*? />
评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力
匹配首尾空白字符的正则表达式:^\s*|\s*$
评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式
匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
评注:表单验证时很实用
匹配网址URL的正则表达式:[a-zA-z]+://[^\s]*
评注:网上流传的版本功能很有限,上面这个基本可以满足需求
匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
评注:表单验证时很实用
匹配国内电话号码:\d{3}-\d{8}|\d{4}-\d{7}
评注:匹配形式如 0511-4405222 或 021-87888822
匹配腾讯QQ号:[1-9][0-9]{4,}
评注:腾讯QQ号从10000开始
匹配中国邮政编码:[1-9]\d{5}(?!\d)
评注:中国邮政编码为6位数字
匹配身份证:\d{15}|\d{18}
评注:中国的身份证为15位或18位
匹配ip地址:\d+\.\d+\.\d+\.\d+
评注:提取ip地址时有用

今天把博客的名字给改了 《网络一梦~》

今天把自己的博客的名字给改了。
将名字改为了网络一梦~

为什么?其实原先几天前就想改这个名字了。《小站长小日记》这个名字真的适合我吗?
其实我根本就不适合!
今天看到了别人对我的评价了。才发觉自己,真的是中毒太深。也许访客在浏览我的这个博客的时候还会真的觉得这个博客的主人在网络方面是成功的,但是事实上,是错误的。这个博客的主人在网络方面完全完全的是失败的!

在百度贴吧上发表了自己的帖子,无限的迷茫中~
http://tieba.baidu.com/f?kz=560510346
8楼的那个真的是回答得很透彻吧!
http://tieba.baidu.com/f?kz=560510346#8
自己真的是走火入魔了吧!
现在自己需要的是清醒。网络,不要太痴迷于网络了~

博客的网址也改了。
原先的网址是http://www.litter-site.blogspot.com/
改为了http://www.a-web-dream.blogspot.com/

2009年4月7日星期二

PHP常用正则 验证 绝对可以找到你需要的正则 QQ验证 汉字验证 电话号码验证 网址验证

php常用正则表达式
2009年03月25日 星期三 10:44

常用正则表达式

"^\d+$"  //非负整数(正整数 + 0)
"^[0-9]*[1-9][0-9]*$"  //正整数
"^((-\d+)|(0+))$"  //非正整数(负整数 + 0)
"^-[0-9]*[1-9][0-9]*$"  //负整数
"^-?\d+$"    //整数
"^\d+(\.\d+)?$"  //非负浮点数(正浮点数 + 0)
"^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$"  //正浮点数
"^((-\d+(\.\d+)?)|(0+(\.0+)?))$"  //非正浮点数(负浮点数 + 0)
"^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"  //负浮点数
"^(-?\d+)(\.\d+)?$"  //浮点数
"^[A-Za-z]+$"  //由26个英文字母组成的字符串
"^[A-Z]+$"  //由26个英文字母的大写组成的字符串
"^[a-z]+$"  //由26个英文字母的小写组成的字符串
"^[A-Za-z0-9]+$"  //由数字和26个英文字母组成的字符串
"^\w+$"  //由数字、26个英文字母或者下划线组成的字符串
"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$"    //email地址
"^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$"  //url
/^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$/    //   年-月-日
/^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$/    // 月/日/年
"^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$"    //Emil
/^((\+?[0-9]{2,4}\-[0-9]{3,4}\-)|([0-9]{3,4}\-))?([0-9]{7,8})(\-[0-9]+)?$/      //电话号码
"^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$"    //IP地址

匹配中文字符的正则表达式: [\u4e00-\u9fa5]
匹配双字节字符(包括汉字在内):[^\x00-\xff]
匹配空行的正则表达式:\n[\s| ]*\r
匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/
匹配首尾空格的正则表达式:(^\s*)|(\s*$)
匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
匹配网址URL的正则表达式:^[a-zA-z]+://(
\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$
匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
匹配国内电话号码:(\d{3}-|\d{4}-)?(\d{8}|\d{7})?
匹配腾讯QQ号:^[1-9]*[1-9][0-9]*$


元字符及其在正则表达式上下文中的行为:

\ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个后向引用、或一个八进制转义符。

^ 匹配输入字符串的开始位置。如果设置了 RegExp 对象的Multiline 属性,^ 也匹配 ’\n’ 或 ’\r’ 之后的位置。

$ 匹配输入字符串的结束位置。如果设置了 RegExp 对象的Multiline 属性,$ 也匹配 ’\n’ 或 ’\r’ 之前的位置。

* 匹配前面的子表达式零次或多次。

+ 匹配前面的子表达式一次或多次。+ 等价于 {1,}。

? 匹配前面的子表达式零次或一次。? 等价于 {0,1}。

{n} n 是一个非负整数,匹配确定的n 次。

{n,} n 是一个非负整数,至少匹配n 次。

{n,m} m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。在逗号和两个数之间不能有空格。

? 当该字符紧跟在任何一个其他限制符 (*, +, ?, {n}, {n,}, {n,m}) 后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。

. 匹配除 "\n" 之外的任何单个字符。要匹配包括 ’\n’ 在内的任何字符,请使用象 ’[.\n]’ 的模式。
(pattern) 匹配pattern 并获取这一匹配。

(?:pattern) 匹配pattern 但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。

(?=pattern) 正向预查,在任何匹配 pattern 的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。

(?!pattern) 负向预查,与(?=pattern)作用相反

x|y 匹配 x 或 y。

[xyz] 字符集合。

[^xyz] 负值字符集合。

[a-z] 字符范围,匹配指定范围内的任意字符。

[^a-z] 负值字符范围,匹配任何不在指定范围内的任意字符。

\b 匹配一个单词边界,也就是指单词和空格间的位置。

\B 匹配非单词边界。

\cx 匹配由x指明的控制字符。

\d 匹配一个数字字符。等价于 [0-9]。

\D 匹配一个非数字字符。等价于 [^0-9]。

\f 匹配一个换页符。等价于 \x0c 和 \cL。

\n 匹配一个换行符。等价于 \x0a 和 \cJ。

\r 匹配一个回车符。等价于 \x0d 和 \cM。

\s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v]。

\S 匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。

\t 匹配一个制表符。等价于 \x09 和 \cI。

\v 匹配一个垂直制表符。等价于 \x0b 和 \cK。

\w 匹配包括下划线的任何单词字符。等价于’[A-Za-z0-9_]’。

\W 匹配任何非单词字符。等价于 ’[^A-Za-z0-9_]’。

\xn 匹配 n,其中 n 为十六进制转义值。十六进制转义值必须为确定的两个数字长。

\num 匹配 num,其中num是一个正整数。对所获取的匹配的引用。

\n 标识一个八进制转义值或一个后向引用。如果 \n 之前至少 n 个获取的子表达式,则 n 为后向引用。否则,如果 n 为八进制数字 (0-7),则 n 为一个八进制转义值。

\nm 标识一个八进制转义值或一个后向引用。如果 \nm 之前至少有is preceded by at least nm 个获取得子表达式,则 nm 为后向引用。如果 \nm 之前至少有 n 个获取,则 n 为一个后跟文字 m 的后向引用。如果前面的条件都不满足,若 n 和 m 均为八进制数字 (0-7),则 \nm 将匹配八进制转义值 nm。

\nml 如果 n 为八进制数字 (0-3),且 m 和 l 均为八进制数字 (0-7),则匹配八进制转义值 nml。

\un 匹配 n,其中 n 是一个用四个十六进制数字表示的Unicode字符。

匹配中文字符的正则表达式: [u4e00-u9fa5]

匹配双字节字符(包括汉字在内):[^x00-xff]

匹配空行的正则表达式:n[s| ]*r

匹配HTML标记的正则表达式:/<(.*)>.*</1>|<(.*) />/

匹配首尾空格的正则表达式:(^s*)|(s*$)

匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*

匹配网址URL的正则表达式:http://([w-]+.)+[w-]+(/[w- ./?%&=]*)?

利用正则表达式限制网页表单里的文本框输入内容:

用正则表达式限制只能输入中文:onkeyup="value= value.replace(/[^u4E00-u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^u4E00-u9FA5]/g,''))"

用正则表达式限制只能输入全角字符: onkeyup="value=value.replace(/[^uFF00-uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^uFF00-uFFFF]/g,''))"

用正则表达式限制只能输入数字:onkeyup="value= value.replace(/[^d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^d]/g,''))"

用正则表达式限制只能输入数字和英文:onkeyup="value= value.replace(/[W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^d]/g,''))"

2009年4月3日星期五

十大Ajax框架(排名不分先后)

十大Ajax框架(排名不分先后)

No1—Prototype

  特点:一个非常优雅的JS库,定义了JS的面向对象扩展,DOM操作API,事件等等,之上还有rico/script.aculo.us实现一些JS组件功能和效果(尚不够完善),以prototype为核心,形成了一个外围的各种各样的JS扩展库,是相当有前途的JS底层框架,突出特点就是非常易学易用,门槛很低,常常是一两行JS代码就可以搞定一个相关的功能。同时它也是RoR集成的AJAX JS库。

Prototype官方站点

No2—Dojo

  特点:Dojo包括了Javascript本身的语言扩展,以及各个方面的工具类库,和比较完善的UI组件库;Dojo设计的包加载机制(Package System)和模块化(Libraries)的结构,能保持更好的扩展性,提高执行性能,减轻了用户开发的工作量,并保持一定的灵活性(用户可以自己编写扩展);Dojo官方网站有着丰富的学习资源;专业的开发团队,可以保证更新速度及质量。

Dojo官方站点

No3—Mootools

  特点:小巧高效,完整下载36k;模块化设计,合理规范,优雅的OOP风格;创新的下载过程,可以跟据自己的需要勾选相应的模块下载,Build Your Own Framework;Effects模块(moo.fx)轻量高效,可以实现优雅、可定制、easing的动画;完整的API文档,丰富的范例。

Mootools官方站点

No4—JQuery

  特点:短小精悍(19k),接口设计得精妙(自然语言的风格),与程序思路配合精密。极大限度地体现了javascript的特性;支持xpath查询,dom1-3,轻松选择需要的元素;css支持;简单的动画实现,支持自定义动画;支持插件开发,现有插件多;完整的api文档以及范例,易学;拥有官方UI程序供使用,效果好。

JQuery官方站点

No5—Dwr

  特点:把java类转化为javascript类由dwr自动完成,只需简单的配置;应用起来极其简单。开发者不要该服务器代码就可以集成;容易测试。和webwork一样,隐藏的http协议;强扩展性。例如与spring集成,只需修改一点代码;性能。就与jason等简单比较,dwr性能可能是最好的。

Dwr实用技术汇总

No6—Buffalo

  特点:国人开发的Ajax框架。定义了Web远程调用的传输基础,并且将远程调用对象完整的序列化到了本地,成为可以被JavaScript编程触及的对象。Buffalo中的重要组件-BuffaloBinding,提供了将JavaScript对象绑定到HTML元素的能力。这种绑定将是无侵入的,只需要在HTML元素中加入若干个不影响排版的属性,即可将数据与界面绑定。

Buffalo实用技术汇总

No7—Yui

  特点:Yahoo发布的AJAX组件库,是一个包含了各个方面,从工具类库到通讯,到UI组件的综合性JS库。YUL的最大优势在于文档非常齐全,而且有Yahoo的支持,缺点是库目前还不全,功能也不强大。

Yui官方站点

No8—Ext

  特点:Ext来自于对YUI的扩展,扩展後功能和界面都有了很大的提高。初期仅仅是对YUI的对话框扩展,后来逐渐有了自己的特色,深受网友的喜爱。

Ext官方站点

No9—Qooxdoo

  特点:不通过常规的HTML来构造页面,完全使用JS以类似VB/Delphi风格的编程方式构造Web GUI界面,比较适合内网面向C/S风格的web应用,而不适合面向Internet的界面多变风格的应用。

Qooxdoo实用技术汇总

No10—Spry

  特点:设计规范,功能全面,文档丰富,面向设计人员而不是开发人员。与其它一些Ajax框架相比,它的服务器端的技术不是很可靠。它依赖于XML,XML可以很容易被Spry组件接受。

Spry实用技术汇总

框架比较

◆ jquery和prototype比较,以及冲突解决

  初次试用jQuery,到底是prototype好还是jquery好?之前的项目已经使用了prototype,现加入jquery后,立刻罢工,搜了一下,虽然后来解决了,但最后我还是抛弃prototype,开始使用jquery了。

◆Buffalo和Dwr的比较

  本文简单比较一下Buffalo和DWR,两者的思路基本类似,有很多共性的东西。总的看来,Buffalo能满足基本的需要,但DWR已经在整体 系统结构上有了更多优势。框架的生命周期是有限的,如果不能与时俱进,将迟早面临被淘汰的局面。

 
 
 

今天发现了一个很好的PHP编辑器PHP Expert Editor v4.3

 

PHP Expert Editor 4.x 简体中文语言包
PHP Expert Editor 4.x Chinese Simplfied Language Pack.
翻译者: 张弘引 Rains(rains31@gmail.com)

使用方法:
把chinese.lng放入PHP Expert Editor 4.x安装目录下的Languages目录
例如:
C:\Program Files\PHP Expert Editor 4.3\Languages
然后进入菜单: View->Languages->Chinese Simplefied

Usage:
Put the chinese.lng into Languages directory which in the installed path of PHP Expert Editor 4.x.
eg: C:\Program Files\PHP Expert Editor 4.3\Languages

Then go to the menu: View->Languages->Chinese Simplefied.

网上能找到有4.2的注册码,4.3也能用。

PHP Expert Editor v4.3 官方下载地址:http://www.ankord.com/download/phpxedit_43.exe

中文语言包下载地址:http://rains.cn/dl.php?file=phpxedit_chs.zip

 
以前一直用Zend Studio ,软件非常大,安装都耗了很多的内存。
运行的时候整个机子都快垮了。
今天偶然看到有人在CSDN中提问了关于整个软件的使用的问题,所以下载来适用一下,发现很好用!
 

开始研究下WordPress 了 希望提高一下自己的PHP水平

昨天晚上下了WordPress了,安装后发现文件比较大,有2M多。
 
今天开始来学习WordPress的编程方式了。
发现好多的文件。看了几段久根本就看不懂了。
 
在ZDE中打开WordPress 的一个网页,里面的文件中的中文全都成为乱码了!真的非常麻烦了。
在网上看到了这么多的高手,弄个插件都不出问题。自己要达到他们那种水平要多久啊。。。
 
 
 
 
还是先看第一页吧:
<?php
/**
 * Front to the WordPress application. This file doesn't do anything, but loads
 * wp-blog-header.php which does and tells WordPress to load the theme.
 *
 * @package WordPress
 */
/**
 * Tells WordPress to load the WordPress theme and output it.
 *
 * @var bool
 */
define('WP_USE_THEMES', true);
/** Loads the WordPress Environment and Template */
require('./wp-blog-header.php');
?>
 
 
 * Front to the WordPress application. This file doesn't do anything, but loads
 * wp-blog-header.php which does and tells WordPress to load the theme.
 
文件没有任何作用,但是文件wp-blog-header.php告诉WordPress去载入主题。
 
【文件wp-blog-header.php】
 
<?php
/**
 * Loads the WordPress environment and template.
 *
 * @package WordPress
 */
if ( !isset($wp_did_header) ) {
 $wp_did_header = true;
 require_once( dirname(__FILE__) . '/wp-load.php' );
 wp();
 require_once( ABSPATH . WPINC . '/template-loader.php' );
}
?>
 
 
【$wp_did_header】
【wp()】

2009年4月1日星期三

int(4) UNSIGNED 的取值范围是多少?varchar(255)可以取多少汉字?可以设置为varchar(600)吗 php mysql 取值范围

int(4) UNSIGNED 的取值范围是多少?
varchar(255)可以取多少汉字?
可以设置为varchar(600)吗?

一直都很不明白。

smallint(10)的取值范围?
tinyint(10)的取值范围?
float的取值范围?从多少到多少?
希望告诉一下
发表于:2009-01-01 18:07:041楼 得分:0
引用楼主 default7 的帖子:
int(4) UNSIGNED 的取值范围是多少?
varchar(255)可以取多少汉字?
可以设置为varchar(600)吗?

一直都很不明白。

smallint(10)的取值范围?
tinyint(10)的取值范围?
float的取值范围?从多少到多少?
希望告诉一下


1、int(4) UNSIGNED:你都写明了是4个数字(不带符号)。

2、varchar(255):Varchar类型,单位是字节的,一个中文字符两个字节,所以varchar(255),储存127个汉字和1个英语字符(除于2有余数)。

3、varchar(600):不能设置为600,varchar范围是1至255个字节之间。

4、smallint(10):好像有些错误,smallint的参数最多只有5,因为smallint的范围是-32768至32768,只有5位数

5、tinyint(10):同4一样,像是错了,tinyint只有-128至128,只有三位

6、float:允许的值是-3.402823466E+38到-1.175494351E-38,0 和1.175494351E-38到3.402823466E+38。(引用)

 

引用 1 楼 gingzai777 的回复:
引用楼主 default7 的帖子:
int(4) UNSIGNED 的取值范围是多少?
varchar(255)可以取多少汉字?
可以设置为varchar(600)吗?

一直都很不明白。

smallint(10)的取值范围?
tinyint(10)的取值范围?
float的取值范围?从多少到多少?
希望告诉一下


1、int(4) UNSIGNED:你都写明了是4个数字(不带符号)。

2、varchar(255):Varchar类型,单位是字节的,一个中文字符两个字节,所以varchar(255),储…


================================

3.varchar(600)是错误的,就是不可以取的,但是我在phpMyAdmin中可以这样设置的,这个?不明白?
($sql = 'ALTER TABLE `img_info` CHANGE `file_type` `file_type` VARCHAR(600) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL'; 在phpmyadmin中执行是成功的)


=================================
引用 2 楼 default7 的回复:
引用 1 楼 gingzai777 的回复:
引用楼主 default7 的帖子:
int(4) UNSIGNED 的取值范围是多少?
varchar(255)可以取多少汉字?
可以设置为varchar(600)吗?

一直都很不明白。

smallint(10)的取值范围?
tinyint(10)的取值范围?
float的取值范围?从多少到多少?
希望告诉一下


1、int(4) UNSIGNED:你都写明了是4个数字(不带符号)。

2、varchar(255):Varchar类型,单位是字节的,一个中文字符两个字节,…
好像到时候写入数据时,会把255字节后的自动删除掉的,我还没有证实过,反正,VARCHAR用时,不要超过255为好。
【1】int(4)表示的就是int最多取值是4 位对吗,那么它的取值范围是0~9999,对吗?
【2】varchar(255)最多取值255位,那么varchar(255)最多可以取值127个汉字加上一个英文字母,对吗?

=====================

【3】如果用varchar来储存数字,而且是整数,那么可以存储255位,就是"0~255位数的数字",那么比那个int的取值范围还长??(理解错误了吗?)

【4】一个数字占用了一位,就是位的关系是"1汉字=2数字",对吗?
【5】数字和英文字母的占的位是一样的,那么"1英文字母=1数字",对吗?


======================
【6】byte和bit的关系是1byte=8bits,对吗?那么int(4)表示的是4bits还是4byte呢?(希望知道的人告诉我一下)
【7】TINYINT的取值范围是(-128 到 127),括号中的-128表示的是128位?

======================

很迷惑,希望大家帮忙说明白一下。
引用 4 楼 default7 的回复:
【1】int(4)表示的就是int最多取值是4 位对吗,那么它的取值范围是0~9999,对吗?
【2】varchar(255)最多取值255位,那么varchar(255)最多可以取值127个汉字加上一个英文字母,对吗?

=====================

【3】如果用varchar来储存数字,而且是整数,那么可以存储255位,就是"0~255位数的数字",那么比那个int的取值范围还长??(理解错误了吗?)

【4】一个数字占用了一位,就是位的关系是"1汉字=2数字",对吗?
【5…
第一,第二个问题可想你那样理解。第三,既然是存储整数,那你为什么要有字符来存储呢?用字符存储可能有想不到的后果,比如如果你的一个ID自动增长做为主健,你就不能把ID定义为字符类型。如果你想要整型加大,你可以用bigint类型啊。
4,5问题是所占的字节数相当。
6,bit是字节的最小单位,bit 是位,byte是字节,1byte=8bit,int是4字节,short int是2字节,long int也是4字节,int数据最大长度为11,所以int(4)表示查询4个长度的数据。
7。TINYINT的取值范围是(-128 到 127)表示取值范围,不是128位
引用 5 楼 dzxccsu 的回复:
引用 4 楼 default7 的回复:
【1】int(4)表示的就是int最多取值是4 位对吗,那么它的取值范围是0~9999,对吗?
【2】varchar(255)最多取值255位,那么varchar(255)最多可以取值127个汉字加上一个英文字母,对吗?

=====================

【3】如果用varchar来储存数字,而且是整数,那么可以存储255位,就是"0~255位数的数字",那么比那个int的取值范围还长??(理解错误了吗?)

【4】一个数字占用了一位,就是位的…


就是说int(4)表示的是最多可以取值是4位数的数字,
而tinyint的取值范围是-127~1287的这个"-127~128"表示的是这个数字的数值范围,而不是这个数有多少位,对吗?
引用 6 楼 default7 的回复:
引用 5 楼 dzxccsu 的回复:
引用 4 楼 default7 的回复:
【1】int(4)表示的就是int最多取值是4 位对吗,那么它的取值范围是0~9999,对吗?
【2】varchar(255)最多取值255位,那么varchar(255)最多可以取值127个汉字加上一个英文字母,对吗?

=====================

【3】如果用varchar来储存数字,而且是整数,那么可以存储255位,就是"0~255位数的数字",那么比那个int的取值范围还长??(理解错误了吗?)

【4】…
范围就是这样,int(4),就是四位数字,tinyint的范围是-127至128,这当然不是位数,是数字范围,tinyint是最小的数据库单位,只需1字节储存。
引用 6 楼 default7 的回复:
引用 5 楼 dzxccsu 的回复:
引用 4 楼 default7 的回复:
【1】int(4)表示的就是int最多取值是4 位对吗,那么它的取值范围是0~9999,对吗?
【2】varchar(255)最多取值255位,那么varchar(255)最多可以取值127个汉字加上一个英文字母,对吗?

=====================

【3】如果用varchar来储存数字,而且是整数,那么可以存储255位,就是"0~255位数的数字",那么比那个int的取值范围还长??(理解错误了吗?)

【4】一个数…
你的理解正确

js 函数 input onfoucs 的时候显示div 内容 onblur 的时候div内容隐藏

求一个js函数,
当鼠标放进input文本框里面去的时候,背后的那个框(div框里面的内容就显示)就显示提示内容。
当这个input被oublur的时候,这个背后的提示的div的display的值就变成了none!怎么弄?

HTML code
<tr> <td>MySQL服务器地址</td> <td> <input name="host" type="text" onfocus="notice('1','1')" onblur="notice('1','0')" value="localhost"/> <td><div id="1" class="notice" style="display:none;">一般都为localhost,即服务器的地址 </div> </tr>
 
HTML code
<script type="text/javascript"> function notice() { document.getElementById(arguments[0]).style.display = arguments[1]; } </script> <tr> <td>MySQL服务器地址</td> <td> <input name="host" type="text" onfocus="notice('1','')" onblur="notice('1','none')" value="localhost"/> <td><div id="1" class="notice" style="display:none;">一般都为localhost,即服务器的地址 </div> </tr>
 
问题收藏

2009年3月23日星期一

php函数跨页面引用失败failed!怎么办?(php与php页面之间函数引用失败!)

我在学习PHP制作的时候,制作了一个函数程序(三个文件index.php,../back/conn.php ,../back/function.php),各个程序的源码如下:

======================
页面index.php源码如下:
======================
<?php
session_start();
include_once("back/function.php");
viewer();
?>

==============================
../back/function.php的源码如下:
===============================

<?php
session_start();
function viewer(){ //记录访问者的,不管他有没有登陆,就直接插入数据库
if($_SESSION['vid']==""){
$vip=$_SERVER['REMOTE_ADDR'];
$inpage="http://".$_SERVER ['HTTP_HOST'].$_SERVER['PHP_SELF'];
$from=$_SERVER['HTTP_REFFER'];
$intime=date("Y-m-j H:i:s",time()+8*3600);
 
$sql="INSERT INTO viewer(vip,from,inpage,intime) VALUES('$vip','$from','$inpage','$intime')";
$a= include_once("conn.php"); if($a){echo "引入成功!";}//结果输出为"引入成功!"

$result=mysql_query("INSERT INTO liulangzhe(vip,from,inpage,intime) VALUES('".$vip."','".$from."','".$inpage."','".$intime."')");
 
if($result){
echo "插入成功!";
$_SESSION['vip']=mysql_insert_id();}else {echo "插入失败!";}//"这里既没有插入成功输出也没有插入失败输出!"
}
}
?>

===============================
../back/conn.php的源码如下:
===============================

<?php
$db=mysql_connect("localhost","root","5786");          //创建数据库连接
$select=mysql_select_db("cnread_news",$db);                //选择要操作的数据库
mysql_query("set names gb2312");
?>
=========================================
=========================================

但是在../back/function.php却始终是有错误,我很想知道错误是错在了哪里?
我的问题就是跨页面之间的函数如何的调用,为什么每次我都条用失败呢?
需要注意什么?

-----------------------------------------------------------------------------------------------------------
 
解决方法:
问题多了,echo 一下,然后放到sql里执行一下

或者查询后,echo mysql_error();
谢谢大家,后来好了,发现是value的类型没有对上~

mysql_num_rows()和mysql_affected_rows()的区别 用途

mysql_num_rows

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_num_rows — 取得结果集中行的数目

说明

int mysql_num_rows ( resource $result )

mysql_num_rows() 返回结果集中行的数目。此命令仅对 SELECT 语句有效。要取得被 INSERT,UPDATE 或者 DELETE 查询所影响到的行的数目,用 mysql_affected_rows()

Example#1 mysql_num_rows() 例子

<?php

$link 
mysql_connect("localhost""mysql_user""mysql_password"
);
mysql_select_db("database"$link
);

$result mysql_query("SELECT * FROM table1"$link
);
$num_rows mysql_num_rows($result
);

echo 
"$num_rows Rows\n"
;

?>

Note: 如果使用 mysql_unbuffered_query(),则直到结果集中的所有行都被提取后 mysql_num_rows() 才能返回正确的值。

参见 mysql_affected_rows()mysql_connect()mysql_data_seek()mysql_select_db()mysql_query()

为向下兼容仍然可以使用 mysql_numrows(),但反对这样做。

http://cn.php.net/manual/zh/function.mysql-num-rows.php

mysql_affected_rows

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_affected_rows — 取得前一次 MySQL 操作所影响的记录行数

说明

int mysql_affected_rows ([ resource $link_identifier ] )

取得最近一次与 link_identifier 关联的 INSERT,UPDATE 或 DELETE 查询所影响的记录行数。

参数

link_identifier

MySQL 的连接标识符。如果没有指定,默认使用最后被 mysql_connect() 打开的连接。如果没有找到该连接,函数会尝试调用 mysql_connect() 建立连接并使用它。如果发生意外,没有找到连接或无法建立连接,系统发出 E_WARNING 级别的警告信息。

返回值

执行成功则返回受影响的行的数目,如果最近一次查询失败的话,函数返回 -1。

如果最近一次操作是没有任何条件(WHERE)的 DELETE 查询,在表中所有的记录都会被删除,但本函数返回值在 4.1.2 版之前都为 0。

当使用 UPDATE 查询,MySQL 不会将原值和新值一样的列更新。这样使得 mysql_affected_rows() 函数返回值不一定就是查询条件所符合的记录数,只有真正被修改的记录数才会被返回。

REPLACE 语句首先删除具有相同主键的记录,然后插入一个新记录。本函数返回的是被删除的记录数加上被插入的记录数。

http://cn.php.net/manual/zh/function.mysql-affected-rows.php

 

mysql_result()分成的种类

mysql_result

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_result — 取得结果数据

说明

mixed mysql_result ( resource $result , int $row [, mixed $field ] )

mysql_result() 返回 MySQL 结果集中一个单元的内容。字段参数可以是字段的偏移量或者字段名,或者是字段表点字段名(tablename.fieldname)。如果给列起了别名('select foo as bar from...'),则用别名替代列名。

当作用于很大的结果集时,应该考虑使用能够取得整行的函数(在下边指出)。这些函数在一次函数调用中返回了多个单元的内容,比 mysql_result() 快得多。此外注意在字段参数中指定数字偏移量比指定字段名或者 tablename.fieldname 要快得多。

调用 mysql_result() 不能和其它处理结果集的函数混合调用。

Example#1 mysql_result() 例子

<?php
    $link 
mysql_connect("localhost""mysql_user""mysql_password"
)
            or die(
"Could not connect: " mysql_error
());

    
$result mysql_query("SELECT name FROM work.employee"
)
            or die(
"Could not query: . mysql_error());

    echo mysql_result($result,2); // outputs third employee's name

    mysql_close($link);
?>

推荐使用高性能的替代函数:mysql_fetch_row()mysql_fetch_array()mysql_fetch_assoc()mysql_fetch_object()

PHP MySQL问题 left join 连select * from table_nem 都错误了 定界符 单引号

SQL code
select read.*,user.uname,category.cname from read left join user,category on read.uid=user.uid,read.cid=category.cid order by date desc limit 0,10


mysql中有三个表:
read
category
user

表read中有uid,cid和rid,rdate
表category中有cid,cname
表user中有uid,uname

现在就是要从read中选出所有的,但是要知道uid对应的uname,但是read表中只有uid,没有uname;还要获得cname,但是read表中只有cid,没有cname。
如何才可以选出来呢?


另外的就是我的一个SQL语句竟然是错误的:

SQL code
select * from read


显示的错误是如下的:

HTML code
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\newread.php on line 13


我的PHP代码是这样的:
PHP code
include_once("back/conn.php"); $query4="select count(*) as total from read"; echo $query4; $result4=mysql_query($query4); $totalnum=mysql_num_rows($result4);//总记录数为$totalnum


我该怎末做才可以选出呢?
另外我的这个代码是错误在了哪里呢?

----------------------------------------------------------------
 
 
解决办法:
SQL code
SELECT `read`.*,`user`.`uname`,`category`.`cname` FROM `read` LEFT JOIN `user` ON(`read`.`uid`=`user`.`uid`) LEFT JOIN `category` ON(`read`.`cid`=`category`.`cid`) LIMIT 0,10
 
read是保留关键字.加界定符就行了.我刚刚都忽略了这一点.
注意养成好的习惯.表和字段都加上界定符.
定界符就是ESC下面的那个符号,还有就是英文状态下的单引号!
 

php mysql mysql_fetch_array当结果不存在的时候 当结果为空的时候

HTML code
Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 6 in C:\AppServ\www\back\class\class.read.php on line 137



下面这个就是在第137行:

PHP code
//====================输出 单个文章 的 页面标题 =======================     
function readtitle()     {         if(!is_numeric($this->rid)){         echo "<center>对不起!网址中的ID必须为整数!<br>".__BACK__."</center>";         exit;         }         $query_pagetitle="select `rtitle` from `read` where `rid`=".$this->rid;         $result_pagetitle=mysql_query($query_pagetitle);     if($result_pagetitle==false){                  $pagetitle="文章不存在!出错了!";              }else{         $pagetitle=mysql_result($result_pagetitle,0,"rtitle");//[b]这个是第137行[/b]         $pagetitle=htmlspecialchars($pagetitle);         $updatehit=new read($this->rid,'','','','');         $updatehit->updatehit();     }         return $pagetitle;     }


实际上总共三种情况

PHP code (正确的解答)
$query_pagetitle="select `rtitle` from `read` where `rid`=".$this->rid; $result_pagetitle=mysql_query($query_pagetitle); if($result_pagetitle){ $pagetitle='数据库语句出错了!'; }elseif($array=mysql_fetch_array($query)){ $pagetitle=$array['rtitle']; }else{ $pagetitle='文章不存在!'; } 

在PHP手册的用户已经说得很清楚,在http://cn.php.net/manual/zh/function.mysql-result.php,的留言的第一条:

mysql_result() will throw E_WARNING if mysql_query returns 0 rows. This is unlike any of the mysql_fetch_* functions so be careful of this if you have E_WARNING turned on in error_reporting(). You might want to check mysql_num_rows() before calling mysql_result()

当mysql_query返回0条记录时,就会产生E_WARNING级的错误,注意在mysql_result前用mysql_num_rows() 检查,推荐使用mysql_fetch_xxxx什么的函数


当结果为空时候,PHP显示是有的 mysql_num_rows()

引用 1 楼 iasky 的回复:
Resource id #6

这个是当然有,只要mysql_query执行成功就有返回值!

函数原形 resource mysql_query  ( string $query  [, resource $link_identifier  ] )
http://cn2.php.net/manual/en/function.mysql-query.php

你还需要判断有几条结果,可能的结果就是0,使用函数mysql_num_rows

Use mysql_num_rows() to find out how many rows were returned for a SELECT statement


人家解释的很清楚了...
$result=mysql_query($query);  //这个$result只是一个句柄.
 
int mysql_num_rows() 返回是记录的条数.里面是有参数的
 
Resource id #6

这个是当然有,只要mysql_query执行成功就有返回值!

函数原形 resource mysql_query  ( string $query  [, resource $link_identifier  ] )
http://cn2.php.net/manual/en/function.mysql-query.php  

你还需要判断有几条结果,可能的结果就是0,使用函数mysql_num_rows
Use mysql_num_rows() to find out how many rows were returned for a SELECT statement

2009年3月20日星期五

读后感:日入1000元背后的:苦、累、冤、屈、怒(读后感)

  2009年新年一切都还是那么平静!除了网站还是网站!每天都在电脑旁忙碌着!

  对于一直以来支持和鼓励我们的学友和站长朋友,在此百荷对您说声谢谢!谢谢您们支持!2月26日,去银行国际部查了款,昨天收到一笔来自欧洲的汇款,汇款地:希腊,钱不多826元人民币,换成美元约120美元!说小了只是几百元人民币而已,说大了按目前比较时尚的话来说也算是国际业务!虽然在之前也有好几个国外的朋友想要学习,都被我以太远了,存取款和学习方面都不方便而婉言拒绝了,但这两次抱着试探的心态接受了来自境外友人的汇款!

  本以为很麻烦的收款,却只是仅仅几小时而已,款就到账了!按常理我应当很高兴才对、但我却高兴不起来,不是因为收钱不高兴,而是在担心收钱之后的服务如何来做!面对国外的学友,我需要考虑的事情会更多,例如:我们距离太远电脑网络会变慢,远程教学是很先进,但太远了毕竟还是操作不太方便!

  在这之前的前二天也就是23号,曾收到过一个来自中国香港的学员汇款685元!

 在教学中就遇到一些问题,在帮她远程协助下载软件的时候发现她的电脑用的是XP系统,但是,是繁体中文版的,看起来有些不太习惯,加上我们的服务器放在江西,她在香港下载我们服务器里的教材和软件就会比国内学员下载速度慢,终于下载完成了,但我所录制的视频语音教材在她的繁体中文版的XP系统上却打开出现failed1 错误码!对我来说是首次遇到样的问题,我第一时间百度搜索,找了许多相关的解决办法,忙碌的处理着,正打算下一步重新录制一套新的动画格式的视频语音教材来给这位学员下载学习,但需要时间来制作,这对我来说也是一次考验和挑战,但我喜欢这样的考验和挑战,对提高自己的业务能力和技术水平都会起到一定作用!想起N年前学习到的一句话:每天学习一点点,就是进步的开始!希望有一天能想出更完美的解决之道!更好的为更多会员服务!

  在几次跟身居国外的学友和众多国内学友报名学习之前的交流和沟通中却让我体会到两种截然不同的感受!国内的学员在咨询报名学习前很多会问到我一句话:“你们不是骗人的吧,我打款了你不教我怎么办?面对这样的学员大多数我回复的是:我们在国内已经有很多学员了,你考虑的问题他们都替你想过了,他们学会以后部分作品发表在《百荷音画驿站》www.cctv118.com学员作品专栏,你可以去看看!你放心了就报名学习, 不放心了请了解清楚了再来报名学习,我们随时欢迎你!” 当然这只是部分学友比较担心这个问题, 然而巧的是身居国外的这些学友们,他们却从来没有哪一位朋友提过这个问题!这又让我为当今国内的信誉问题的严重性有了深刻认识!

  在从开始教学到现在这一年中,为了教授学员,苦过,累过,冤过,委屈过,愤怒过

  苦过:一般都是早八点上班到晚上十二点,有学员学习就给学员指导,没有学员在线就更新网站,做音画作品!总觉得时间不够用!

  累过:由于国内没有几家的IDC的空间是很好用的,所以为了购买到好一点的、稳定一点的空间,冤枉钱花了不少,来来回回搬网站时间浪费了不少,其中之累自己和做过网站朋友最清楚!好不容易下定决心买台价格高点的服务器吧,新服务器上架三个月就坏硬盘,丢失数据,服务器几天登陆不上,网站数天打不开,客服也是不半理不睬的,搜索引擎关键字排名全部下降,想想做人真累!

  冤过:很多学员是懂礼貌的,很客气的!但难免还是有部分学员,不能理解我们的工作,拿着几张人民币把我们不当人看,为了更好的让学员能真正的学会,所以我们设置的是不限时间,学会为止!但部分学员不认为他是来求学的,就认为是拿钱来开心的,你正在讲课吧,他一会儿要去接个电话,一会儿要不就是有朋来了要先去喝酒,要不就是你正在给他远协助帮他解决问题吧,他还要先跟他的QQ好友一边聊天一边学习!等到他聊完天后你又得重新给他讲一次。要不就是他自己电脑设置或网络有问题打不开网站或上传不了文件,却不分好坏先是认为是我们的空间和网站有问题。同一个简单的问题,同样的讲法,有些学员一次就会,个别学员讲过十几次还是不会!

  委屈过:有时候正在吃饭吧,听到QQ嘀嘀嘀了,放下碗筷看看什么问题,结果不知多少次等到忙碌完了再去看看饭菜吧,早都凉了也吃不下了,如果是遇到节假日家人也自然就不高兴了!

  愤怒过:我想做过网站的朋友们感触最深,当你同时打开PS,FLASH软件,QQ在线的时候,正在处理图片或是已经忙碌了几个小时制作作品过程中突然在无声无息中弹出几个视频,让你的电脑瞬间卡死,如果之前没有保存,这几个小时的工作就白做了!这种感受就像忙碌了一辈子才修了一栋属于自己的房子,最后却被一把火烧了!

文章来自: 站长网(www.admin5.com)
 
【文章读后感】
 
什么才是网赚?
什么样才可以网赚?
 
网赚多么虚假,多么的可笑!
现在互联网上多少的幌子,多少的骗局!
月赚上万,日3万IP 可能吗?可信吗?
要靠做网站来维持自己的生存,容易吗?
 
www.admin5.com 中,不难发现,这么多的网站,这么多的站长,就像菜市场的烂菜一样,到处横放着,到处乱扔,贬值到了什么地步了?
 
网赚,真的就可以赚钱吗?
 
每次进入www.admin5.com 中,就发现了一种怪现象:发帖和回帖的人都会在自己的文章中留下连接。连接到自己的网站中。
这个就非常的奇怪了!
 
既然是网赚,那么为什么还要让竞争对手来知道自己的建站类型和盈利方法呢?
为什么要这么做呢?
真的是让人奇怪吧,这些网站的访问的流量基本上是来自于其他的站长的访问。
也就是做出来的网站全部是那些也想网赚的人去访问的,而实际上真的想访问这个网站的人是非常少的。
 
中国的人口太多了
国外的Free Domain、 Free Space只要一发布,不过一段时间,服务器就瘫痪了。
为什么,注册的人太多了。以至于很多的国外服务器都明确的表明着“Except China!”。现在国内的就业压力非常的大,想靠网络来赚钱的人已经非常多了。淘宝为什么那么火。互联网的泡沫在中国还是没有被吹破,“北大青鸟”、“清华IT”这些天天都在招生,还真的是出乎意料,真的有人跑去学什么IT专业,心中幻想着真的月薪三千,月薪上万。现在那些被裁员出来的IT精英们,不仅没有受到打击,反而还大赚一笔,因为开办一个什么IT培训班就相当的火了。“网赚”“网赚”“网赚”“坚持”“坚持”……本利润就非常少,现在快要成为传销模式了。就是发展下线,相互点击别人的广告。
 
网赚已经成为了根本不可能的事情了!
不要指望着靠广告点击来赚钱!
 
不知道在这样的年代,还会发生多少荒废的事情,浪费年轻的青春,浪费金钱,去投入到所谓的网络广告点击,去投入到所谓的网赚中。真正靠网络赚到钱的人,可以数的清。
 
 

2009年2月28日星期六

网赚315 部分网赚骗子公司黑名单The net gains the swindler company blacklist

  据不完全统计,网赚公司中骗子公司不低于80%,很多网站吃人不吐骨头,在你白白为它卖命后被咔嚓掉,这是多么令人伤心的事,下面分两部分分别列出一些骗子公司和问题公司的名单,给广大网赚朋友一个警戒。
  一、骗子公司
  mikepaid4email和clix
  这两家公司是老牌公司,过去站长认为他的信誉不错,做了很长时间,现在发现是骗子公司。主要欺骗事实如下:1.在下线收入上作弊。他的网站上标明下线提成是10%,他实际给的只有5%,他大概以为我们不知道下线的业绩,就不会发觉他作弊!但站长的下线是与站长有联系的,站长要对他们进行指导。站长实际监测过,让一个下线先点击,然后站长监测下线收入,发现他只给加了5%。有下线的用户可以用同样的监测方法试一试。2.乱删账户。站长原以为,认真做,不作弊,不点击搜索的会员就不会被删除,事实上不是的,前几个月他就试图删除全部中国用户,当时在网站论坛上投票表决,由于大多数人的反对,没有得逞。但接下来,他开始没道理的删除账户,询问他便声称有人盗用了你的密码干一些违规的事情,并承诺调查,但调查不调查鬼才知道。他们本来是起付额很高的公司,目前搜索不支持中国,每天几分钱的收入,何时能够做到起付?以现在的进度,需要几年的时间做到支付,他是想让你知难而退!如果你不退呢?那你努力发展下线,你可以算一算,你要发展多少下线才能达到起付?等你下线多了,他一删了之,你辛辛苦苦点击几年的成果毁于一旦!站长在发现他们的欺骗事实之后,总是舍不得放弃,也没有使用已经赚得的钱做广告,结果,下线多了,突然一天被删除,挣得的140美元全部便宜了这个骗子。站长在他的网站上发信询问两次,都不回答,后在论坛托人询问,回答说我的个人信息乱填。欲加之罪,何患无辞!站长的个人信息一直都是这样填的,为什么早不说?非要等我的下线多了,赚钱多了才下手?站长吃过他的亏,不能看着网友们再吃亏!希望看到本文还在做这两家的的网友及早将在该站挣的钱做广告花掉,然后取消账户。否则,有朝一日,你的钱赚多了,他随便找个理由删除你,那时你回忆起自己过去的一万多次点击,欲哭无泪呀!
  way2win (http://www.way2win.com/
  一直有人在宣传他 什么介绍一个人得50刀的 不过我网赚至今没听说有谁收到过钱 应该列为黑名单
  moneysurplus (http://www.moneysurplus.com/
  网站开一阵关一阵的。申请付款写信给它就是不给还反扣你的钱
  Paidbizopmail(http://www.paidbizopmail.com/
  当时开张时也曾听说有人收到过支付。我好不容易做的25美元申请付款时,paidbizopmail 就会把我的账户删除。近期又重新开张,还好心地说恢复你的下线,但钱已经被它清零了。劝大家不要再做了
  下面的公司都已经不对国内支付了,请大家小心,这些都是公认的骗子,来看看以免上当,以下是国外公认的骗子网站:
  ahmoola,cashfiesta,cashread,clickdough,disneyawards,dollarslove,emailtreasures,epilot,ignifuge,joinmoney,lottoforever,nitroclicks,paidbizopmail,richmails,way2win,topdollaremails,zwallet,trafficsol,ratemail,cash4hits,paidbizopmail。再加上一个国内的中国利(www.chinaour.com),赚大户NOCS也是骗子公司!!只有1%的幸运儿拿到了钱…… 一般的人,如果做到500$他们都会说你作弊!! 而且国外的人投诉的特多!大家慎重!
  注:Spedia这家已不对中国付款!
  fast-exchange这家是骗子公司,是俄国人开的,是黑客,如果你的EGOLD和PAYPAL或STOMPAY的密码用的是一样的话,他将盗取你帐户里的钱,凡是注册了的朋友请一定要小心,快去改换你其他网上银行的密码
  二、问题公司
  创富邮件
  该公司不付款,乱删帐户。
  牡丹网
  以前就说正在测试马上就可以开始赚钱,到现在为止连网站都进不去了,可想骗子一个。
  易妙点击广告
  该公司在运作上有问题,大家最好不要去碰它。
  苹果98网
  该网站已不能访问,有问题啊!
  乐透网
  只要有人通过你的网站访问乐透网并注册成为乐透网会员,经过核实後,将向你支付:¥2.5圆,已停止运作,最好不碰。
  pennyweb
  公司运作有问题,最好不碰,小心啊
  safe-audit
  公司运作有问题,最好不碰,小心啊
  royaltystudios
  公司运作有问题,最好不碰,小心啊!
  goclicks
  公司运作有问题,最好不碰,小心啊!
  cashforclicks
  公司运作有问题,最好不碰,小心啊!
  bannerco-op
  公司运作有问题,最好不碰,小心啊!
  gallop
  公司运作有问题,最好不碰,小心啊!
  bannerpromo
  公司运作有问题,最好不碰,小心啊!
  JustClick
  公司运作有问题,最好不碰,小心啊!
  24-7webads
  公司运作有问题,最好不碰
  SafeAds
  公司运作有问题,小心!
  narrowcastmedia
  该公司运作有问题,要小心!
  BannerSpace
  该公司运作有问题,要小心!
  adclub
  该公司运作有问题,要小心啊!
  NetRadio
  该公司运作有问题,要小心,最好是不碰。
  cyberthrill
  地地道道的骗子,不付款,乱删帐户.请大家不要再上当了!
  GrandImpact.com
  地地道道的骗子,不付款,乱删帐户.
  3Apes
  地地道道的大骗子,不付款,乱删帐户。
  3XONE
  不付款,乱删帐户
  doUno
  网站已停止运作
  HitBox
  该公司已停止点击赚钱服务了,大家别碰了,死老外!
  blacklist
  已对国际用户不再支付了,请大家不要再碰了。
  PAybar
  已不支持中国、台湾、香港、俄罗斯等用户
  CashWars
  公司已经倒闭
  SurfingPrizes
  公司已经倒闭.
  Trancemail
  该网站不能正常访问
  cash4thetaking
  该网站已不能访问
  clickitycash
  已不支持中国用户
  dustygoldemail
  已不支持中国用户
  horizonsurfer
  该公司运作有问题 ,要注意。
  gypsydad
  已不支持中国用户
  cashfiesta
  该公司不对中国用户付款
  Cashroad
  网站已停止运作
  AdCashMail
  以前有过网站不能正常访问的情况,目前已恢复正常,但这种赚钱网站要特别注意,最好不碰。
  Email-blaze
  网站不能正常访问
  HighYieldGroup
  以前有过网站不能正常访问的情况,目前已恢复正常,但这种赚钱网站要特别注意,最好不碰。
  e-specie
  网站不能正常访问
  kanemitsu
  网站不能正常访问
  linksforfreecash
  网站不能正常访问
  platinum-mails
  网站已不能正常访问
  trafficsol
  不付款,乱删帐户.
  matrixmails
  不付款,乱删帐户.
  paidhitworld
  不付款,乱删帐户.
  gypsydad
  这家公司站长做到$35(它是30起付),多次催信还不付.
  LuckyEarners
  国内凡是做网赚的都在做,站长户头被删好几回,以及他的兄弟公司mailingheaven 不允许点击它的搜索链接,站长因不小心点击户头被删除
  5starpromotions
  $25起付是你必须是二星级会员,而要升级二星级会员你必须赚足$29.95
  dirtcheapemails
  要拿钱很累,条件很多,而且价值也不高
  jays-paidmail
  JES的系列公司之一,是最火暴的,但是在国内有绝大多数时间打不开他的网站,现在根本没邮件,而且站长还被减少过几次钱.

文章来源:http://homepage.yesky.com/220/2331720.shtml

【转】高级开发人员如何在网络时代成就自己my story of learning how to build website

本人的一些和网络相关的小经历:
  1999年的时候当时做过一个静态网页,那个时候刚开始学习HTML,那个新鲜哦,就做了个网站,主要是我对一个内容比较感兴趣,关于心理方面的,记得当时叫“成长的岁月,痛苦的美丽”当时访问量还一直很高的来,我就没想做要去弄广告赚钱,还有搜索都排第一的,因为内容都是原创的自己输入的,现在回想起来,真是太单纯啊。
  2001年的时候一高兴还写了个php的留言本,叫什么“挑战最棒的留言本”现在去google搜索估计还能搜索出来一堆,转载的比较多,虽然没时间去完善。2000年的时候本人看asp比较好玩,买了本书,花几天就写了个简单的BBS系统,当时在震旦,公司里还有很多人用这个玩呢,一回首都过去好多年了。
  当时一直有这样的想法,做网站技术含量比较底,以后的工作肯定不做这个的,感觉前景不是很好!所以就没往这方面发展。
  有时候想想自己怎么当时这么没商业头脑,看人家discuz也才02年开始,我在之前就做过了,就是想法太少。如果当时把这些东西完善,发布出去,用的人多了也不错啊!
  后来看到“番茄花园”,人家赚钱了,又感慨了,因为我在03年的时候就做过这样的事,不过我定制windows系统只是给我自己用,自己刻盘,人家多聪明啊。
  静下来总结下,确实网络时代,网络的技术的含量是不高(相比系统编程),高级开发人员不适合做以内容取胜的网站,因为这个门槛太低,有多少人在和你竞争呢,没有优势!
  看那些成功的,都是以为他人提供平台,环境取胜的,(比如discuz bbs,比如这么多的cms)为什么呢?因为网络时代技术含量不高,但是对于那些毫无电脑知识的人,门槛还是高的,所以如果你提供平台,环境就成就了一大批毫无电脑知识的人,这样的人太多了,他们就可以涌入网络大潮,因为这样的人多,所以这个市场就尤其的大。
  还有中国的国情,这批人大多是缺乏钱的,因为网络投资底才来淘金的。再加上中国的网络=免费的概念深入人心,所以想在这些人上赚钱是注定要失败的。所以就注定了这些平台需要免费,这样才会有广大的市场,另外中国还有一个因素支撑免费市场,因为中国人太多,广告收入相对就比较多,而中国人也是很容易被广告左右的人。这些因素相互结合造就了中国的网络现状!
  所以如果要说商业模式,中国这个就是个很好的一种商业模式,至少这十多年内都会行之有效的。所以总结起来就是,网络时代,高级研发人员想成就自己,这个是个不错选择,是不是唯一呢?呵呵谢谢大家的阅读,后面,我会发文章说说就这个商业模式,我们是怎么做的,希望大家喜欢,继续关心我们!

文章来自: 站长网(http://www.admin5.com/)

详文参考:http://www.admin5.com/article/20090226/132756.shtml




相关连接

浅谈网络赚钱的秘密
  网赚必须做到 1、不去学网赚 2、必须有丰富的网络综合知识 3、注意细心... 阅读全文

个人站长分享日赚300元的经验心得
  我利用网络,做正规项目日赚300方法分享,绝对原创项目。... 阅读全文

回顾我的艰辛网络生涯
  前段时间写了一篇七天收入六千元的文章,很多网友都在支持,今天又写了一篇我的网络成长... 阅读全文

从零收入到7天收入达六千多元的完整经历和方法
  我从2002年做网站起到今年国庆从未在网上赚到过一分钱,在国庆七天确收入达到六千,非SEO,纯软件推广流量,分享经验... 阅读全文

2009年2月27日星期五

网站推广 更需要有效的软文发布平台 skills to spot your web site

  如何寻找优质的外链一直是站长比较头疼的问题。能找到一些权重高,又可以增加有效链接的网站,对于站长们来说是件十分幸福的事情。网站要想提高热门词的排名,利用写软文的方式来获取流量是一个不错的方式。李智收集了一些引擎收录非常好,而且还容易获得排名的网站,与大家一起分享:

  1、IT资讯门户:

  站长网: www.admin5.com

  中国站长站: www.chinaz.com

  中国建站:www.jz123.cn

  ITBEAR: www.itbear.com.cn

  站长资讯:www.chinahtml.com

  这些IT资讯网站都是百度新闻源,搜索引擎收录很快,可惜都不能直接放有效链接。站长可以直接在线投稿,编辑审核速度也快,一旦发布其他网站转载率比较高。


  2、站长论坛:

  落伍者论坛:www.im286.com

  51la论坛:bbs.51.la

  站长中国:bbs.zzchn.com

  我拉网:bbs.55.la

  这些论坛都聚集了超高的人气,提交软文的方式最好以沟通交流为目的,可以介绍你的建站心得等内容。

  3、IT写作社区:

  艾瑞网: www.iresearch.cn

  Donews: www.donews.com

  Techweb:www.techweb.com.cn

  IT世界网: www.it.com.cn

  在这些网站申请个人专栏不是一件容易的事,要求在业内有一定知名度。但是发布的文章影响力和效果是显而易见的。

  4、点评分享:

  豆瓣网: www.douban.com

  挖新闻:www.17tech.com

  草根网:www.caogen.com

  典型的WEB2.0资讯、热点分享平台,人气够旺。不论是评论文章还是随笔,只要内容好,并保持及时更新,所受到的关注程度不亚于某些大型门户网站的新闻。

文章来自: 站长网(www.admin5.com ) 详文参考:http://www.admin5.com/article/20090227/132943.shtml

Dreamweaver经典插件下载 Plug-in unit download url

Dreamweaver 插件文件名
Dreamweaver 插件简介
persistent_layers不管滚动条如何拉动,这个层在窗口中的位置始终固定不变
P7_PowerToys_18可以让你方便的插入代码,用开始和结束标签加入既存的代码等
justsoalt用于在你的图片上加入alt标记,它可以利用模板一次为多张图片加入alt说明
calendarPopup一个弹出日历表格,用以确保输入的日历是按照特定的格式进行输入的,主要特色包括:日历链接,按照需要的方式设定日历的格式,按照需要可以在日期项目间增加分隔符等等功能
MX95982_shortcutIconOB_v1插入.icon图标效果
addToFavoritesBH制作加入收藏夹的链接
Anchors建立扩展的命令锚点
BustFrames让其他网页无法将你的主页加载入框架页中
Calendar为指定月份建立日历
ClosePopupWindow制作关闭弹出的窗口
CloseWindowOb建立关闭当前窗口的链接
mm_flabutton_styles为DW4增加几款新的Flash按钮样式
mx142100_mmflabuttonstyles13款Flash Button,并带有.fla的源文件
mx196756_turkeyscounties80多个国家的一个下拉菜单
FlashImage响应鼠标事件的图片渐显渐隐效果
real_networks在页面中插入流式播放的Real视频和音频文件
MX131662_pdreloadxtension从新加载Dreamweaver的各项插件,不用重复的启动关闭Dreamweaver了
DateStamp插入一个日期,或者网页的最后更新日期
Email插入一个Email的连接,可以自己指定标题、BB、BBC、以及message!
ie55_scroll自定义浏览器滚动条的特效CSS
Marquee插入滚动文字效果
scrubber去除点击超级链接时的虚线显示
chromeless_win_wind制作弹出无边浏览小窗口,现在网上最为流行的
scrollablearea使用层制作IE中可控制上下滚动的看板
right_click_menu_builder右键菜单扩展功能
flashtext制作仿Flash的文字效果
typewriter让一段文字以打字的效果出现
gradient_text在网页里生成一段色彩渐变的文字
footnote增加一个弹出的注释,就像image 的alt=……
ie_favicon你只需要一个漂亮的ico格式图片,您的地址栏IE图标将与众不同
favorite_menu为DW增加一个Favorites 菜单,类似IE收藏夹
layer_transitions层的多种转换特效
dhtml_tooltips为页面或链接增加一个dHTML的脚注(即注释)
insert_greeting根据不同的时段插入不同的问候语
script_editor让你更方便的编辑脚本,包括外部脚本
popup_menu_builder帮助您轻松创建一个跨浏览器的弹出菜单
TableLines文章文字各行间都有横线分离
alternate_table_rows使表格中行与行之间的背景色交替变换
print支持三种打印页面连接,文字连接、图片连接
preloaddisplay预先加载页面,如果你的网站下载的速度比较慢,用这个比较好。
swftext将Drm和Flash结合起来了,选择文本,执行该Command,swf动画就轻易的生成了
SliderMenu设计导航菜单的绝佳助手,可以用于导航菜单的设计,特别是导航项很多的场合
disable_view_source让网页源代码无法观看
vmkp_flash_buttonsFlash按钮
iframe内帖窗口(页中页效果)
open_picture_window打开一个与缩略图一样大小的窗口
MX128577_ultimatewindows建立一个可自定义属性的弹出窗口,亦可建立一个居中的窗口
WordCount字数统计
PreviousPage建立返回前一页的超链接
PageTransitions进入、退出页面的过渡转场效果,比如从中间打开、溶解......
Meta_Generator网页 Meta 管理器,可以详细设置Meta
Fix_Null_Links把所有的“#”替换成“javascript”来避免一点击它,网页马上就翻到了顶部
advopenwindow弹出窗口(窗口居中、总在最前面、自动关闭、全屏、无边框窗口)
averagedistribute单元格平均分布
Quick_Title建立文字型的Title说明
Open_Browser_Window+操作弹出式窗口升级版
StyleApplier表格的鼠标触发效果
checkform表单验证插件
Realplayer嵌入网页Real播放器插件
BannerImageBuilder创建多图片随机显示
CloseCW方便的插入一个关闭当前页面的按钮,可以选择按钮、图片、或者文字3种方式
tooltips制作注释
UI_componentsFlash UIComponent

Dreamweaver 插件文件名 Dreamweaver 插件简介
floatimg 在页面上制作的飘浮图片插件,没时间封装
mmJIK Macromedia亲自为Flash 5开发的插件,功能太强大了
MX186725_splash_window 也叫chromeless splash , 一种效果很不错的浏览器窗口
MX175723_DWinamp 可以方便的在DW中控制Winamp,边工作,边听音乐
languagemenu 包括所有语言的下拉菜单(object)
MX162506_persist_layer 不论浏览器的滚动条怎么拉,用这个插件插入的层总是保持在某个位置不动
MX156958_e-VueObject 插入e-Vue MPEG-4格式的文件
Sound 插入Midi、wav、Aiff等格式的声音文件
MX172878_sup_sub_ext 插入上标、下标
Videoembed 插入视频文件,还可以加上控制按钮
NowhereLink 插入一个空连接,点击后不会返回到页面顶部
ExternalJS调用一个外部的.JS脚本语言文件
includeJSfile_hp 调用一个外部的.JS脚本语言文件,插入到<head>区域内
Addramesets 给你的Dreamweaver再加入14种框架模板(command)
Title_for_Links 给文字连接加上说明(command)
ChinaDW 功能是一个中国省市自制区的下拉框
Xwindow 没有边框,没有Title的窗口
MX143626_GoBackorForward 类似于浏览器的前进和后退按钮,但是可以指定每次前进的次数
coolborder 平时插入的表格的border又粗又难看,用这个插件插入看看边框(object)
Set_IE_Scrollbars 设置IE是否出现右边的滚动条,可以适用于单个,多个,整个站点的页面
MX174513_Super_Email 插入一个不打开客户端的默认邮件程序来发送email的超连接
iframei 一个面板插件,可以对iframe标签的属性进行设置(inspector)
MX179510_flashbuttons 一些Flash Button,一共7款
X164476_nirvana_iframePack 一组关于iframe的插件,可以动态的改变iframe中的页面
MX152319_save_all 在Drw的File菜单下加一个Save All命令,用来保存所有Dreamweaver窗口的文件
Layerfx 可以让层做绕定轴转动、震动、加速运动.......
xp_jmailUD中使用的插件。
Scrolling_TitleIE标题栏的文字滚动的效果
RefreshPageLink建立一个刷新当前页面的链接。
quick filter使用CSS滤镜对图片进行快速设置(右键、目标另存为)
adv_random_images这是随机显示图片的新版本,可以定制图片的很多相关属性。
scrolling_status_bar插入打字效果状态栏文字。
form_button_fever使用文字或者图片取代submit、reset 按钮
compare_fields用来验证表单内2个文本框的值是否相同,通常用来检验密码是否一致。并可以自定义抱错信息。
ASP Dream很方便的插入ASP语句,具有向导模式
Ultra Close Window直接关闭窗口,不弹出确认关闭的对话框
flat_button用CSS改变了样式的文本框或按钮
format_css_4规范化<style>代码,附带若干选项设置。
explore在DW的Site窗口中选中文件夹后在右键菜单中添加一条“在资源管理器中打开...”的命令

插件下载地址: http://cid-24703bd2e618e471.skydrive.live.com/browse.aspx/Public/xhtmlcss

转:我做网站后台的流程一般是这样的 how to build a xhmtl web site

我做网站后台的流程一般是这样的

一、网站规划阶段 
 
这个阶段主要是对网站的功能、目标受众、内容、栏目进行规划。这期间会经常性地和有关领导进行沟通。首先,自己一定要对网站的整体规划清清楚楚,然后要吸收别人的建议。吸收别人的建议的过程,可以认认真真地做,也可以走过场,但是有这个过程以后,别人才不会对你的规划说三道四。
至于领导的意愿,和你的规划靠得上边的,你一定要让领导明白,他们的设想已经在你的规划中被考虑进去了。
项目的大致进度,要在这个阶段结束的时候确定下来。

二、后台模块划分和版面设计

这个阶段,程序员要和美工兵分两路分头行动。
后台模块划分如果做好了,后面的效率会高一些。这个过程不能省。
版面设计,美工既要考虑网站整体规划,又要考虑大家的建议,尤其是不能忽视领导们的观点(虽然大多数情况下领导的美术细胞少得可怜)。在这个大前提下,再兼顾美观、合理。一个好的美工,不仅仅能做出漂亮的页面,还要能迎合一下客户或者公司领导的意愿,而且能和程序员进行沟通。
  在这个阶段,程序员和项目经理(项目负责人)要拿出一个可操作的模块划分方案,而美工要确定网站的版面框架、美术风格,做出网站首页和二级页面。
  实际上,在第一个阶段(网站规划阶段),美工就应该开始思考网站的风格了。在第二个阶段,则需要把比较抽象的初级设想变成具体的页面。基本上,首页定了,整个网站的页面就定了一大半了。
  在这个阶段结束的时候,要将项目的进度计划进一步具体化。

三、数据库设计

  这项工作很重要。但是程序员应该知道怎么去做。而且数据库设计是和一个人的理论水平、实际经验息息相关的,不是几句话能说明白的。大的、复杂的站点,数据库规划可能要用一周左右的时间,小的、简单的站点,数据库设计也需要2到3天。
  在这个阶段,美工最好别闲着,继续完成页面设计。要知道下一个阶段,程序员可就要用到美工的页面了。最好别出现这样的情况:程序员要用到某个页面,而美工还没有把那个页面确定下来。

四、后台程序编码

  这个阶段,程序员要紧张工作,会比较辛苦的。
  程序员需要遵守的三个原则:
  1、团队合作;
  2、保证进度;
  3、保证质量。

  美工这个时候要辅助程序员做页面。这个阶段美工可能比较闲,但是一定要称职。

  项目经理该和客户或者领导沟通的时候,一定要沟通。

五、除错、改进、页面美化

  这个阶段,不多说了。项目经理和客户、领导的沟通,仍然是很重要的。

这个流程其实很普通,但是有人问,我就写出来。

可是,关键是如何真正贯彻这个流程。这是需要考验整个团队尤其是项目负责人的。
很少有一个团队在整个流程中不出一点问题,根据我的经验,总会有人影响项目的进度,又总是有人需要为了项目的进度而做一点自我牺牲。
 

最优秀的免费CSS模板下载地址 the best free css templates download

最优秀的免费的CSS模板下载地址,无需注册,无需密码,下载解压即可!

http://www.freecsstemplates.org/

2009年2月25日星期三

利用AJAX实现搜索提示功能 (关键字自动匹配功能)

http://hi.baidu.com/jaoooo/blog/item/24a67d89b8d20eb40f244491.html
(有点问题,需要修改)

关于网友提到代码不能在FIREFOX下运行的问题的解决:

1、由于FF各方面的安全性,它不支持跨域的访问,应此注意在调用跨域脚本代码之前加上

document.domain="http://www.yourdomain.com/" ,不过本实例不需要。

2、在FF下,xmlhttpRequest.send方法必须加上参数null,IE下不需要。另外,xmlhttpRequest.open方法的O要小写open,Send 改为send。

3、初始化对象后,注意加上xmlhttpRequest.overrideMimeType('text/xml'); 以便在 错误控制台 看到不符合XML错误的提示。

4、如果是netscape浏览器,注意加上 netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");

5、修改代码 Response.Write("这下你就满足了吧继续关注") 显示的数据符合XML格式。然后在前台用JAVASCRIPT解析XML。

谢谢大家关注!


注:好多朋友向我发EMAIL,要求源代码,在此感谢他们对这一技术的关注,从今天(08-01-22)开始,我不再发了。有时间把完整的代码贴出来。

希望大家一起学习JAVASCRIPT。。。


原文如下:

希望需要的人慢慢的看,不能急噪。不清楚可以电子邮件给我。

“谷歌主页搜索增加信息提示功能,在用户输入信息时会获得相应的提示与该提示搜索结果数量;其中,提示的数量一般保持在10个内。用户点击提示信息能直接搜索信息,这样能提高信息搜索准确性。”

当然,我们不知道GOOGLE的代码,但是我们也可以实现同样的效果,下面根据自己的实践,一步一步来说,对自己来说,可能更熟练,也希望大家熟练的掌握这一技术。

AJAX是个老话题了,在这里就不费口舌了,直接入题。为了代码的完整性,我尽量写完整。

首先,在HTML页面上放一个文本框。注意要放在form里面哦,属性methord为POST。
<input id="KProvince" style="width: 150px;" autocomplete="off" onkeyup="beKeyUp();" />
注意这里面有一个属性 autocomplete="off",它的目的的关掉文本框的自动提示,必须要,不然你以前在文本框输入的记录会遮挡要提示的数据。onkeyup 方法是在键盘按下后松开执行,正好实现 即时输入,即时调用。更多请在BAIDU搜索详细的解释。
第二步,在文本框下面放一个DIV,注意样式。z-index属性不能少,不然不能覆盖它下面的其它select控件。
<div id="search_suggest" style="position:absolute;z-index:1;"></div>

下面来开始写JAVASCRIPT。
首先创建XMLHttpRequest对象。我把它写成一个方法,以免多次调用。对它我不做解释,更多请在BAIDU搜索详细的解释。
var array=new Array(); //定义一个全局变量数组,用来存放拆分字符串的值,后面具体介绍。
var zz=-1; //此为指针,后面用到
function xmlHttpInitializtions()
{
try
{
xmlhttpRequest = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
xmlhttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e2)
{
xmlhttpRequest = false;
}
}
if (!xmlhttpRequest && typeof XMLHttpRequest != 'undefined')
{
xmlhttpRequest = new XMLHttpRequest();
}
}
第二步,创建beKeyUp方法,正是键盘按下后松开时的方法,在文本框那里调用。
function beKeyUp()
{
var key = document.getElementById("KProvince").value;
if(key.length>0)//有值才POST,这里最好加个Trim()方法,但是JAVASCRIPT没有现成的方法,自己定义。
{
xmlHttpInitializtions();
xmlhttpRequest.Open("POST","Test_Ajax.aspx?key=" + key,true);//POST
xmlhttpRequest.onreadystatechange=stateChange;//返回状态调用方法stateChange
xmlhttpRequest.Send();
}
}
function stateChange()
{
if(xmlhttpRequest.readystate==4)
{
if(xmlhttpRequest.status==200)
{
var responseStr=xmlhttpRequest.responseText;//获取返回值
if(responseStr.length>0)//返回值不为空才执行下面的代码
{
array=responseStr.split('');//根据‘’拆分,根据自己任意特殊字符,初始化数组
positionDiv();//调用方法,定位DIV显示,具体见方法解释
document.getElementById("search_suggest").innerHTML="";//每次清空DIV内容
for(var i=0;i<array.length;i++)
{
if(array[i]!="")//项值不为空,组合DIV,每个DIV有onmouseover、onmouseout、onclick对应事件
{
document.getElementById("search_suggest").innerHTML+="<div id='item" + i + "' class='itemBg' onmouseover='beMouseOver(" + i +")' onmouseout='beMouseOut(" + i + ")' onclick='beClick(" + i + ")'>" + array[i] + "</div>";
}
}
//最后一个DIV显示 关闭 效果 onclick方法
document.getElementById("search_suggest").innerHTML+="<div class='item_button' onclick='hiddenDiv();'><font color='#999999'>关闭</font></div>";
document.getElementById("search_suggest").style.display="inline";
}
else
{
document.getElementById("search_suggest").style.display="none";
}
}
}
}
//定位DIV显示
function positionDiv()
{
var DivRef= document.getElementById("search_suggest");
DivRef.style.position = "absolute";
var t=document.getElementById("KProvince");
DivRef.style.top= getAbsolutePos(t).y;//相对文本框的TOP高度,方法见下面
DivRef.style.left= getAbsolutePos(t).x ;//相对文本框的LEFT宽度
DivRef.style.height=array.length * 20;//DIV的高度等于每行20个象素乘行数(也就是数组的长度,体现全局数组的作用,不然要传入数组长度的参数)
}
//实现最后一个DIV 关闭 onclick方法
function hiddenDiv()
{
document.getElementById("search_suggest").style.display="none";
}
//定位方法,不做解释
function getAbsolutePos(el)
{
var SL = 0, ST = 0;
var is_div = /^div$/i.test(el.tagName);
if (is_div && el.scrollLeft) SL = el.scrollLeft;
if (is_div && el.scrollTop) ST = el.scrollTop;
var r = { x: el.offsetLeft - SL, y: el.offsetTop - ST };
if (el.offsetParent)
{
var tmp = this.getAbsolutePos(el.offsetParent);
r.x += tmp.x;
r.y += tmp.y;
}
return r;
}

最后是鼠标效果的方法。
//函数鼠标经过效果
function beMouseOverEFF(i)
{
if ((i>=0)&(i<=array.length-1))
{
document.getElementById("item" + i).className="item_high";
}
}

//函数鼠标移开效果
function beMouseOutEFF(i)
{
if ((i>=0)&(i<=array.length-1))
{
document.getElementById("item" + i).className="item_normal";
}
}

//函数鼠标经过
function beMouseOver(i)
{
document.getElementById("KProvince").focus();
beMouseOutEFF(zz);
zz=i;
beMouseOverEFF(zz);
}

//函数鼠标移开
function beMouseOut(i)
{
beMouseOutEFF(i);
}
//函数单击
function beClick(i)
{
document.getElementById("KProvince").value=array[i];
document.getElementById("search_suggest").style.display="none";
document.getElementById("KProvince").focus();
}

对应的样式如下:
.item_normal
{
BORDER-LEFT: #666 1px solid;
BORDER-RIGHT: #666 1px solid;
width:150px;
background-color:#ffffff;
overflow:hidden;
}
.itemBg
{
BORDER-LEFT: #666 1px solid;
BORDER-RIGHT: #666 1px solid;
cursor:default;
background-color:#ffffff;
width:150px;
}
.item_high
{
background-color:#326BC5;
cursor:default;
width:150px;
color:white;
}
.item_button
{
BORDER-LEFT: #666 1px solid;
BORDER-RIGHT: #666 1px solid;
BORDER-BOTTOM: #666 1px solid;
text-align:right;
background-color:#ffffff;
width:150px;
cursor:hand;
}
.suggest_hidden
{
display:none;
}

至于POST 的页面Test_Ajax.aspx该怎么写,我相信都知道。写个简单的能实现的...注意该页面前端的HTML代码都不要
if(Request.QueryString["key"] != null)
{
Response.Write("这下你就满足了吧");//你可以从数据库读取,打印出来就OK
}
到此,功能实现了,具体调整根据自己的爱好修改。本地测试通过......
如果还不能实现的话,请EMAIL给我,把源代码发给你BB。(xiaohui_liu0406@163.com

dreamweaver中0x00b84bac指令引用的0x00bfff8内存,该内存不能为read

Dreamweaver中,当输入汉字,或者使用时间长一些的时候,就会弹出一个警告。警告的内容就是:
0x00b84bac指令引用的0x00bfff8内存,该内存不能为read
这个是怎么回事?
 
 
相关问题:
 
《为什么Dreamweaver一输入汉字就死了》
 
《我在dreamweaver中一输入中文,dreamweaver就死掉了,是咋回事?》