好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>后端语言>PHP
<tfoot draggable='sEl'></tfoot>

php项目登录方法 php简单登录界面代码

很多站长朋友们都不太清楚php项目登录方法,今天小编就来给大家整理php项目登录方法,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 php封装一个用户类,里面有登录注册方法,这个要怎么写 2、 php 中注册用户之后 怎么直接登录? 3、 php项目qq,微信登录怎么做? 4、 PHP网站怎么登录? 5、 php后台怎么登录? 6、 php thinkphp3.2怎么做会员登录 php封装一个用户类,里面有登录注册方法,这个要怎么写

第一步:login.php

//登陆方法

public function login(){

//如果用户名和密码为空,则返回登陆页面

if(empty($_POST['username']) || empty($_POST['password'])){

$data['verifycode'] = rand(1000,9999);//生成一个四位数字的验证码

//将验证码放入session中,注意:参数是数组的格式

$this->session->set_userdata($data);

//注意:CI框架默认模板引擎解析的模板文件中变量不需要$符号

//$this->parser->parse("admin/login",$data);

//smarty模板变量赋值

$this->tp->assign("verifycode",$data['verifycode']);

//ci框架在模板文件中使用原生态的PHP语法输出数据

//$this->load->view('login',$data);//登陆页面,注意:参数2需要以数组的形式出现

//显示smarty模板引擎设定的模板文件

$this->tp->display("admin/login.php");

}else{

$username = isset($_POST['username'])!empty($_POST['username'])?trim($_POST['username']):'';//用户名

$password = isset($_POST['password'])!empty($_POST['password'])?trim($_POST['password']):'';//密码

$verifycode = isset($_POST['verifycode'])!empty($_POST['verifycode'])?trim($_POST['verifycode']):'';//验证码

//做验证码的校验

if($verifycode == $this->session->userdata('verifycode')){

//根据用户名及密码获取用户信息,注意:参数2是加密的密码

$user_info=$this->user_model->check_user_login($username,md5($password));

if($user_info['user_id'] > 0){

//将用户id、username、password放入cookie中

//第一种设置cookie的方式:采用php原生态的方法设置的cookie的值

//setcookie("user_id",$user_info['user_id'],86500);

//setcookie("username",$user_info['username'],86500);

//setcookie("password",$user_info['password'],86500);

//echo $_COOKIE['username'];

//第二种设置cookie的方式:通过CI框架的input类库

$this->input->set_cookie("username",$user_info['username'],3600);

$this->input->set_cookie("password",$user_info['password'],3600);

$this->input->set_cookie("user_id",$user_info['user_id'],3600);

//echo $this->input->cookie("password");//适用于控制器

//echo $this->input->cookie("username");//适用于控制器

//echo $_COOKIE['username'];//在模型类中可以通过这种方式获取cookie值

//echo $_COOKIE['password'];//在模型类中可以通过这种方式获取cookie值

//第三种设置cookie的方式:通过CI框架的cookie_helper.php函数库文件

//这种方式不是很灵验,建议大家采取第二种方式即可

//set_cookie("username",$user_info['username'],3600);

//echo get_cookie("username");

//session登陆时使用:将用户名和用户id存入session中

//$data['username']=$user_info['username'];

//$data['user_id']=$user_info['user_id'];

//$this->session->set_userdata($data);

//跳转到指定页面

//注意:site_url()与base_url()的区别,前者带index.php,后者不带index.php

header("location:".site_url("index/index"));

}

}else{

//跳转到登陆页面

header("location:".site_url("common/login"));

}

}

}

}

第二步:User_model.php

//cookie登陆:检测用户是否登陆,如果cookie值失效,则返回false,如果cookie值未失效,则根据cookie中的用户名和密码从数据库中获取用户信息,如果能获取到用户信息,则返回查询到的用户信息,如果没有查询到用户信息,则返回0

public function is_login(){

//获取cookie中的值

if(empty($_COOKIE['username']) || empty($_COOKIE['password'])){

$user_info = false;

}else{

$user_info=$this->check_user_login($_COOKIE['username'],$_COOKIE['password']);

}

return $user_info;

}

//根据用户名及加密密码从数据库中获取用户信息,如果能获取到,则返回获取到的用户信息,否则返回false,注意:密码为加密密码

public function check_user_login($username,$password){

//这里大家要注意:$password为md5加密后的密码

//$this->db->query("select * from ");

//快捷查询类的使用:能为我们提供快速获取数据的方法

//此数组为查询条件

//注意:关联数组

$arr=array(

'username'=>$username,//用户名

'password'=>$password,//加密密码

'status'=>1 //账户为开启状态

);

//在database.php文件中已经设置了数据表的前缀,所以此时数据表无需带前缀

$query = $this->db->get_where("users",$arr);

//返回二维数组

//$data=$query->result_array();

//返回一维数组

$user_info=$query->row_array();

if(!empty($user_info)){

return $user_info;

}else{

return false;

}

}

