哈哈,换服务器了~~
2006-03-20
以前的服务器是9466的50m空间,虽然网速比较快,但总是感觉服务器处理速度慢,现在好了:lol:换成了300m的,而且是别人送的,免费的哦。:lol::lol::lol::lol:

完。

2199 read 0 comment(s)
JS小技巧
2006-03-19
在我们写javascript的时候经肯定会经常用到 document.getElementById() 这个方法,这么长一串很容易写错,而且其中getElementById又有大小写之分。
 其实prototype.js里提倡的一个方法就是使用$()简写,通过以下的函数,你可以用$('id')来实现document.getElementById('id') 这个功能,怎么样,很爽吧!

function $()
{
  var elements = new Array();
  for (var i = 0; i < arguments.length; i++)
  {
    var element = arguments[i];
    if (typeof element == 'string')
      element = document.getElementById(element);
    if (arguments.length == 1)
      return element;
    elements.push(element);
  }
  return elements;
}


  而且这个函数更爽的是,如果你想它提交一个带多个id的数组后,他也会向你返回多个元素的Array!

完。

2199 read 6 comment(s)
[原创]AJAX解决乱码新方法
2006-03-18
用过AJAX的朋友肯定知道javascript是使用UTF-8国际编码,即每个汉字用3个字节来存储,但是这就造成了用AJAX来send数据的时候出现乱码。
   有一种解决办法就是使用encodeURIComponent加上修改 Content-Type 为 application/x-www-form-urlencoded" 来把数据统一编码成 url 格式,但是这样做有一个弊端,使用php的urldecode根本不能得到正确的文字。
   另一种方法就是通过vbscript 的写的函数把数据转成gb2312格式的,我个人觉得这种方法比较好。有兴趣的朋友可以到网上去查一下。
   今天突发奇想,AJAX调用的时候会不会发送cookie 呢?马上写了一个程序测试一下,果然能,这样就可以在调用ajax之前,先把数据通过javascript写到cookie里,然后再send就可以将cookie里的数据发送出去了,太爽了!!

演示地址:http://cn5.cn/ajax/ajax12.htm

客户端代码 ajax.htm
<title>AJAX使用cookie传值例子</title>
<script>
var oDiv
var xh
function getXML()
{
    setcookie($('name').value,$('val').value);
    oDiv = document.all.m
    oDiv.innerHTML = "正在装载,请稍侯......."
    oDiv.style.display= ""
    xh = new ActiveXObject("Microsoft.XMLHTTP")
    xh.onreadystatechange = getReady
    xh.open("POST","a.php",false)
    xh.send();
}

function getReady()
{
    if(xh.readyState==4)
    {
        if(xh.status==200)
        {
            oDiv.innerHTML = "完成"
        }
        else
        {
             oDiv.innerHTML = "抱歉,装载数据失败。原因:" + xh.statusText
        }
  }
} //author : longbill      www.longbill.cn

function setcookie(name,value)
{
    var cookiestr=name+"="+value+";";
    var expires = "";
    var cookieexp=60*60*1000;
    var d = new Date();
    d.setTime( d.getTime() + cookieexp);
    expires = "expires=" + d.toGMTString()+";";
    document.cookie = cookiestr+ expires;
}
function $(a)
{
    return document.getElementById(a);
}
</script>

<body>
AJAX使用cookie传值例子:<br>
<form name=myform>
name:<input id=name  value="变量名甚至可以是中文" size=20><br>
value:<input type=text size=20 id=val value=这里><br>
<input onclick="getXML()" type="button" value="送出数据">
<input onclick="if(xh && xh.responseText) {alert(xh.responseText);}" type="button" value="显示返回结果"><br>
<div id=m bgcolor=blue>在此显示状态</div>
<input type=button onclick="alert(document.cookie)" value=显示本地COOKIE>
</form>


服务器端代码 a.php
<?
header("Content-type: text/html;charset=GB2312");
echo "以下是您送出的所有COOKIE变量及其值n";
print_r($_COOKIE);
?>

完。

2279 read 6 comment(s)
居然今天才发现
2006-03-17
php里可以这样:

