当前位置:   article > 正文

用PHP&phpstudy写一个可以登录的简单网页_用php做一个简单的网页

用php做一个简单的网页

前言

这个网页比较简单,但是其中的个别只是还是有点不太理解,敬请大佬们讲解、评论。

准备工作

1、先下载安装phpstudy
2、安装数据库管理工具phpMyadmin。
安装数据库管理工具以下步骤在这里插入图片描述
在这里插入图片描述3、下载之后会出现一个管理按钮,点击该按钮即可访问phpMyadmin,输入创建的数据库用户名和密码既可以管理数据库了。

登录phpmyadmin的账户密码在这里
这个账号和密码在后面的php数据库连接处要用到
在这里插入图片描述

创建数据库

进入phpmyadmin后界面是这样的
在这里插入图片描述

下面进行数据库新建在这里插入图片描述
名字为people(上图写错了)

创建完以后创建数据表,默认的那个字段数(4)表示的是要设置的属性个数,也就是这四行,如果你想再添加字段可以在该页面上方选择添加字段。

每个字段里的属性:
名字就是每个user的属性名,比如ID、性别、密码等等;
类型是选择数据类型;
长度是确定该字段的最大长度(有上限);
默认是表示该字段的初始值;
排序规则也就是编码规则一般都是的utf-8;
属性里设置二进制、无符号型等等;
选择空就表示该字段允许为空,不选择就是不能为空;
索引里选择主键搜索、全文搜索等;
A_I勾选后表示自增;
注释就是写备注。

在这里插入图片描述
在这里插入图片描述
提交后这样

在这里插入图片描述数据表字段设置好了之后先在数据库里增加两个用户在这里插入图片描述增加完后浏览一下,可以看到第二个为2,其实第二个我没有填写,它默认为2,这就是选择A_I的结果。在这里插入图片描述

代码

写代码的话,我使用的是notepad++,其他也可以,比如sublime、PhpStorm等等。但是切记,字符格式为utf-8

主界面index.html

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
	<title>首页</title>
</head>
<body>
	<a href="login.php">登录</a>
	<a href="register.php">注册</a>
</body>
</html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

登陆login.php

