logintest.php 页面

<!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=gb2312" />
<title>无标题文档</title>

<style type="text/css">
 body{
  margin:0;
  padding:0;
  background::#ccc;
  font-family:'宋体',Simsun;
 
 }
 #wrap{
   width:290px;
   margin::17% auto;
 }
 #sid{
   width:154px;
    margin-left:-6px;
 }
 #sub{ margin-left:65px;}
 #res{ margin-left:55px;}
 #vcode{ float:right}
 #welcome{font-size:20px; font-family:Comic Sans MS;
 padding-bottom:5px;
 }
</style>
</head>

<body>

<div id="wrap">
        <div id="welcome">Welcome to mymessbox!</div>
        <form action="checklogin.php" method="post">
            选&nbsp;&nbsp;择: <select name="loginname" id="sid">
                            <option value="manager">管理员</option>
                            <option value="user">用户</option>
                        </select>
            <br>
            用户名:<input type="text" name="username" id="">
            <br>
            密&nbsp;&nbsp;码:<input type="password" name="password" id="">
            <br>
            验证码:<input type="text" name="vcode" id=""><img src="imgcodetest.php" id="vcode">
            <br>
            <input type="submit" value="login" id="sub">
            <input type="reset" value="reset" id="res">
        </form>
    </div>
</body>
</html>

提交处理页面:

<?php
 session_start();
 $loginname=$_POST['loginname'];
 $username=$_POST['username'];
 $password=$_POST['password'];
 $vcode = strtolower($_POST['vcode']);
 $rcode = strtolower($_SESSION['rcode']);
 echo $username."<br/>";
 echo $rcode;
 mysql_connect('localhost','root','root');
 mysql_select_db("test");
 mysql_query("set names=uft8");
   if ($vcode !== $rcode) {
                          echo "<script>alert('the code is wrong!');window.location.href='logintest.php'</script>";
            }
else {
                       
 if($username='Test')
 {
     $sql="select * from users where username='$username' and  userpwd='$password'";
    $result=mysql_query($sql);
     $i=mysql_num_rows($result);
     if( $i >=1){
       $_SESSION['mgusername']=$username;
       echo "<script> alert('login success')</script>";
     }
     else
     {
       echo "<script> alert('login fail'); </script>";
     }
    
 }
 else
 {
     echo"<script>alert('用户名不对');</script>";
 }
}
?>

验证码:

<?php
session_start();
    //文件头...
    header("Content-type: image/png");
    //创建真彩色白纸
    $im = @imagecreatetruecolor(50, 20) or die("建立图像失败");
    //获取背景颜色
    $background_color = imagecolorallocate($im, 255, 255, 255);
    //填充背景颜色(这个东西类似油桶)
    imagefill($im,0,0,$background_color);
    //获取边框颜色
    $border_color = imagecolorallocate($im,200,200,200);
    //画矩形,边框颜色200,200,200
    imagerectangle($im,0,0,49,19,$border_color);

//逐行炫耀背景,全屏用1或0
    for($i=2;$i<18;$i++){
        //获取随机淡色        
        $line_color = imagecolorallocate($im,rand(200,255),rand(200,255),rand(200,255));
        //画线
        imageline($im,2,$i,47,$i,$line_color);
    }

//设置字体大小
    $font_size=12;

//设置印上去的文字
    $Str[0] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    $Str[1] = "abcdefghijklmnopqrstuvwxyz";
    $Str[2] = "01234567891234567890123456";

//获取第1个随机文字
    $imstr[0]["s"] = $Str[rand(0,2)][rand(0,25)];
    $imstr[0]["x"] = rand(2,5);
    $imstr[0]["y"] = rand(1,4);

//获取第2个随机文字
    $imstr[1]["s"] = $Str[rand(0,2)][rand(0,25)];
    $imstr[1]["x"] = $imstr[0]["x"]+$font_size-1+rand(0,1);
    $imstr[1]["y"] = rand(1,3);

//获取第3个随机文字
    $imstr[2]["s"] = $Str[rand(0,2)][rand(0,25)];
    $imstr[2]["x"] = $imstr[1]["x"]+$font_size-1+rand(0,1);
    $imstr[2]["y"] = rand(1,4);

//获取第4个随机文字
    $imstr[3]["s"] = $Str[rand(0,2)][rand(0,25)];
    $imstr[3]["x"] = $imstr[2]["x"]+$font_size-1+rand(0,1);
    $imstr[3]["y"] = rand(1,3);
    $imgcode='';
    //写入随机字串
    for($i=0;$i<4;$i++){
        //获取随机较深颜色
        $text_color = imagecolorallocate($im,rand(50,180),rand(50,180),rand(50,180));
        //画文字
       $imgcode.=$imstr[$i]["s"];
        imagechar($im,$font_size,$imstr[$i]["x"],$imstr[$i]["y"],$imstr[$i]["s"],$text_color);
    }
   
    //显示图片
    $_SESSION['rcode']= $imgcode;
    imagepng($im);
    //销毁图片
    imagedestroy($im);
