zhclass.phpcon = mysql_connect("localhost", "root", "root");

mysql_query("set names 'utf8'");

if (! $this->con) {

die('连接服务器失败: ' . mysql_error());

} else {

mysql_select_db("mytest", $this->con);

}

}

function logging($id, $mm) // 登录

{

$this->zh = $id;

$this->mm = $mm;

if (! $this->checkZh()) {

return false;

}

// 判断字段是否存在

$result = mysql_query("SELECT * FROM teacher WHERE id=$id");

if (mysql_num_rows($result) != 0) {

$row = mysql_fetch_array($result);

$m_mima = $row['mima'];

$name = $row['name'];

if ($mm == $m_mima) {

echo "登录成功";

return true;

} else {

echo "密码错误";

}

} else {

echo "登录失败";

}

return false;

}

function   GetZhSession($zh)

{

if($this->checkZh2($zh)==false)

{

return  null;

}

$result = mysql_query("SELECT * FROM teacher WHERE id=$zh");

if(mysql_num_rows($result)>0)

{

$row = mysql_fetch_array($result);

$session = $row['sec'];

return  $session;

}else {

return  null;

}

}

function   SetZhSession($zh,$sec)

{

if($this->checkZh2($zh)==false)

{

return  false;

}

if (mysql_query("UPDATE teacher SET sec='$sec' WHERE id=$zh")==false)

{

return  false;

}

return  true;

}

function _ChangeUserName($mid, $mm, $newName)

{

$this->zh = $mid;

$this->mm = $mm;

if (! $this->checkZh()) {

echo "账号不存在!";

return false;

}

if (! $this->logging($mid, $mm)) {

return false;

}

echo $newName . "," . $mm;

// 传过来的是字符串 但是数据库不识别 加上两个单引号转为字符串 '$newName'

$ret = mysql_query("UPDATE teacher SET name='$newName' WHERE id=$mid");

if (! $ret) {

echo " 无法修改用户昵称 ";

}

}

public function Reg($zh, $mima, $nichen)

{

$this->zh = $zh;

$this->mm = $mima;

if ($this->checkZh()) {

echo "账号已存在";

return;

}

if (mysql_query("INSERT INTO teacher (name,id,mima) VALUES ('$nichen',$zh,'$mima')") == false) {

echo "注册失败";

} else {

echo "注册成功";

}

}

public function __destruct() // 析构函数销毁数据库连接

{

mysql_close($this->con);

}

}

?>

index.phpGetZhSession($_SESSION["VVV"])==session_id())

{

echo "已经登录";

}else {

echo "登录过期!!!";

}

return ;

} else {

// 未登录

echo "log";

return ;

}

?>

denglu.phptype==0){

if( $pobj->logging($obj->id, $obj->pwd) ==true)

{

$_SESSION["VVV"] = $obj->id;

echo $_SESSION["VVV"];

$pobj->SetZhSession($obj->id,session_id() );

echo "登陆成功";

}

}else{

echo "未定义";

}

?>

~~~~~~~~~~~~~~~~~~~~使用xhr post登录~~~~~~~~~~~~~~~~~~~~~~~~~~~

使用post登录 ,确定登录后再执行其他post,防止异步获取多个sessionfunction  logging()

{

var  x = new XMLHttpRequest();

x.onreadystatechange =function()

{

if(x.readyState == 4) {

if(x.status == 200) {

console.log("The server replied with: " + x.responseText);

txt.text = x.responseText;

}

}

};

var xxx = new Object;

xxx.id="289672082";

xxx.pwd = '12345';

xxx.type=0;

var pcode=  JSON.stringify(xxx);

x.open("POST","http://192.168.0.105/mycode/Test/denglu.php",true);

//post请求要自己设置请求头

x.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

x.send("code="+pcode);

}

如果用户没有登录尝试其他行为,在返回值中要求用户登录:function _PHP_TEST(async)

{

var  x = new XMLHttpRequest();

x.onreadystatechange =function()

{

if(x.readyState == 4) {

if(x.status == 200) {

if(x.responseText=="log")

{

console.log("The server replied with: " + x.responseText);

console.log("需要登录");

logging();

}else{

console.log("The server replied with: " + x.responseText);

txt.text = x.responseText;

}

}

}

};

x.open("POST","http://192.168.0.105/mycode/Test/index.php",async);

//post请求要自己设置请求头

x.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

x.send(null);

}

~~~~~~~~~~~~~~~~使用Qt C++登录~~~~~~~~~~~~~~~~~~~~~~~~~~QmlClass::QmlClass(QObject *parent) : QObject(parent)

