PHP搭建网站登录页面(一个iOS开发者的PHP之路)

Posted 欣麒骥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP搭建网站登录页面(一个iOS开发者的PHP之路)相关的知识,希望对你有一定的参考价值。

前言

最近几年各个技术论坛流传着一句话:未来是全栈程序员的世界!程序员作为社会的一门职业,越来越多的人加入这个行业,在这个行业内分工很明晰的情况下,越来越多的程序员开始不安分追求一门编程语言,开始在工作之余学习其他领域,渴望在不久的将来能在整个软件行业游刃有余。当然网上反对的声音也很高,这些人认为术业有专攻,应该精通一门,一个人在公司也只会负责一门技术,精力有限。

本人的看法是在这个技术日新月异的时代,iOS取代塞班也是一瞬间的事情,所以作为一名程序员强大的学习能力才是最重要的,一专多强才是非常保险的,再加上每个人走的路线是不一样的,所以没有谁对谁错,只有适不适合自己。

说明

语言基础

HTTML +CSS+ PHP

适应人群

  • 非PHP开发者涉猎PHP技术

  • PHP开发新手

重要说明:本人是一名ios开发者,正在php的道路上爬坑,PHP界的大牛大侠请绕路,谢谢!

技术准备

搭建PHP、mysql、Apache服务器环境

说明:

服务器环境可以在Mac、Linux、Windows环境下均可进行搭建,搭建的过程网上资料一堆又一堆的,其中Mac上搭建环境可以参考我这一篇iOS开发–Mac下服务器搭建,搭建的过程对于新手来说也是比较繁琐和麻烦的,所以对于新手推荐 使用phpStudy软件进行一键式的搭建环境,如图

由于csdn上传资料只有60M的限制,所以需要这个软件的可以在下方评论区留下你的邮箱发给你。

这次我们做的是一个登陆页面,效果图如下:

功能实现介绍

页面运用的是html+CSS进行编写,验证码封装了成了一个PHP类,当用户输入账号密码以及验证码后会,先验证验证码是否正确,当验证码正确的时候php访问数据库Myuser表与用户输入的账号密码进行匹对,匹对成功后跳转到网站主页。

验证码自动生成的文件代码如下:

<?php
//验证码类
class ValidateCode 
private $charset = 'abcdefghkmnprstuvwxyzABCDEFGHKMNPRSTUVWXYZ23456789';//随机因子
private $code;//验证码
private $codelen =4;//验证码长度
private $width = 130;//宽度
private $height = 50;//高度
private $img;//图形资源句柄
private $font;//指定的字体
private $fontsize = 20;//指定字体大小
private $fontcolor;//指定字体颜色
//构造方法初始化
public function __construct() 
$this->font = dirname(__FILE__).'/font/elephant.ttf';//注意字体路径要写对,否则显示不了图片

//生成随机码
private function createCode() 
$_len = strlen($this->charset)-1;
for ($i=0;$i<$this->codelen;$i++) 
$this->code .= $this->charset[mt_rand(0,$_len)];


//生成背景
private function createBg() 
$this->img = imagecreatetruecolor($this->width, $this->height);
$color = imagecolorallocate($this->img, mt_rand(157,255), mt_rand(157,255), mt_rand(157,255));
imagefilledrectangle($this->img,0,$this->height,$this->width,0,$color);

//生成文字
private function createFont() 
$_x = $this->width / $this->codelen;
for ($i=0;$i<$this->codelen;$i++) 
$this->fontcolor = imagecolorallocate($this->img,mt_rand(0,156),mt_rand(0,156),mt_rand(0,156));
imagettftext($this->img,$this->fontsize,mt_rand(-30,30),$_x*$i+mt_rand(1,5),$this->height / 1.4,$this->fontcolor,$this->font,$this->code[$i]);


//生成线条、雪花
private function createLine() 
//线条
for ($i=0;$i<6;$i++) 
$color = imagecolorallocate($this->img,mt_rand(0,156),mt_rand(0,156),mt_rand(0,156));
imageline($this->img,mt_rand(0,$this->width),mt_rand(0,$this->height),mt_rand(0,$this->width),mt_rand(0,$this->height),$color);

//雪花
for ($i=0;$i<100;$i++) 
$color = imagecolorallocate($this->img,mt_rand(200,255),mt_rand(200,255),mt_rand(200,255));
imagestring($this->img,mt_rand(1,5),mt_rand(0,$this->width),mt_rand(0,$this->height),'*',$color);


//输出
private function outPut() 
header('Content-type:image/png');
imagepng($this->img);
imagedestroy($this->img);

//对外生成
public function doimg() 
$this->createBg();
$this->createCode();
$this->createLine();
$this->createFont();
$this->outPut();

//获取验证码
public function getCode() 
return strtolower($this->code);


?>

登陆页面的代码如下:

<?php
session_start();
session_destroy();

?>
<html>
<head>
<title>高考成绩查询系统</title>
<style type="text/css">
#login p
margin-top: 15px;
line-height: 20px;
font-size: 14px;
font-weight: bold;


body 
    background-color: #0d3b5d;
    margin: 0;
    padding: 0;
    font: Arial, Helvetica, sans-serif;
    text-align:center;
    text-align-last: center;
    font-size:20px;

#login img
cursor:pointer;

form
margin-left:20px;

</style>
</head> 
<body> 

<form id="login" action="" method="post">
<p>高考成绩查询系统</p>
<p>
    <span>账号:</span>
    <input type="text" name="account" value="" size=15> <br/>
    <br/>
    <span>密码:</span>

    <input type="text" name="password" value="" size=15> <br/>

<br/>
    <span>验证码:</span>
<input type="text" name="validate" value="" size=10> 
<img  title="点击刷新" src="./captcha.php" align="absbottom" onclick="this.src='captcha.php?'+Math.random();"></img>
</p>
<p>
<input type="submit">
</p>
</form>
</body>
<?php
//打印上一个session;
//echo "上一个session:<b>".$_SESSION["authnum_session"]."</b><br>";
$validate="";
/*&&isset($_POST["account"])&&isset($_POST["password"])*/
if(isset($_POST["validate"]))
$validate=$_POST["validate"];
if($validate!=$_SESSION["authnum_session"])
//判断session值与用户输入的验证码是否一致;
echo "<font color=red>验证码错误</font>";

else
    require_once 'LinkDatabase.php';
    $sql = mysql_query("select * from Myuser ", $connID);

        while( $result = mysql_fetch_array($sql))
        

            if($_POST['account']==$result['uname']&&$_POST['password']==$result['upass'])
            
                include "SecondView.html";
                echo "登陆成功";
                header("location:SecondView.html");
            


    



?>

当用户账号密码与MySql数据库进行匹配成功的时候,会调用header("location:SecondView.html");方法,将跳转到名字为SecondView.html的主页中。

附录

实例点击代码下载

以上是关于PHP搭建网站登录页面(一个iOS开发者的PHP之路)的主要内容,如果未能解决你的问题,请参考以下文章

PHP搭建网站登录页面(一个iOS开发者的PHP之路)

php网站验证登录后怎么跳向用户管理页面

部署社交网站(SVN+PHP+NGINX+MYSQL+MFS)

php源码建博客1--搭建站点-实现登录页面

php安全之我见

用心剖析,详解如何搭建百万PV网站架构,简单易懂!!!