第三步:其它控制器:

public function __construct(){

//调用父类的构造函数

parent::__construct();

$this->load->library('tp'); //smarty模板解析类

$this->load->helper('url'); //url函数库文件

$this->load->model("user_model");//User_model模型类实例化对象

$this->cur_user=$this->user_model->is_login();

if($this->cur_user === false){

header("location:".site_url("common/login"));

}else{

//如果已经登陆,则重新设置cookie的有效期

$this->input->set_cookie("username",$this->cur_user['username'],3600);

$this->input->set_cookie("password",$this->cur_user['password'],3600);

$this->input->set_cookie("user_id",$this->cur_user['user_id'],3600);

}

$this->load->library('pagination');//分页类库

$this->load->model("role_model");//member_model模型类

$this->load->model("operation_model");//引用operation_model模型

$this->load->model("object_model");//引用object_model模型

$this->load->model("permission_model");//引用permission_model模型

}

php 中注册用户之后 怎么直接登录?

我用的是sso(可以百度,原理不说了)登录模块,流程是这样的:

先注册帐号,注册成功后user表中有改用会的数据,然后生成一个otp(通行证,用来查询注册的用户信息)和一个signmsg(md5加密验证字符串),然后在注册成功后直接用javascript提交的otp和signmsg隐藏表单信息,然后在login模块用otp查询到用户信息 和验证msgsign的可用性,都通过则登录成功,否则登入异常。

php项目qq,微信登录怎么做?

微信应该还没开登陆接口,是微博登陆,qq登陆,各自都有接口开发文档,去官网找一找就可以了

PHP网站怎么登录?

这个是一个网站的管理后台的,你要懂得网络安全,我看还是zf的网站,

用的是phpcms的

在你的域名后面加/index.php?m=admin就可以了。

php后台怎么登录?

输入用户名和密码即可! 追问: 在地址栏输入什么就会跳转到那个登录页面?我是初学者,是不是后台登录界面还需要用PHP写? 回答: 假如在使用一个php语言写的具有后台管理的程序,那你输入那网站程序的地址,然后里面出现叫你输入用户名和密码的界面,你输入正确的用户名和密码过后即可登录后台管理界面。 追问: 我是说的后台登录界面?文件名后面是不是接admin/includ.php 是不是还要用admin软件做登录界面,我不是说的后台管理界面,是后台登录界面!! 回答: 一般是index.php吧! 追问: 说了我是初学者 那前面是admin吗? 后台登录界面我都没做过 可以登录进去吗 ? 回答: 你是想自己开发php网站?没做的话就没有那个界面。登录地址要看你自己的网站目录结构。 追问: 那你知道那个登录界面怎么做吗?是不是在pHP里面做?随便一个就可以了(只要有用户名,密码就可以了)可不可以把PHP代码发给我, 回答: 现在开发网站一般都是用cms或者框架之类的。

php thinkphp3.2怎么做会员登录

现在很多网站都有 QQ互联 和新浪微博 一键登录功能,国内很多php开源项目的代码都是使用thinkphp框架编写的,但是thinkphp框架如何添加QQ互联 和新浪微博 一键登录功能呢?

工具/原料

Thinkphp3.2版本源码

QQ互联 和新浪微博 申请到的 APPID和APPKEY。

方法/步骤

一:到腾讯QQ互联上申请APPID和APPKEY。申请地址: 如同,这里我们可以获取到需要跳转到的APPID和APPKEY。新浪微博的申请同理

二:在Thinkphp官网下载 Thinkphp3.2版本的框架源码

本地安装好Thinkphp后,找到应用下的,Common/conf/config.php文件里加上。QQ互联对应的APPID和APPKEY等QQ_AUTH配置信息:

'QQ_AUTH' => array(

'APP_ID' => '1XDXXXXX', //你的QQ互联APPID

'APP_KEY' => '2XXXXXXXXXXXXXXXXXXXXX',

'SCOPE' => 'get_user_info,get_repost_list,add_idol,add_t,del_t,add_pic_t,del_idol',

'CALLBACK' => '',

),

//新浪微博的配置同理一样。

在Common目录下建立一个文件夹api。创建文件QQConnect.class.php ,添加如下代码,这里是 我们写好的一个类:

<?php

namespace Common\Api;