<?php
include "./connect.php";
//接收数据
if(isset($_POST['userid']) && isset($_POST['password'])){
	//从数据库里查找用户名是否存在
	$_sql = "SELECT user_id,user_password FROM user WHERE user_id='{$_POST['userid']}'";
	$result = _fetch_array($_sql);
	if(!empty($result[0])){
		if($_POST['password']==$result[0]['user_password']){
			_location('','hello.php');    //示例网站
		}else if($_POST['password']==''){
			_alert('密码为空,请输入密码');
		}
		else{
			_alert('密码错误');
		}
	}else if($_POST['userid']=='' && $_POST['password']==''){
		_alert('用户名和密码为空,请输入用户名和密码');
	}else if($_POST['userid']==''){
		_alert('用户名为空,请输入用户名');
	}else {
		_alert('用户名不存在');
	}
	_close();
	exit;
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>登录</title>
</head>
<body>
	<form action="login.php" method="post">
		用户ID<input type="text" name="userid">
		密码: <input type="password" name="password">
		<input type="submit" value="提交">
	</form>
</body>
</html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41

注册register.php

<?php
include "./connect.php";
//接收数据
if(isset($_POST['userid']) && isset($_POST['password'])){
	//插入到数据库中
	$_sql = "INSERT INTO user(user_id,user_password)values('{$_POST['userid']}','{$_POST['password']}')";
	$_result = _query($_sql);
	_location("注册成功!","index.html");
	_close();
	exit;
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>注册</title>
</head>
<body>
	<form action="register.php" method="post">
		用户ID<input type="text" name="userid">
		密码: <input type="password" name="password">
		<input type="submit" value="注册">
	</form>
</body>
</html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

数据库连接connect.php

<?php
	$_conn=mysqli_connect('localhost','root','root'); //主机地址 用户名 密码 如果你的跟我一样就不用改
	if (!$_conn) {
		exit('数据库连接失败:'.mysqli_error($_conn));
	}
	mysqli_select_db($_conn,'people')or die('找不到数据库:'.mysqli_error($_conn).mysqli_errno($_conn));
	mysqli_query($_conn,"SET NAMES UTF8");
	// var_dump($_conn);
	include "sql.func.php";
 ?>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

底层封装sql.func.php

<?php
/**
*弹框
*/
function _alert($_info){
    echo "<script type='text/javascript'>alert('$_info');history.back();</script>";
    exit;
}
 
/**
 * _location():弹出一个对话框并且转跳到另一个界面
 */
function _location($_info,$_url){
    if($_info==null){
        header('Location:'.$_url);
    }else{
        echo "<script type='text/javascript'>alert('$_info');location.href='$_url';</script>";
        exit;
    }
 
}
 
/**
 * _connect():连接数据库
 */
function _connect()
{
    //定义全局变量$_conn,在函数外部也能调用
    global $_conn;
    $_conn=mysqli_connect(DB_HOST, DB_USER,DB_PWD);
    if (!$_conn) {
        exit('数据库连接失败:'.mysqli_error($_conn));
    }
}
 
/**
 * _select_db():选择数据库
 */
function _select_db(){
    global $_conn;
    if(!mysqli_select_db($_conn,DB_NAME)){
        exit('找不到数据库'.mysqli_error($_conn));
    }
}
 
/**
 * _set_names():设置字符编码
 */
function _set_names(){
    global $_conn;
    if(!mysqli_query($_conn,'SET NAMES UTF8')){
        exit('字符编码错误'.mysqli_error($_conn));
    }
}
 
/**
 * _query():执行sql语句
 * @param string $_sql sql操作语句
 * @return string 返回结果集
 */
function _query($_sql){
    global $_conn;
    if(!$result=mysqli_query($_conn,$_sql)){
        exit('SQL执行失败'.mysqli_error($_conn).mysqli_errno($_conn));
    }
    return $result;
}
 
/**
 * _fetch_array():根据sql语句遍历数据库。返回一个数组,键名是数据库的表单结构名
 * @param string $_sql sql操作语句
 * @return array|null
 */
function _fetch_array($_sql){
    return mysqli_fetch_all(_query($_sql),MYSQLI_ASSOC);
}
 
/**
 * _num_rows():返回数据库中查找条件的数据个数
 * @param string $_sql sql操作语句
 * @return int 返回数据个数
 */
function _num_rows($_sql){
    return mysqli_num_rows(_query($_sql));
}
 
/**
 * _affected_rows():返回数据库里被影响到的数据条数
 * @return int 返回影响到的记录数
 */
function _affected_rows(){
    global $_conn;
    return mysqli_affected_rows($_conn);
}
 
/**
 * _is_repeat():判断数据在数据库里是否已经存在
 * @param string $_sql sql操作语句
 * @param string $_info 弹窗上显示的文字
 */
function _is_repeat($_sql,$_info){
    if(_fetch_array($_sql)){
        _alert_back($_info);
    }
}
 
/**
 * _close():关闭数据库
 */
function _close(){
    global $_conn;
    if(!mysqli_close($_conn)){
        exit('数据库关闭异常'.mysqli_error($_conn));
    }
}
?>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116

测试界面hello.php

<?php
echo "hello";
echo "<br></br>";
echo "good day";
?>
  • 1
  • 2
  • 3
  • 4
  • 5

不足

在写的过程中,借鉴了不少东西,比如底层的封装。
这个网站也只是简陋的网站,但是却给了我很多启发,背景、cookie等等美中不足的地方,还有待改进。

收获

查漏补缺很多知识点,认识到了一个成熟的网站是多么难。
还有就是欢迎大家给我建议以及指正错误,感激不尽。

多有不足,不喜勿喷,谢谢大家!

第四周 2020/8/15

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/708275
推荐阅读
相关标签
  

闽ICP备14008679号