?>

转载于:https://www.cnblogs.com/cxlings/p/3567363.html

PHP 登录DEMO相关推荐

  1. vue配置文件读取_Vue+Spring Boot简单用户登录Demo实现

    ❝ 「如果觉得文章好看,欢迎点赞.」「同时欢迎关注微信公众号:氷泠之路.」 ❞ 这是一个前后端分离的简单用户登录Demo. 技术栈 Vue BootstrapVue Kotlin Spring Boo ...

  2. flask简单的登录demo

    flask框架(二):简单的登录demo 一:main.py # -*- coding: utf-8 -*- # @Author : Felix Wang # @time : 2018/7/3 22: ...

  3. SQL Server之 (四) ADO增删查改 登录demo 带参数的sql语句 插入自动返回行号

    SQL Server之 (四) ADO增删查改  登录demo  带参数的sql语句  插入自动返回行号 自己学习笔记,转载请注明出处,谢谢!---酸菜 1.什么是ADO.NET ADO.NET是一组 ...

  4. 微信小程序 + Java + Mysql(登录 Demo)

    目录 一.开发前准备 二.设计登录页面(小程序) 三.创建 Maven 项目 四.创建数据库与数据表 五.后台代码(Java Servlet) 六.运行 七.总结 建议 一.开发前准备 1.注册一个微 ...

  5. 【MySQL 读写分离】Sharding JDBC + Spring boot 实现数据库读写分离的登录 Demo

    上篇文章我们搭建了 MySQL 数据库主从复制集群 MySQL 搭建主从复制集群~~~ 本篇文章我们利用搭建好的主从复制集群,使用 SpringBoot 结合 Sharding-JDBC 搭建一个小的 ...

  6. 小程序的支付Demo和登录Demo

    2019独角兽企业重金招聘Python工程师标准>>> //登录 function Login(){wx.login({success: function (res) {if (re ...

  7. springboot 简单的扫码登录 demo

    效果图 代码地址: https://gitee.com/nature-edu/edu-qrcodelogin-web 博客说明地址: https://www.jianshu.com/p/cad2552 ...

  8. Java人脸识别登录Demo(人脸考勤系统)

    最近好多小伙伴在做毕设,有人脸识别登录.人脸识别考勤系统.人脸支付(本文代码可以实现,但只限于识别逻辑,并不安全)等,跟人脸识别有关的项目.由于上一篇文章写了关于人脸识别登录的代码有很多小伙伴找我要源 ...

  9. OKTA==springboot2.5.4整合OKTA实现单点登录demo

    SSO demo with Okta and spring boot - YouTube 整体流程 去okta注册后会自动生成一个教程,点击 Create your web application 设 ...

  10. Android学习之完整的注册登录Demo(APP端+服务器端)

    因比赛或者项目需要,写了几个小打小闹的APP.有的处于"单机"状态,有的处于"半联网"状态,觉得学习有点操之过急,所以先缓一缓,梳理一下之前所学的知识,将之前做 ...

最新文章

  1. Spring从菜鸟到高手(二)AOP的真正实现
  2. 查看文档(API) (NSString)
  3. 快速失败Vs安全失败(Java迭代器附示例)
  4. apt命令与yum命令
  5. JavaFX——fxml文件加载错误:[javafx.fxml.LoadException]解决方案之一
  6. linear-gradient radical-gradient详解
  7. js判断输入数字是否是整数,金额、数字
  8. gcc support java_由于CC寻找不存在的gcc版本,自制软件无法安装公式
  9. [Leetcode][第459题][JAVA][重复的字符串][子串][匹配]
  10. 轴固定位置_轴承的装配与内外圈固定方法,一文让你搞懂
  11. c++ double 只输出五位_C/C++编程笔记:C语言入门知识点(一),请收藏C语言最全笔记...
  12. 【CSS】css控制模块到顶层或底层
  13. iec611313标准下载_IEC 61730-1-2016
  14. dell 电脑关闭触摸板的。
  15. 北卡州立大学计算机科学硕士,2020年北卡罗来纳州立大学一年制硕士含金量
  16. Entity Component System与Entity Component
  17. Windows10蓝牙突然失灵 无法连接鼠标
  18. 手机外接usb摄像头软件下载_手机打碟app下载安装_手机打碟软件最新版免费下载...
  19. C语言的字符串的联接
  20. 华为OD机试真题 Python 实现【开放日活动】【100%通过率】【2022.11 Q4 新题】

热门文章

  1. http://www.cnoug.org/viewthread.php?tid=9292
  2. python-爬虫学习(文字、图片、视频)
  3. 使用python脚本定时备份web网站
  4. 异步简析之BlockingCollection实现生产消费模式
  5. Linux实现免密码登录
  6. window.showModalDialog模态对话框 值回传 TreeView无刷新
  7. [Ajax] jQuery中的Ajax -- 01-jQuery中的Ajax
  8. jQuery源码分析笔记-构造jQuery对象(三)
  9. 简述MapReduce执行过程?
  10. 你活了多久----快用Python计算一下日期