php 用户注册与登陆程序

 更新时间:2016年11月25日 16:02  点击:2012

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>&#8230;</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>&#8230;</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>&#8230;</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>&#8230;</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"]."&amp;page=1" title="首页"><span style="font-size:12px; font-weight: bold; font-familly: Courier;">&laquo;</span></a>":"";
    $page["rearward_page"]  = ($page["this_page"] < (int) $page["page_count"])?"<a href="".$page["url"]."&amp;page=".$page["page_count"]."" title="末页"><span style="font-size:12px; font-weight: bold; font-familly: Courier;">&raquo;</span></a>":"";
    $page["prev_page"]      = ($page["this_page"] > 1)?"<a href="".$page["url"]."&amp;page=".((int)$page["this_page"] - 1)."" title="上一页"><span style="font-size:12px; font-weight: bold; font-familly: Courier;">&#8249;</span></a>":"";
    $page["next_page"]      = ($page["this_page"] < (int) $page["page_count"])?"<a href="".$page["url"]."&amp;page=".((int)$page["this_page"] + 1)."" title="下一页"><span style="font-size:12px; font-weight: bold; font-familly: Courier;">&#8250;</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']."&amp;page=$i" title="第 ".$i." 页">[$i]</a>";
    }
   
   
    return $page;
}

[!--infotagslink--]

相关文章

  • php 获取用户IP与IE信息程序

    php 获取用户IP与IE信息程序 function onlineip() { global $_SERVER; if(getenv('HTTP_CLIENT_IP')) { $onlineip = getenv('HTTP_CLIENT_IP');...2016-11-25
  • php简单用户登陆程序代码

    php简单用户登陆程序代码 这些教程很对初学者来讲是很有用的哦,这款就下面这一点点代码了哦。 <center> <p>&nbsp;</p> <p>&nbsp;</p> <form name="form1...2016-11-25
  • Ruby on Rails实现最基本的用户注册和登录功能的教程

    这里我们主要以has_secure_password的用户密码验证功能为中心,来讲解Ruby on Rails实现最基本的用户注册和登录功能的教程,需要的朋友可以参考下...2020-06-30
  • js检测用户输入密码强度

    一个用Javascript检测用户输入密码强度的效果代码,以下代码主要是从以下四个方面检测用户输入的密码的强度的,有兴趣的朋友可以自己添加或修改成自己想要的形式! 1. 如果输入的密码位数少于5位,那么就判定为弱。 2. 如果...2015-10-23
  • php根据用户语言跳转相应网页

    当来访者浏览器语言是中文就进入中文版面,国外的用户默认浏览器不是中文的就跳转英文页面。 <&#63;php $lan = substr(&#8194;$HTTP_ACCEPT_LANGUAGE,0,5); if ($lan == "zh-cn") print("<meta http-equiv='refresh' c...2015-11-08
  • php有效防止同一用户多次登录

    【问题描述】:同一用户在同一时间多次登录如果不能检测出来,是危险的。因为,你无法知道是否有其他用户在登录你的账户。如何禁止同一用户多次登录呢? 【解决方案】 (1) 每次登录,身份认证成功后,重新产生一个session_id。 s...2015-11-24
  • php ajax注册验证用户名是否存在代码

    这是注册程序是一款当用户输入完用户名是,就会自动去数据库中查询用户要注册的用户名是否己经被注册了,如果是返回提示否则提示可以注册。 conn.php文件 代...2016-11-25
  • 微信小程序用户授权最佳实践指南

    这篇文章主要给大家介绍了关于微信小程序用户授权最佳实践的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-05-08
  • Android实现简单用户注册案例

    这篇文章主要为大家详细介绍了Android实现简单用户注册案例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-05-26
  • 简单php cookie用户登录实例

    cookie 的用途之一是存储用户在特定网站上的密码和 id。另外,也用于存储起始页的首选项。在提供个人化查看的网站上,将要求阁下的网络浏览器利用阁下计算机硬驱上的少量...2016-11-25
  • 微信小程序如何保证每个页面都已经登陆详解

    前段时间发布了一个微信小程序的简单登录,但遇到一个问题,怎么确保用户每个页面都已经登陆了呢,这篇文章主要给大家介绍了关于微信小程序如何保证每个页面都已经登陆的相关资料,需要的朋友可以参考下...2021-11-05
  • 超详细的php用户注册页面填写信息完整实例(附源码)

    注册页面是大多数网站必备的页面,所以很有必要对自己的注册页面做些精心的设计。下面三张图,第一张是注册的展示页面,第二张思维导图就一个简单的逻辑,第三张是通过firebug查看调用的JS文件。 一、给每个输入框写下说明在...2015-11-24
  • MySQL验证用户权限的方法

    知识归纳因为MySQL是使用User和Host两个字段来确定用户身份的,这样就带来一个问题,就是一个客户端到底属于哪个host。 如果一个客户端同时匹配几个Host,对用户的确定将按照下面的优先级来排 基本观点越精确的匹配越优先...2015-11-08
  • sqlserver添加sa用户和密码的实现

    这篇文章主要介绍了sqlserver添加sa用户和密码的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-05-07
  • 如何有效提高网站的用户回头率

    第一,网站的内容;请各位站长朋友不要一天到晚只想着出什么好的绝招来推广网站,却忽略了网站的内容;其实网站的内容是极为重要的,因为这是你的本,你的根!网站的内容只有不断...2017-07-06
  • mysql误删root用户恢复方法

    装完数据库清理一些默认账号的时候不小心把root删除了,flush privileges 之后的新 root 忘了grant任何权限,查看mysqld选项里面有个 &#8722;&#8722;skip-grant-tables复制代码 代码如下: #/usr/libexec/mysqld --verbos...2015-03-15
  • Win2012服务器 远程桌面帐户允许多用户同时登录的配置方法

    这篇文章主要介绍了Win2012服务器 远程桌面帐户允许多用户同时登录的配置方法,需要的朋友可以参考下...2016-11-01
  • 关于JSP用户登录连接数据库详情

    这篇文章主要介绍了关于JSP用户登录连接数据库的相关资料,需要的朋友可以参考下面文章内容...2021-09-07
  • 如何判断用户是否访问过某个网址

    一位站长译的一个国外的如何判断用户是否访问过某个网址文章,个人感觉写得非常不错,下面分享一下。 我们经常有这样的需求:想知道用户之前有没有访问过某个网址。有...2016-09-20
  • 帝国CMS会员注册字段增加编辑器、发送短消息改为编辑框

    通过本教程可以实现帝国CMS后台给前台注册用户发消息,把内容输入框改为编辑器,可上传图片,等打开文件\e\admin\member\SendMsg.php 大约84行<textarea name="msgtext" cols="6...2016-01-27