代码如下 | 复制代码 |
$host = 'localhost'; $conn = mysql_connect($host,$user_name,$password); $sql = 'select id,name,city,created_time from users'; $result = mysql_query($sql) or die("<br/>error: <b>".mysql_error()."</b><br/>产生问题的sql:".$sql); </script> <body> <?php </table> |
代码如下 | 复制代码 |
<?php $id = $_get['id']; $host = 'localhost'; $conn = mysql_connect($host,$user_name,$password); //先判断是否存在该id的用户 //删除用户数据 echo '数据删除成功,返回<a href="13-12.php">13-12.php</a>查看数据'; |
一些常用的正则表达式
"^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
"(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)?" //电话号码
"^(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]*$
//最简单的方法
代码如下 | 复制代码 |
$ip = $_server["remote_addr"]; echo $ip; |
//最实用获取用户ip地址代码
代码如下 | 复制代码 |
function get_real_ip() { $ip=false; if(!empty($_server["http_client_ip"])) { $ip = $_server["http_client_ip"]; } if (!empty($_server['http_x_forwarded_for'])) { $ips教程 = explode (", ", $_server['http_x_forwarded_for']); if ($ip) { array_unshift($ips, $ip); $ip = false; } for ($i = 0; $i < count($ips); $i++) { if (!eregi ("^(10|172.16|192.168).", $ips[$i])) { $ip = $ips[$i]; break; } } } return ($ip ? $ip : $_server['remote_addr']); } echo get_real_ip(); |
//获取ip地址与端口号
代码如下 | 复制代码 |
$ip =$_server["remote_addr"]; $port = $_server['remote_port']; echo $ip.$port; |
//有一点意思
代码如下 | 复制代码 |
if(getenv('http_client_ip')) { $onlineip = getenv('http_client_ip'); } elseif(getenv('http_x_forwarded_for')) { $onlineip = getenv('http_x_forwarded_for'); } elseif(getenv('remote_addr')) { $onlineip = getenv('remote_addr'); } else { $onlineip = $http_server_vars['remote_addr']; } echo $onlineip; echo " "; |
//利用qq接口
代码如下 | 复制代码 |
function get_ip_place(){ $ip=file_get_contents("http://fw.qq.com/ipaddress"); $ip=str_replace('"',' ',$ip); $ip2=explode("(",$ip); $a=substr($ip2[1],0,-2); $b=explode(",",$a); return $b; } $ip=get_ip_place(); print_r($ip); |
代码如下 | 复制代码 |
class getmacaddr function forwindows() function forlinux() |
//方法二
代码如下 | 复制代码 |
qstring getlocalmac() { int sock_mac; struct ifreq ifr_mac; char mac_addr[30]; sock_mac = socket( af_inet, sock_stream, 0 ); if( sock_mac == -1) { perror("create socket falise...mac "); return ""; } memset(&ifr_mac,0,sizeof(ifr_mac)); strncpy(ifr_mac.ifr_name, "eth0", sizeof(ifr_mac.ifr_name)-1); if( (ioctl( sock_mac, siocgifhwaddr, &ifr_mac)) < 0) { printf("mac ioctl error "); return ""; } sprintf(mac_addr,"%02x%02x%02x%02x%02x%02x", (unsigned char)ifr_mac.ifr_hwaddr.sa_data[0], (unsigned char)ifr_mac.ifr_hwaddr.sa_data[1], (unsigned char)ifr_mac.ifr_hwaddr.sa_data[2], (unsigned char)ifr_mac.ifr_hwaddr.sa_data[3], (unsigned char)ifr_mac.ifr_hwaddr.sa_data[4], (unsigned char)ifr_mac.ifr_hwaddr.sa_data[5]); printf("local mac:%s ",mac_addr); close( sock_mac ); return qstring( mac_addr ); } |
//用c实现的
代码如下 | 复制代码 |
int getalllocaladaptermacaddr(std::list<std::vector<unsigned char> >& mac) { ncb ncb; lana_enum adapterlist;
memset(&ncb, 0, sizeof(ncb)); ncb.ncb_command = ncbenum; ncb.ncb_buffer = (unsigned char *)&adapterlist; ncb.ncb_length = sizeof(adapterlist); netbios(&ncb);
mac.resize(0);
for (int i = 0; i < adapterlist.length ; ++i ) { struct astat { adapter_status adapt; name_buffer ps教程z_name[30]; } adapter;
// reset the lan adapter so that we can begin querying it ncb ncb; memset( &ncb, 0, sizeof (ncb)); ncb.ncb_command = ncbreset; ncb.ncb_lana_num = adapterlist.lana[i];
if (netbios(&ncb) != nrc_goodret) continue;
// prepare to get the adapter status block memset(&ncb, 0, sizeof(ncb)) ; ncb.ncb_command = ncbastat; ncb.ncb_lana_num = adapterlist.lana[ i ]; strcpy((char *)ncb.ncb_callname, "*" );
memset(&adapter, 0, sizeof (adapter)); ncb.ncb_buffer = (unsigned char *)&adapter; ncb.ncb_length = sizeof (adapter);
// get the adapter's info and, if this works, return it in standard, // colon-delimited form. if ( netbios( &ncb ) == 0 ) { std::vector<unsigned char> v6; v6.resize(6); for (int i=0; i<6; i++) v6[i] = adapter.adapt.adapter_address[i]; if (v6[0] == 0) { std::list<std::vector<unsigned char> >::iterator i = mac.begin(); for (; i!=mac.end(); i++) if (*i == v6) break; if (i==mac.end()) mac.push_back(v6); } } else break; } return 0; } |
代码如下 | 复制代码 |
$str_arr = array( $patt_ch = chr(0xa1) . "-" . chr(0xff); foreach ($str_arr as $str) |
/*
字符串'iameverysorry' 是非完全中文
字符串'快乐编程,快乐生活' 是完全中文
字符串'php编程' 是非完全中文
字符串'1997年香港回归' 是非完全中文
字符串'英语学习abc' 是非完全中文
字符串'123456789' 是非完全中文
*/