1、内置异常处理类。
2、捕获并处理异常的示例。
3、exception类的成员函数getmessage()。
4、exception类的成员函数getfile()。
5、exception类的成员函数getline()。
6、显示警告或错误信息。
7、自定义错误处理函数。
*/
// 1、内置异常处理类。
代码如下 | 复制代码 |
class exception function __construct($message = null, $code = 0); final function getmessage(); // 返回异常信息 function __tostring(); // 可输出的字符串 |
// 2、捕获并处理异常的示例。
代码如下 | 复制代码 |
try echo '继续执行'; |
本款php ajax应用实例是一款利用ajax+php调用城市二级联动菜单,这样我们可以实时的根据数据库内容更新了。
代码如下 | 复制代码 |
<html> <script language="网页特效"> function getxmlhttprequest() return xmlhttp; function sendrequest() if((prov_name == null) || (prov_name == "")) var url = "www.111cn.net.php"; xmlhttp.open("get", url, true); function updatepage() <head> <body> <form action="www.111cn.net.php"> <div id="city"> </body> |
www.111cn.net.php代码
代码如下 | 复制代码 |
<?php if(empty($_get['prov'])) |
代码如下 | 复制代码 |
<html> <?php //提取一级菜单 |
代码如下 | 复制代码 |
<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <body>
server.php <?php |
//###########################################################
//
// for questions and comments
// roland (alias -=: vlieg :=-)
// icq #78354631
// mail: vlieg@atoomnet.net
//
// nb: this script won't work on free hosting pages, because of the secure mode!
// nb: you must have registered your icq# at http://web.icq.com/sms/login/ in order for this script to work
//###########################################################
$htmlreply="";
$post ="post http://web.icq.com/karma/dologin/1,,,00.html http/1.0
accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */*
referer: http://web.icq.com/sms/login/1,,,00.html
accept-language: nl
content-type: application/x-www-form-urlencoded
accept-encoding: gzip, deflate
user-agent: mozilla/4.0 (compatible; msie 5.0; windows 98; digext)
host: web.icq.com
content-length: ".$contentlength."
proxy-connection: keep-alive
pragma: no-cache
cookie: uin=".$uin."; sms_country=".$prefix."; karmaservice1=yes; uin=".$uin."; sms_country=".$prefix."; karmaservice1=yes
uservice=1&ulogin=".$uin."&upassword=".$passw."&x=0&y=0";
$remote = fsockopen("web.icq.com", 80, &$errno, &$errstr, 30);
global $remote;
global $post;
fputs($remote, $post);
while (!feof($remote)) { $htmlreply.=fgets($remote,120); }
//uncomment for output: echo "".htmlspecialchars($htmlreply)."";
fclose($remote);
//****************************************************************//persoonlijke cookie uit de inlogpage halen
// en: fetch personal cookie from login page
$splited = split(" ",$htmlreply);
$cookies = $splited[3];
$cookies = str_replace("set-cookie: karmalogin=","",$cookies);
$cookies = str_replace("; path=/","",$cookies);
$cookies = str_replace(" ","",$cookies);
//uncomment voor output: echo $cookies;
if (strlen($prefix) == 2) { $contentprefix = ' '.$prefix; } else { $contentprefix = $prefix; }
$charcount = (160-strlen($message));
$contentlength= ( 1561+
strlen($message)+
strlen($charcount)+
strlen($phonenumber)+
strlen($prefix)
);
//****************************************************************//verzendpagina openen met de opgehaalde cookie
// en: open send page with fetched cookie
$htmlreply="";
$post ='post http://web.icq.com/sms/send_history/1,,,00.html http/1.0
accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */*
referer: http://web.icq.com/sms/send_session/1,,,00.html?prefix=+'.$prefix.'&carrier=&tophone='.$phonenumber.'
accept-language: nl
content-type: multipart/form-data; boundary=---------------------------7d12442eab4
accept-encoding: gzip, deflate
user-agent: mozilla/4.0 (compatible; msie 5.0; windows 98; digext)
host: web.icq.com
content-length: '.$contentlength.'
proxy-connection: keep-alive
pragma: no-cache
cookie: uin='.$uin.'; sms_country='.$prefix.'; karmaservice1=yes; karmalogin='.$cookies.'; uin='.$uin.'; sms_country='.$prefix.'; karmaservice1=yes; karmalogin='.$cookies.'
-----------------------------7d12442eab4
content-disposition: form-data; name="carrier"
-----------------------------7d12442eab4
content-disposition: form-data; name="prefix"
'.$contentprefix.'
-----------------------------7d12442eab4
content-disposition: form-data; name="tophone"
'.$phonenumber.'
-----------------------------7d12442eab4
content-disposition: form-data; name="usession"
1
-----------------------------7d12442eab4
content-disposition: form-data; name="ureply"
-----------------------------7d12442eab4
content-disposition: form-data; name="ulastid"
-----------------------------7d12442eab4
content-disposition: form-data; name="usend"
1
-----------------------------7d12442eab4
content-disposition: form-data; name="unextid"
-----------------------------7d12442eab4
content-disposition: form-data; name="uhistorycounter"
1
-----------------------------7d12442eab4
content-disposition: form-data; name="count"
0
-----------------------------7d12442eab4
content-disposition: form-data; name="usubmitcount"
0
-----------------------------7d12442eab4
content-disposition: form-data; name="checknewmsg"
180000
-----------------------------7d12442eab4
content-disposition: form-data; name="charcount"
'.$charcount.'
-----------------------------7d12442eab4
content-disposition: form-data; name="msg"
'.$message.'
-----------------------------7d12442eab4
content-disposition: form-data; name="x"
30
-----------------------------7d12442eab4
content-disposition: form-data; name="y"
16
-----------------------------7d12442eab4--
';
$remote = fsockopen("web.icq.com", 80, &$errno, &$errstr, 30);
global $remote;
global $post;
fputs($remote, $post);
while (!feof($remote)) { $htmlreply.=fgets($remote,120); }
//uncomment for output: echo "".htmlspecialchars($htmlreply)."";
fclose($remote);
//****************************************************************// check if message is send if send 'moved permanently' is returned
if (eregi('moved permanently',$htmlreply))
{ echo "sms message successfully sent!"; }
else
{ echo "sms not sent!"; }