{

QByteArray  data="";

m_netManger = new QNetworkAccessManager(this);

QNetworkRequest network_request;

//设置头信息

network_request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");

network_request.setHeader(QNetworkRequest::ContentLengthHeader, data.length());

//设置url

network_request.setUrl(QUrl("http://localhost/mycode/Test/index.php"));

//发送请求  获取一些关键数据 前提是已近登录

QNetworkReply *reply2=m_netManger->post(network_request, data);

connect(reply2,&QNetworkReply::readyRead,this,[=](){

QString t =reply2->readAll();

if(t=="log"  && t.length()>0)

{

qDebug()

}

qDebug()<

connect(reply2,&QNetworkReply::readyRead,this,[=](){

QString t =reply2->readAll();

qDebug()<

});

return   true;

}

php防止重复登录具体代码,PHP session 防止重复登录的妙招相关推荐

  1. 命令行登录防止MySQL密码泄露的几个小妙招。

    命令行登录防止MySQL密码泄露的几个小妙招. 明知山有虎偏向虎山行的方案: 1.可以通过如下环境变量强制Linux不记录敏感历史命令 在命令行执行HISTCONTROL=ignorespace后,再 ...

  2. 防止别人登录mysql_命令行登录防止MySQL密码泄露的几个小妙招。

    命令行登录防止MySQL密码泄露的几个小妙招. 明知山有虎偏向虎山行的方案: 1.可以通过如下环境变量强制Linux不记录敏感历史命令 在命令行执行HISTCONTROL=ignorespace后,再 ...

  3. 用cmd登录mysql怎么避免看见密码_命令行登录防止MySQL密码泄露的几个小妙招。...

    命令行登录防止MySQL密码泄露的几个小妙招. 明知山有虎偏向虎山行的方案: 1.可以通过如下环境变量强制Linux不记录敏感历史命令 在命令行执行HISTCONTROL=ignorespace后,再 ...

  4. php 单点登录实现代码,PHP简单实现单点登录功能示例

    1.准备两个虚拟域名 127.0.0.1  www.openpoor.com 127.0.0.1  www.myspace.com 2.在openpoor的根目录下创建以下文件 index.PHP 1 ...

  5. element 登录_Python selenium自动化测试框架入门实战--登录测试案例

    本文为Python自动化测试框架基础入门篇,主要帮助会写基本selenium测试代码又没有规划的同仁. 本文应用到POM模型.selenium.unittest框架.configparser配置文件. ...

  6. php java session共享_PHP通过session id 实现session共享和登录验证的代码

    先说说,这个机制的用途吧,到现在为止战地知道这个机制有两个方面的用途: 首先,多服务器共享session问题,这个大家应该都能够理解的,当一个网站的用户量过大,就会使用服务器集群,例如专门有一个登录用 ...

  7. 写了一个 SSO 单点登录的代码示例给胖友!

    发危~ " 摘要: 原创出处 http://www.iocoder.cn/Spring-Security/OAuth2-learning-sso/ 「芋道源码」欢迎转载,保留摘要,谢谢! 1 ...

  8. 【认证服务】验证码、社交登录、分布式session、单点登录

    [认证服务]验证码.社交登录.分布式session.单点登录 目录 [认证服务]验证码.社交登录.分布式session.单点登录 认证服务 一.gulimall-auth-server 二.验证码注册 ...

  9. 折衷的方式实现php与ruby共享session实现单点登录

    2019独角兽企业重金招聘Python工程师标准>>> 1.背景 前一阵部门要做一个内部讨论区,希望能和原有的gitlab集成在一起. discuz虽然成熟但是感觉不够高大上,找了几 ...

最新文章

  1. flex版的流程设计器
  2. mysql 5.x 安装_mysql 5.5.x zip直接解压版安装方法
  3. 遍历列表python_python列表的遍历与循环
  4. 听说你想去大厂看妹子,带你看看阿里软件测试岗四轮面试是怎么样的?
  5. sap知识-MPS和MRP的区别
  6. 博士生创新能力的培养点滴
  7. stm32之TIM-高级定时器应用实例一(详细)
  8. web网页版流程图插件-myflow.js-案例demo下载
  9. python零碎笔记整理1
  10. 随笔写一个简单的爬虫
  11. 如何主持计算机教师座谈会,计算机学院召开期中教学评价教师座谈会和学生座谈会...
  12. @程序员,你的 996,可能是给公司无能的管理背锅
  13. 分布式架构的核心要素和设计方法
  14. 林祖宁《ISO20000-12011 认证合格判定基础》
  15. Spring 菜鸟教程 IntrospectorCleanupListener
  16. Windows11安装安卓子系统WSA及安卓应用
  17. 扫描全能王文件上传不了服务器,如何将扫描全能王的文档轻松保存到坚果云?...
  18. c++实现LSTM,ADAM优化,预测大写数字
  19. Coroutine协成
  20. putty 显示鼠标

热门文章

  1. 改变python对象的黑魔法metaclass
  2. 联想ThinkStation C30工作站修复记录
  3. 如何成功实施采购软件,提高采购合规性?
  4. python-简单生成表情包
  5. 导出简单Excel模板(通用)
  6. EPLAN2022——连接定义点
  7. 为什么信用卡分为单标和双标?两者有什么区别?
  8. sans三重审判下载网址
  9. 围城书评_书评:实施模式
  10. 多cpu虚拟服务器,CPU内核越多,虚拟服务器性能越强?