/*
create table `member` (
`member_account` varchar(25) collate utf8_unicode_ci not null,
`member_password` varchar(32) collate utf8_unicode_ci not null,
`member_name` varchar(20) collate utf8_unicode_ci not null,
`sex` varchar(1) collate utf8_unicode_ci not null,
`schoolnumber` varchar(10) collate utf8_unicode_ci not null,
`phonenumber` varchar(15) collate utf8_unicode_ci not null,
`email` varchar(50) collate utf8_unicode_ci not null,
unique key `member_account` (`member_account`)
) engine=innodb default charset=utf8 collate=utf8_unicode_ci;
*/
?>
代码如下 |
复制代码 |
<!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=utf-8" />
<title>会员注册</title>
</head>
<body>
<div align="center"><font face="楷书" size="+3">会员注册</font></div>
<form id="form1" name="form1" method="get" action="register_get.php">
<table width="695" border="1" align="center" cellpadding="1" cellspacing="1">
<tr>
<td width="167">账号:(account)</td>
<td width="416"><input name="m_acct" type="text" id="m_acct" value="<?php if(!empty($_get['m_acct']))
echo $_get['m_acct'];
?>" maxlength="20" />
<font color="#ff0000"> *</font>(由20个数字或字母组成)</td>
</tr>
<tr>
<td>密码:(password)</td>
<td><input name="m_pw" type="password" id="m_pw" maxlength="20" />
<font color="#ff0000"> *</font>(由20个数字或字母组成)</td>
</tr>
<tr>
<td>确认密码(password)</td>
<td><input type="password" name="pass" id="pass" />
<font color="#ff0000"> *</font>(再次输入密码)</td>
</tr>
<tr>
<td>真实姓名:(name)</td>
<td><input type="text" name="m_name" id="m_name" value="<?php if(!empty($_get['m_name']))
echo $_get['m_name'];
?>" /></td>
</tr>
<tr>
<td>性别:(sex)</td>
<td align="left"><p>
<label>
<input name="m_sex" type="radio" id="radiogroup1_0" value="男" />
男</label>
<label>
<input type="radio" name="m_sex" value="女" id="radiogroup1_1" />
女 <font color="#ff0000"> *</font></label>
</td>
</tr>
<tr>
<td>学号:(school number)</td>
<td><input type="text" name="m_snum" id="m_snum" value="<?php if(!empty($_get['m_snum']))
echo $_get['m_snum'];
?>" /></td>
</tr>
<tr>
<td>手机号码:(mobil phone)</td>
<td><input type="text" name="m_pnum" id="m_pnum" value="<?php if(!empty($_get['m_pnum']))
echo $_get['m_pnum'];
?>"/></td>
</tr>
<tr>
<td>电子邮箱:(email)</td>
<td><input type="text" name="m_email" id="m_email" value="<?php if(!empty($_get['m_email']))
echo $_get['m_email'];
?>"/></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="reset" name="button" id="button" value="重置表单" />
<input type="submit" name="button2" id="button2" value="确定注册" /></td>
</tr>
</table>
</form></p>
<p align="center">以上打"*"为必填项</p>
</body>
</html>
register_get.php文件
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>提示</title>
</head>
<?php
if(empty($_get['m_acct']))
echo "账号不能为空!<a href='register.php?m_name=".$_get['m_name']."&m_sex=".$_get['m_sex']."&m_snum=".$_get['m_snum']."&m_pnum=".$_get['m_pnum']."'>返回重新注册。</a></p>";
else if(empty($_get['m_pw']))
echo "密码不能为空!<a href='register.php?m_acct=".$_get['m_acct']."&m_name=".$_get['m_name']."&m_sex=".$_get['m_sex']."&m_snum=".$_get['m_snum']."&m_pnum=".$_get['m_pnum']."&m_email=".$_get['m_email']."'>返回重新注册。</a></p>";
else if($_get['m_pw']!=$_get['pass'])
echo "两次输入的密码不一样,<a href='register.php?m_acct=".$_get['m_acct']."&m_name=".$_get['m_name']."&m_sex=".$_get['m_sex']."&m_snum=".$_get['m_snum']."&m_pnum=".$_get['m_pnum']."'>返回重新注册。</p>";
else if(empty($_get['m_sex']))
echo "未输入性别,<a href='register.php?m_acct=".$_get['m_acct']."&m_name=".$_get['m_name']."&m_snum=".$_get['m_snum']."&m_pnum=".$_get['m_pnum']."'>返回重新注册。</a></p>";
else if(!empty($_get['m_snum'])&&!is_numeric($_get['m_snum']))
echo "学号必须全为数字,<a href='register.php?m_acct=".$_get['m_acct']."&m_name=".$_get['m_name']."&m_sex=".$_get['m_sex']."&m_pnum=".$_get['m_pnum']."'>返回重新注册。</a></p>";
else if(!empty($_get['m_pnum'])&&!is_numeric($_get['m_pnum']))
echo "手机号码必须全为数字,<a href='register.php?m_acct=".$_get['m_acct']."&m_name=".$_get['m_name']."&m_sex=".$_get['m_sex']."&m_snum=".$_get['m_snum']."'>返回重新注册。</a></p>";
else if(!empty($_get['m_email'])&&!ereg("([0-9a-za-z]+)([@])([0-9a-za-z]+)(.)([0-9a-za-z]+)",$_get['m_email']))
echo "邮箱输入不合法!<a href='register.php?m_acct=".$_get['m_acct']."&m_name=".$_get['m_name']."&m_sex=".$_get['m_sex']."&m_snum=".$_get['m_snum']."&m_pnum=".$_get['m_pnum']."'>返回重新注册。</a></p>";
else
{
require_once ('inc.php');
$_session['pass']="ok";
$_session['member']=$_get['m_acct'];
$link = getdblink();
$sql="insert into member values('".$_get['m_acct']."','".md5($_get['m_pw'])."','".$_get['m_name']."','".$_get['m_sex']."','".$_get['m_snum']."','".$_get['m_pnum']."','".$_get['m_email']."')";
$result=mysql教程_query($sql)or die(mysql_error());
if($result>0)
echo "".$_get['m_name'].",恭喜你注册成功,<a href='member_index.php'>马上进入主页面...</p>";
else
{
$_session['pass']="no pass";
echo "注册失败!<a href-'register.php'>重新注册。</a></p>";
mysql_close();
}
}
?>
<body>
</body>
</html>
|
这是一款php 截取字符串函数哦,支持中文字符串哦,它可以截取html与中西文,等混合的内容,并且把html标签不算在字符截取之内,如果html标签没有闭合,程序将自动过滤多余的标签。
代码如下 |
复制代码 |
function mysubstr( $str, $length ){
$tagcnt = 0;
$charcnt = 0;
$tag = '';
$maxlen = strlen( $str );
$resultstr = '';
$tagstack = array();
for( $i = 0; $i < $length; $i++ ){
if( $str[$i] == '<' ){
$resultstr .= $str[$i];
for( $j=$i; $str[$j]!='>'; $j++,$length++ ){
$tag .= $str[$j];
}
$tagcnt++;
$length++;
$tag .= '>';
//如果是开始标记,则入栈,如果是与之相对应的结束标记则出栈
if( preg_match('/<([^/]+)?>/i', $tag, $r) ){
echo '入栈:',htmlspecialchars($r[1]),'<br />';
array_push($tagstack, $r[1]);
}
elseif( preg_match( '/'.$tagstack[count($tagstack)-1].'/', $tag ) ){
echo '出栈:',htmlspecialchars($tagstack[count($tagstack)-1]),'<br />';
array_pop( $tagstack );
}
$tag = '';
continue;
}
$charcnt++;
$resultstr .= $str[$i];
}
echo '<hr size=1>最后结果为:';
//栈是空的直接返回
if(empty($tagstack)){
return $resultstr;
}
//否则去掉没有结束标记的开始标记
else{
while(!empty($tagstack)){
$tag = array_pop($tagstack);
$index = strrpos($resultstr, $tag);
for($i = $index-1; $resultstr[$i] != '>'; $i++ ){
$resultstr[$i] = '';
}
$resultstr[$i++] = '';
}
return $resultstr;
}
}
$sttime = microtime(true);
$stmem = memory_get_usage();
$str = "a1<body>b2<p>c3<em>d4</em>e5</p>f6</body>g7h8";
echo '处理结果为:<br/><hr size=1>',htmlspecialchars( mysubstr( $str, 18 ) ),'<br />';
echo "内存使用情况:",(memory_get_usage()-$stmem),'<br />';
echo "算法运行时间(microtime):",(microtime(true)-$sttime),'<br/>';
|
//方法二
/
代码如下 |
复制代码 |
**
* 函数名 html_substr
* 功能 从html串中截取指定长度的字串,html标记不计算在内
* 参数
* $str 要截取的串
* $len 要截取的长度
* $mode 不匹配的标记的处理方式 0 删去(默认),1 补齐
* 返回 截取到的串
* 说明
* 未考虑多字节字符,仅已字节做计数单位
* 未考虑可单独存在的标记
**/
function html_substr($str, $len, $mode=0) {
$ar= preg_split('/(<!--.*-->|<[^>]*>)/s', $str, -1, preg_split_delim_capture);
foreach($ar as $k => $v) {
if($v{0} != '<') {
$len = $len - strlen($v);
if($len < 0) $ar[$k] = substr($v, 0, $len);
}else $ar[$k] = strtolower($v);
if($len <= 0) break;
}
$ar = array_slice($ar, 0, $k+1);
$len = count($ar);
foreach($ar as $k=>$v) {
if($v{0} == '<' && $v[1] != '/') {
$ch = str_replace('<', '</', $v);
for($i=$k+1; $i<$len && $ar[$i]!=$ch; $i++);
if($i == $len)
if($mode)
$ar[$len] = $ch . $ar[$len];
else
$ar[$k] = '';
}
}
return join('', $ar);
}
$str = "123<em>abc</em>456<em>def</em>789";
echo '<xmp>';
echo html_substr($str, 5) . php_eol;
echo html_substr($str, 5, 1);
|
本款php计数器是一款用来统计网页的访问次数的简单的讲数器代码,利用txt文本文件与php fopen函数进行操作。
代码如下 |
复制代码 |
$log = 'log/count.txt';
$count_img = 'img/counter';
$fp = @fopen($log, "r+") or die($log.'数据文件不能打开!');
$count = fgets($fp, 64);
flock($fp, 2);
$count = (int)$count + 1;
rewind($fp);
fputs($fp, $count);
fclose($fp);
if($conf_showcount == '1'){
for ($i=0; $i<strlen($count); $i++){
$num = substr($count, $i, 1);
echo '<img" width=100% src="'.$count_img.'/'.$num.'.gif">';
}
}
|
代码如下 |
复制代码 |
class ajaxpage{
var $result;
var $anchors;
var $total;
var $db;
var $网页特效p/jsp.html target=_blank >jsp教程agination;
function __construct($qry,$starting,$recpage,$jspagination)
{
$this->db = &$globals['db'];
$this->jspagination = $jspagination;
$rst = $this->db->query($qry);
$numrows = $this->db->num_rows;
$qry .= " limit $starting, $recpage";
$this->result = $this->db->get_results($qry,array_a);
$next = $starting+$recpage;//the number next time end
//$var = ((intval($numrows/$recpage))-1)*$recpage;
$page_showing = intval($starting/$recpage)+1;//the str shows on the page bar
$total_page = ceil($numrows/$recpage); //total page
if($numrows % $recpage != 0){
$last = ((intval($numrows/$recpage)))*$recpage;
}else{
$last = ((intval($numrows/$recpage))-1)*$recpage;
}
$previous = $starting-$recpage;
$anc = "<ul id='pagination-flickr'>";
if($previous < 0){
$anc .= "<li class='previous-off'>first</li>";
$anc .= "<li class='previous-off'>previous</li>";
}else{
$anc .= "<li class='next'><a href='网页特效:$this->jspagination(0);'>first </a></li>";
$anc .= "<li class='next'><a href='javascript:$this->jspagination($previous);'>previous </a></li>";
}
################if you dont want the numbers just comment this block###############
$norepeat = 3;//no of pages showing in the left and right side of the current page in the anchors
$j = 1;
$anch = "";
for($i=$page_showing; $i>1; $i--){
$fpreviouspage = $i-1;
$page = ceil($fpreviouspage*$recpage)-$recpage;
$anch = "<li><a href='javascript:$this->jspagination($page);'>$fpreviouspage </a></li>".$anch;
if($j == $norepeat) break;
$j++;
}
$anc .= $anch;
$anc .= "<li class='active'>".$page_showing."</li>";
$j = 1;
for($i=$page_showing; $i<$total_page; $i++){
$fnextpage = $i+1;
$page = ceil($fnextpage*$recpage)-$recpage;
$anc .= "<li><a href='javascript:$this->jspagination($page);'>$fnextpage</a></li>";
if($j==$norepeat) break;
$j++;
}
############################################################
if($next >= $numrows){
$anc .= "<li class='previous-off'>next</li>";
$anc .= "<li class='previous-off'>last</li>";
}else{
$anc .= "<li class='next'><a href='javascript:$this->jspagination($next);'>next </a></li>";
$anc .= "<li class='next'><a href='javascript:$this->jspagination($last);'>last</a></li>";
}
$anc .= "</ul>";
$this->anchors = $anc;
$this->totalstr = "page : $page_showing <i> of </i> $total_page . total records found: $numrows";
}
}
|
这款用户注册程序是一款包括有数据库,注册页面,注册js 验证是一款完整理的php+mysql实用的用户注册代码。
代码如下 |
复制代码 |
$conn=mysql_connect('localhost','root','root')or die('数据库连接错误');
mysql_select_db('demo',$conn);
mysql_query("set names 'gbk'");
//检测会员名称是否存在
if($_post[username]){
$sql="select * from users where username='$_post[username]'";
$res=mysql_query($sql)or die("查询失败!");
$us=$_get[name];
echo $us."222222";
$ps教程= md5($_post[password]);
$sex=$_post['sex'];
$age=$_post['age'];
$qq=$_post['qq'];
$phone=$_post['phone'];
$email=$_post['email'];
$address=$_post['address'];
if(is_array(mysql_fetch_row($res))){
echo "该会员名已经存在!";
}else{
$sql="insert into users (username,password,sex,age,qq,phone,email,address) values ('$us','$ps',$sex,$age,$qq,'$phone','$email','$address')";
echo $sql;
mysql_query($sql)or die("注册失败");
echo "<script>alert('注册成功');location.href='login.php'</script>";
}
}
?>
<script language="网页特效" type="text/javascript">
function docheck(){
var username = document.regform.username.value;
var pwd =document.regform.password.value;
var repwd=document.regform.repassword.value;
if(username==""){
alert("请输入用户名!");
return false;
}
if(pwd==""){
alert("请输入密码!");
return false;
}
if(repwd != pwd){
alert("两次填写的密码不相同!");
return false;
}
}
</script>
<script language="javascript">
function createxmlhttprequest(){
var xmlhttp;
if(window.activexobject){
xmlhttp = new activexobject("microsoft.xmlhttp");
}else{
xmlhttp = new xmlhttprequest();
}
//return xmlhttp;
}
function checkname(){
var name = document.getelementbyid('username'); //获取用户名文本框
var span = document.getelementbyid('name_info'); //获取用于显示结果的span标记
if(name.value.length <= 4){
span.style.color = '#ff0000'; //设置span标记内的字体颜色为红色
span.innerhtml = '用户名长度不能少于4个字符!'; //span标记内容
return false;
}
var xmlhttp = createxmlhttprequest();//创建异步请求对象
var time = new date().gettime();
var url = 'regval.php?name=' + name.value + '&tmp=' + time;//构造出请求地址
xmlhttp.open("get",url,true); //建立一个异步请求
//这里我们使用get方式请求
xmlhttp.onreadystatechange = function(){ //监视请求状态
span.style.color = '#ff9900';
span.innerhtml = '查询中,请稍候!';
if(xmlhttp.readystate == 4 && xmlhttp.status == 200){
alert(xmlhttp.responsetext+"........");
if(xmlhttp.responsetext.indexof('no') != -1){ //如果服务器返回的信息中有no
span.style.color = '#cb2121'; //设置span标记颜色为红色
span.innerhtml = '用户名[' + name.value + ']已经被别的用户使用!';
//document.regform.username.value="";
}else{//如果返回信息中没有no
span.style.color = '#00a800';//设置颜色为绿色
span.innerhtml = '恭喜您,该用户名未被注册!';
}
return true;
delete xmlhttp; //删除请求对象
}
}
xmlhttp.send(null); //发送请求
}
</script>
<form action="regval.php" method="post" onsubmit="return docheck()" name="regform">
会员名称:
<input type="text" name="username" value="" id="username" onblur="checkname()"/>
<span id="name_info"></span>
<br>
密 码:
<input type="password" name="password" value=""/><br>
确认密码:
<input type="password" name="repassword" value=""/><br>
性别:
男:<input name="sex" type="radio" value="0" checked="checked"/>
女:<input name="sex" type="radio" value="1"/><br>
年龄:<input type="text" name="age" value=""/><br>
qq:<input type="text" name="qq" value=""/><br>
电话:<input type="text" name="phone" value=""/><br>
email:<input type="text" name="email" value=""/><br>
地址:<input type="text" name="address" value=""/><br>
<input type="submit" name="sub" value="注册"/>
<input type="reset" name="re" value="取消"/>
</form>
|
<?
/*
drop table if exists `users`;
create table `users` (
`id` int(10) not null auto_increment,
`username` varchar(50) not null,
`password` varchar(50) not null,
`sex` int(1) not null default '0',
`age` int(10) not null,
`qq` int(15) default null,
`phone` varchar(50) default null,
`email` varchar(50) default null,
`address` varchar(100) default null,
primary key (`id`)
) engine=innodb auto_increment=4 default charset=gbk;
-- ----------------------------
-- records of users
-- ----------------------------
insert into `users` values ('1', 'admin', '21232f297a57a5a743894a0e4a801fc3', '0', '22', '379559090', '666666', '666666@163.com', '武汉');
insert into `users` values ('2', 'root', '63a9f0ea7bb98050796b649e85481845', '0', '20', '1244249796', '8888888', '8888888@163.com', '中国');
insert into `users` values ('3', 'www.111cn.net', '96e79218965eb72c92a549dd5a330112', '0', '20', '1244249796', '8888888', '8888888@163.com', '中国');
本教程下载地址
http://down.111cn.net/down/code/php/xinwenxitong/2010/0812/20183.html
标签:[!--infotagslink--]