2009/07/17
2009/05/19
Web开发,迄今为止我感觉最难学并最难精通的是Javascript,其次是CSS+DIV(WEB标准),最后才是编程语言,我接触过PHP,.NET。
1、PHP要实现一个功能很难,语言入门却很简单,PHP安全性要做的好相当不容易。
2、.NET入门有点困难,但你越过这个门槛时,写项目估计会比较简单,但精通也难。
3、JSP和J2EE这种东西没学过,不过想靠它找工作,那是难上加难。原因:JSP 一般用在银行,大规模企业里,而且目前不是非常的普及,即使你很牛,比你牛的人多的是,在大企业中竞争会非常大,基本没戏。相比之下PHP工作需求量非常大,所以想找一个工资高的PHP工作,也是相当不易,大家都在学PHP,其实我本来是很看好PHP的,可是最近几年PHP盛行,PHP已经排行到编程语言的第四名了,想想,一个用于Web开发的语言能攀到这个程度足以证明它的学习者和需求量是多么的大。
4、以前如果你能写几句Javascript代码,那工资起码上万元一个月,现在也不行了,大量的框架出现了,说说几个流行的框架:前身为雅虎UI,现在名字叫ExtJs这种东西,虽然本人不会,不过现在非常流行;还有一个是:jQuery,这个也很难学,一个“闭包”函数原理我看了两个晚上还不是很明白。
5、Ajax异步交互也相当难学,如果你不用框架实现,估计得写程序写晕你!
6、最后一个说说:Web标准,可能是因为我写的不多吧,非常不熟练,虽然它本身不是很难学,但要排除各种Browser的BUG,也绝非易事。


2008/12/19
checkUsername.php
<?php
$info= "http://".$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"];
parse_str($info);
if($username == "wxxslt"){
echo "failure";
}
else{
echo "success";
}
?>
check.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>检测用户名</title>
<script language="javascript" type="text/javascript">
function createRequest(){
var xmlHttp = false;
if (window.XMLHttpRequest) { // 在非IE浏览器中创建XMLHttpRequest对象
xmlHttp = new XMLHttpRequest();
} else if (window.ActiveXObject) { //通过ActiveX创建XMLHttpRequest
try {
// 尝试按新版InternetExplorer方法创建
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (error1) { // 创建请求的ActiveX对象失败
try {
// 尝试按老版InternetExplorer方法创建
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (error2) {
// 不能通过ActiveX创建XMLHttpRequest
xmlHttp = false;
}
}
}
return xmlHttp;
}
function checkUsername(username){
var checkRet = document.getElementById("checkRet");
var form=document.forms[0];
var name=form.username;
if(name.value!=""){
checkRet.innerHTML = "请稍候,正在检测用户名...";
}
var xmlHttp = createRequest();
var url = "checkUsername.php?username=" + username;
xmlHttp.open("get",url);
xmlHttp.onreadystatechange = function(){
if(xmlHttp.readyState==4){
if(xmlHttp.status==200){
if(xmlHttp.responseText=="success"&&name.value!=""){
checkRet.innerHTML = "恭喜你,该用户名还没有被使用!";
}else if(xmlHttp.responseText=="failure"){
checkRet.innerHTML = "对不起,该用户名已经被占用!";
name.value="";
name.focus();
}
}
}
}
xmlHttp.send(null);
}
</script>
</head>
<body>
<form id="form1" name="form1" method="post" action="">
<label>用户名:
<input type="text" name="username" onblur="checkUsername(this.value)" /><div id="checkRet"></div>
</label>
<br/>
<label>性别:
<input type="text" name="sex" />
</label>
</form>
</body>
</html>
<?php
$info= "http://".$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"];
parse_str($info);
if($username == "wxxslt"){
echo "failure";
}
else{
echo "success";
}
?>
check.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>检测用户名</title>
<script language="javascript" type="text/javascript">
function createRequest(){
var xmlHttp = false;
if (window.XMLHttpRequest) { // 在非IE浏览器中创建XMLHttpRequest对象
xmlHttp = new XMLHttpRequest();
} else if (window.ActiveXObject) { //通过ActiveX创建XMLHttpRequest
try {
// 尝试按新版InternetExplorer方法创建
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (error1) { // 创建请求的ActiveX对象失败
try {
// 尝试按老版InternetExplorer方法创建
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (error2) {
// 不能通过ActiveX创建XMLHttpRequest
xmlHttp = false;
}
}
}
return xmlHttp;
}
function checkUsername(username){
var checkRet = document.getElementById("checkRet");
var form=document.forms[0];
var name=form.username;
if(name.value!=""){
checkRet.innerHTML = "请稍候,正在检测用户名...";
}
var xmlHttp = createRequest();
var url = "checkUsername.php?username=" + username;
xmlHttp.open("get",url);
xmlHttp.onreadystatechange = function(){
if(xmlHttp.readyState==4){
if(xmlHttp.status==200){
if(xmlHttp.responseText=="success"&&name.value!=""){
checkRet.innerHTML = "恭喜你,该用户名还没有被使用!";
}else if(xmlHttp.responseText=="failure"){
checkRet.innerHTML = "对不起,该用户名已经被占用!";
name.value="";
name.focus();
}
}
}
}
xmlHttp.send(null);
}
</script>
</head>
<body>
<form id="form1" name="form1" method="post" action="">
<label>用户名:
<input type="text" name="username" onblur="checkUsername(this.value)" /><div id="checkRet"></div>
</label>
<br/>
<label>性别:
<input type="text" name="sex" />
</label>
</form>
</body>
</html>