class QQConnect{

/**

* 获取QQconnect Login 跳转到的地址值

* @return array 返回包含code state

*

**/

public function login($app_id, $callback, $scope){

$_SESSION['state'] = md5(uniqid(rand(), TRUE)); //CSRF protection

$login_url = ";client_id="

.$app_id. "redirect_uri=" . urlencode($callback)

. "state=" . $_SESSION['state']

. "scope=".urlencode($scope);

//显示出登录地址

header('Location:'.$login_url);

}

/**

* 获取access_token值

* @return array 返回包含access_token,过期时间的数组

* */

private function get_token($app_id,$app_key,$code,$callback,$state){

if($state !== $_SESSION['state']){

return false;

exit();

}

$url = "";

$param = array(

"grant_type" => "authorization_code",

"client_id" => $app_id,

"client_secret" => $app_key,

"code" => $code,

"state" => $state,

"redirect_uri" => $callback

);

$response = $this->get_url($url, $param);

if($response == false) {

return false;

}

$params = array();

parse_str($response, $params);

return $params["access_token"];

}

/**

* 获取client_id 和 openid

* @param $access_token access_token验证码

* @return array 返回包含 openid的数组

* */

private function get_openid($access_token) {

$url = "";

$param = array(

"access_token" => $access_token

);

$response = $this->get_url($url, $param);

if($response == false) {

return false;

}

if (strpos($response, "callback") !== false) {

$lpos = strpos($response, "(");

$rpos = strrpos($response, ")");

$response = substr($response, $lpos + 1, $rpos - $lpos -1);

}

$user = json_decode($response);

if (isset($user->error) || $user->openid == "") {

return false;

}

return $user->openid;

}

/**

* 获取用户信息

* @param $client_id

* @param $access_token

* @param $openid

* @return array 用户的信息数组

* */

public function get_user_info($app_id,$token,$openid){

$url = ''.$app_id.'access_token='.$token.'openid='.$openid.'format=json';

$str = $this->get_url($url);

if($str == false) {

return false;

}

$arr = json_decode($str,true);

return $arr;

}

/**

* 请求URL地址,返回callback得到返回字符串

* @param $url qq提供的api接口地址

* */

public function callback($app_id, $app_key, $callback) {

$code = $_GET['code'];

$state = $_GET['state'];

$token = $this->get_token($app_id,$app_key,$code,$callback,$state);

$openid = $this->get_openid($token);

if(!$token || !$openid) {

return false;

exit();

}

return array('openid' => $openid, 'token' => $token);

}

/*

* HTTP GET Request

*/

private function get_url($url, $param = null) {

if($param != null) {

$query = http_build_query($param);

$url = $url . '?' . $query;

}

$ch = curl_init();

if(stripos($url, "https://") !== false){

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);

}

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );

$content = curl_exec($ch);

$status = curl_getinfo($ch);

curl_close($ch);

if(intval($status["http_code"]) == 200) {

return $content;

}else{

echo $status["http_code"];

return false;

}

}

/*

* HTTP POST Request

*/

private function post_url($url, $params) {

$ch = curl_init();

if(stripos($url, "https://") !== false) {

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);

}

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );

curl_setopt($ch, CURLOPT_POST, true);

curl_setopt($ch, CURLOPT_POSTFIELDS, $params);

$content = curl_exec($ch);

$status = curl_getinfo($ch);

curl_close($ch);

if(intval($status["http_code"]) == 200) {

return $content;

} else {

return false;

}

}

}

在项目下创建一个User模板,然后再创建一个OauthConnect.class.php文件,用户调用 QQConnect.class.php。

OauthConnect.class.php里面加入如下,

<?php

namespace User\Controller;

use Think\Controller;

class OauthController extends Controller {

/*

* Type类型,初始化

* QQConnet WeiboConnect

*/

public function index(){

switch ($_GET['type']) {

/* QQ互联登录 */

case qq:

$app_id = C('QQ_AUTH.APP_ID');

$scope = C('QQ_AUTH.SCOPE');

$callback = C('QQ_AUTH.CALLBACK');

$sns = new \Common\Api\QQConnect;

关于php项目登录方法的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于php项目登录方法 php简单登录界面代码的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did254101
更新时间:2023-09-13   阅读:35次

上一篇: php抽象的例子 php抽象类的作用

下一篇:urlinfophp的简单介绍

最新资料更新

  • 1.php数值内存溢出 php大数组内存溢出
  • 2.php异步协程 php yield 异步
  • 3.php时间戳转换字符串 php 时间戳转日期
  • 4.php判断多个字符串 php判断字符串包含字符
  • 5.php短信android Php短信对接视频
  • 6.csrfphp防的简单介绍
  • 7.php接收tcp数据 php tcp udp
  • 8.zendphp环境包 win环境包
  • 9.抓取淘宝商品php 抓取淘宝商品风控
  • 10.基于php在线聊天 php 在线聊天
  • 11.apexphp辅助 apex wr辅助
  • 12.php会做流控吗 php流程控制
  • 13.登录注册的php代码 php用户注册登录代码
  • 14.php资源扫描教程 php识别二维码内容源码
  • 15.网页php查看源代码 php怎么看源码
  • 16.phpcurl解析失败 php在html中无法解析
  • 17.php7性能tu Php性能
  • 18.php网站下载图片 网站的php文件下载
  • 19.php函数rand PHP函数的参数传递包括
  • 20.php查询数组找到 php查找数组元素

CopyRight:2016-{hedonghua:year}{hedonghua:sitegs} 备案ICP:湘ICP备09009000号-16 {hedonghua:sitejym}
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2026 「好得很程序员自学网」
[ SiteMap ]