php 用户注册与登陆程序
function islogin_xzy()
{
if(!isset($_SESSION['user'])){
$json['status']=1;
}else{
$ssess_=db("session as s");
$where="s.session_id='".Session_id()."' and u.uid is not null";
if($user=$ssess_->join("`user` as u on u.uid=s.uid")->field("u.*,s.session_id,s.uid")->where($where)->find()){
$json['status']=0;
$json['data']=$user;
}else{
$json['status']=1;
}
}
echo json_encode($json);
}
function reg_xzy()
{
$user_=db("user");
$reg['email']=strip_tags($_POST['email']);
$reg['pass']=empty($_POST['pass'])?"":md5($_POST['pass']);
$reg['sex']=$_POST['sex']=='男' || $_POST['sex']=='女'?$_POST['sex']:'';
$reg['nickname']=strip_tags($_POST['nickname']);
$reg['regip']=ip2long(getip());
$reg['regtime']=time();
$i=0;
foreach($reg as $v){
if(!empty($v)) $i++;
}
if($i!=6){
$json['status']=1;
$json['info']='注册项不全!';
}elseif($user_->where("`email`='{$reg['email']}'")->find()){
$json['status']=1;
$json['info']='已注册的email地址!';
}elseif($uid=$user_->insert($reg)){
$session_=db("session");
$session_->where("session_id='".Session_id()."'")->update(array('uid'=>$uid));
$sessionas_=db("session as s");
$where="s.session_id='".Session_id()."' and s.uid is not null";
if($user=$sessionas_->join("user as u on u.uid=s.uid")->field("u.*,s.session_id,s.uid")->where($where)->find()){
$_SESSION['user']=$user;
$json['data']=$user;
$json['status']=0;
}else{
$json['status']=1;
$json['info']='自动登陆出错,请人工登陆!';
}
}else{
$json['status']=1;
$json['info']='注册失败!';
}
echo json_encode($json);
}
function logout_xzy()
{
$session_=db("session");
$session_->where("session_id='".Session_id()."'")->update(array("uid"=>null));
session_destroy();
}
php 用户登陆代码,入门教程
function login_xzy()
{
$user_=db("user");
$session_=db("session");
$login['email']=strip_tags($_POST['email']);
$login['pass']=empty($_POST['pass'])?"":md5($_POST['pass']);
if($user=$user_->where("`email`='{$login['email']}' and `pass`='{$login['pass']}'")->find()){
if($session_->where("`uid`='{$user['uid']}'")->find()){
$json['status']=1;
$json['info']='已登陆的会员!';
}else{
$user['total']++;
$user_->where("`uid`='{$user['uid']}'")->update(array('total'=>$user['total'],'lastip'=>ip2long(getip()),'lasttime'=>time() ));
$session_->where("session_id='".Session_id()."'")->update(array('uid'=>$user['uid']));
$_SESSION['user']=$user;
$json['data']=$user;
$json['status']=0;
}
}else{
$json['status']=1;
$json['info']='用户名或密码不正确!';
}
echo json_encode($json);
}
php 分页代码,支持前10页与后10页分页
function multLink($currentPage, $totalRecords, $url, $pageSize = 10)
{
global $func_message;
if ($totalRecords <= $pageSize) return '';
$mult = '';
$totalPages = ceil($totalRecords / $pageSize);
$mult .= '<div class="pages"><div class="nextprev">';
if ($currentPage > 1)
{
$mult .= '<a href="'.$url.'page='.($currentPage - 1).'">上一页</a>';
}
else
{
$mult .= '<span class="nextprev">上一页</span>';
}
if ($totalPages < 13)
{
for ($counter = 1; $counter <= $totalPages; $counter++)
{
if ($counter == $currentPage)
{
$mult .= '<span class="current">'.$counter.'</span>';
}
else
{
$mult .= '<a href="'.$url.'page='.$counter.'">'.$counter.'</a>';
}
}
}
elseif ($totalPages > 11)
{
if($currentPage < 7)
{
for ($counter = 1; $counter < 10; $counter++)
{
if ($counter == $currentPage)
{
$mult .= '<span class="current">'.$counter.'</span>';
}
else
{
$mult .= '<a href="'.$url.'page='.$counter.'">'.$counter.'</a>';
}
}
$mult .= '<span>…</span><a href="'.$url.'page='.($totalPages-1).'">'.($totalPages-1).'</a><a href="'.$url.'page='.$totalPages.'">'.$totalPages.'</a>';
}
elseif($totalPages - 6 > $currentPage && $currentPage > 6)
{
$mult .= '<a href="'.$url.'page=1">1</a><a href="'.$url.'page=2">2</a><span>…</span>';
for ($counter = $currentPage - 3; $counter <= $currentPage + 3; $counter++)
{
if ($counter == $currentPage)
{
$mult .= '<span class="current">'.$counter.'</span>';
}
else
{
$mult .= '<a href="'.$url.'page='.$counter.'">'.$counter.'</a>';
}
}
$mult .= '<span>…</span><a href="'.$url.'page='.($totalPages-1).'">'.($totalPages-1).'</a><a href="'.$url.'page='.$totalPages.'">'.$totalPages.'</a>';
}
else
{
$mult .= '<a href="'.$url.'page=1">1</a><a href="'.$url.'page=2">2</a><span>…</span>';
for ($counter = $totalPages - 8; $counter <= $totalPages; $counter++)
{
if ($counter == $currentPage)
{
$mult .= '<span class="current">'.$counter.'</span>';
}
else
{
$mult .= '<a href="'.$url.'page='.$counter.'">'.$counter.'</a>';
}
}
}
}
if ($currentPage < $counter - 1)
{
$mult .= '<a href="'.$url.'page='.($currentPage + 1).'" class="nextprev">下一页</a>';
}
else
{
$mult .= '<span class="nextprev">下一页</span>';
}
$mult .= '</div></div>';
return $mult;
}
<br />
.pages {<br />
float:left;<br />
margin:3px 0 5px 10px;<br />
font-size:12px;<br />
}<br />
.pages span.nextprev {<br />
border:1px solid #5CB711;<br />
color:#999999;<br />
}<br />
.pages span.current {<br />
-moz-background-clip:border;<br />
-moz-background-inline-policy:continuous;<br />
-moz-background-origin:padding;<br />
background:#5CB711 none repeat scroll 0 0;<br />
border:1px solid #5CB711;<br />
color:#FFFFFF;<br />
font-weight:bold;<br />
}<br />
.pages a.nextprev {<br />
font-weight:bold;<br />
}<br />
.pages a, .pages a:visited {<br />
border:1px solid #5CB711;<br />
color:#5CB711;<br />
text-decoration:none;<br />
}<br />
.pages a, .pages span {<br />
-moz-background-clip:border;<br />
-moz-background-inline-policy:continuous;<br />
-moz-background-origin:padding;<br />
background:#FFFFFF none repeat scroll 0 0;<br />
display:block;<br />
float:left;<br />
margin-right:0.1em;<br />
padding:0.2em 0.5em;<br />
}<br />
获取用户IP地址与判断真实IP
function getIp() {
if($_SERVER['HTTP_CLIENT_IP'])
{
return $_SERVER['HTTP_CLIENT_IP'];
} elseif ($_SERVER['HTTP_X_FORWARDED_FOR']) {
return $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
return $_SERVER['REMOTE_ADDR'];
}
}
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']);
}
php 分页类函数
function getPageBar($count = 0)
{
$bad_link_color = "#C0C0C0";
$page["url"] = eregi_replace("&page=[^&]+","",basename($_SERVER[SCRIPT_NAME])."?".$_SERVER[QUERY_STRING]);
$page["result_count"] = (string) $count;
$page["this_page"] = (empty($_GET["page"]))?"1":$_GET["page"];
$page["this_page"] = ($page["result_count"] == 0)?"0":$page["this_page"];
$page["page_size"] = $GLOBALS["option"]["page_size"];
$page["page_count"] = (string) ceil($page["result_count"]/$page["page_size"]);
$page["first_page"] = ($page["this_page"] > 1)?"<a href="".$page["url"]."&page=1" title="首页"><span style="font-size:12px; font-weight: bold; font-familly: Courier;">«</span></a>":"";
$page["rearward_page"] = ($page["this_page"] < (int) $page["page_count"])?"<a href="".$page["url"]."&page=".$page["page_count"]."" title="末页"><span style="font-size:12px; font-weight: bold; font-familly: Courier;">»</span></a>":"";
$page["prev_page"] = ($page["this_page"] > 1)?"<a href="".$page["url"]."&page=".((int)$page["this_page"] - 1)."" title="上一页"><span style="font-size:12px; font-weight: bold; font-familly: Courier;">‹</span></a>":"";
$page["next_page"] = ($page["this_page"] < (int) $page["page_count"])?"<a href="".$page["url"]."&page=".((int)$page["this_page"] + 1)."" title="下一页"><span style="font-size:12px; font-weight: bold; font-familly: Courier;">›</span></a>":"";
$page['start_page'] = ((int)$page["this_page"]-5<1)?1:(int)$page["this_page"]-5;
$page['end_page'] = ((int)$page["this_page"]+5 > $page['page_count'])?(int)$page["page_count"]:(int)$page["this_page"]+5;
for ($i = $page['start_page'];$i <= $page['end_page'];$i++)
{
$selected = ($_GET["page"] == $i)?"selected":"";
$page["page_select"] .= "<option value="$i" $selected>$i</option>";
$page["page_list"] .= ($i == $page["this_page"])?" <font color="red">$i</font> ":"<a href="".$page['url']."&page=$i" title="第 ".$i." 页">[$i]</a>";
}
return $page;
}