$我="me";
echo $我;
用中文字当变量名!!

完。

2356 read 5 comment(s)
sock技术发送邮件的函数
2006-03-13
使用sock技术发邮件,无需服务器支持。速度快!!

function send_mail($to,$subject,$body)
{
	/////////////Smtp信息,可以修改成你的,//////////
	$loc_host = "longbill";        //发信计算机名,可随意
	$smtp_acc = "longbill.mail";   //Smtp认证的用户名,
	$smtp_pass = "longbill";         //Smtp认证的密码,
	$smtp_host = "smtp.163.com";     //SMTP服务器地址,
	$from = "longbill.mail@163.com"; //要与smtp信息对应 ,否则会失败
	/////////////Smtp信息完//////////////////////////////////
	$headers = "Content-Type: text/plain; charset="gb2312"rnContent-Transfer-Encoding: base64";
	$lb="rn";                    //linebreak
	$hdr = explode($lb,$headers);  //解析后的hdr
	if($body)
	{
		$bdy = preg_replace("/^./","..",explode($lb,$body));
	}//解析后的Body
	$smtp = array(
		//1、EHLO,期待返回220或者250
		array("EHLO ".$loc_host.$lb,"220,250","HELO error: "),
		//2、发送Auth Login,期待返回334
		array("AUTH LOGIN".$lb,"334","AUTH error:"),
		//3、发送经过Base64编码的用户名,期待返回334
		array(base64_encode($smtp_acc).$lb,"334","AUTHENTIFICATION error : "),
		//4、发送经过Base64编码的密码,期待返回235
		array(base64_encode($smtp_pass).$lb,"235","AUTHENTIFICATION error : ")
	);
	//5、发送Mail From,期待返回250
	$smtp[] = array("MAIL FROM: <".$from.">".$lb,"250","MAIL FROM error: ");
	//6、发送Rcpt To。期待返回250
	$smtp[] = array("RCPT TO: <".$to.">".$lb,"250","RCPT TO error: ");
	//7、发送DATA,期待返回354
	$smtp[] = array("DATA".$lb,"354","DATA error: ");
	//8.0、发送From
	$smtp[] = array("From: ".$from.$lb,"","");
	//8.2、发送To
	$smtp[] = array("To: ".$to.$lb,"","");
	//8.1、发送标题
	$smtp[] = array("Subject: ".$subject.$lb,"","");
	//8.3、发送其他Header内容
	foreach($hdr as $h) {$smtp[] = array($h.$lb,"","");}
	//8.4、发送一个空行,结束Header发送
	$smtp[] = array($lb,"","");
	//8.5、发送信件主体
	if($bdy)
	{
		foreach($bdy as $b)
		{
			$smtp[] = array(base64_encode($b.$lb).$lb,"","");
		}
	}
	//9、发送“.”表示信件结束,期待返回250
	$smtp[] = array(".".$lb,"250","DATA(end)error: ");
	//10、发送Quit,退出,期待返回221
	$smtp[] = array("QUIT".$lb,"221","QUIT error: ");
	//打开smtp服务器端口
	$fp = @fsockopen($smtp_host, 25);
	if (!$fp) echo "<b>Error:</b> Cannot conect to ".$smtp_host."<br>";
	while($result = @fgets($fp, 1024))
	{
		if(substr($result,3,1) == " ")  break; 
	}
	$result_str="";
	//发送smtp数组中的命令/数据
	foreach($smtp as $req)
	{
		//发送信息
		@fputs($fp, $req[0]);
		//如果需要接收服务器返回信息,则
		if($req[1])
		{
			//接收信息
			while($result = @fgets($fp, 1024))
			{
				if(substr($result,3,1) == " ") { break; }
			}
			if (!strstr($req[1],substr($result,0,3)))
			{
				$result_str.=$req[2].$result."<br>";
			}
		}
	}
	//关闭连接
	@fclose($fp);
	if ($result_str==""){return "发送成功!!";}else {return $result_str;}
	}

完。

2823 read 2 comment(s)
Copyright © Longbill 2008-2017 , Designed by EndTo , Powered by EndCMS