小白教程——Windows下用PHP写一个简单的登录注册页面(二)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36934826/article/details/78171456

  哈喽,看到这里希望小伙伴们都把wampserver环境安装好了,如果还没有安装或创建数据表就移步去看我上一篇文章吧。OK~接下我们将进入代码实现部分,首先我们需要一个文本编辑器,可以是电脑自带的notepad也可以是notepad++或者是sublime,博主习惯用sublime,也写过一篇sublime的安装教程,还没有的小伙伴可以去看一下,强烈推荐用sublime哟。

  好了话不多说直接进入正题吧,首先要启动我们的wampserver服务器,然后单击图标选择www directory,接下来会在这个创建一个名为MyWebsite文件夹作为我们的项目文件,这个文件名可以自己修改。

创建之后打开这个文件夹首先创建创建一个sql.func.php,这个文件来对底层函数进行一下封装,代码如下:

<?php
/**
*弹框
*/
function _alert($_info){
    echo "<script type='text/javascript'>alert('$_info');history.back();</script>";
    exit;
}

/**
 * _location():弹出一个对话框并且转跳到另一个界面
 * @access public
 * @param string $_info 对话框上显示的信息
 * @param string $_url  转跳的页面地址
 * @return void
 */
function _location($_info,$_url){
    if($_info==null){
        header('Location:'.$_url);
    }else{
        echo "<script type='text/javascript'>alert('$_info');location.href='$_url';</script>";
        exit;
    }

}

/**
 * _connect():连接数据库
 * @access public
 * @return void
 */
function _connect()
{
    //定义全局变量$_conn,在函数外部也能调用
    global $_conn;
    $_conn=mysqli_connect(DB_HOST, DB_USER,DB_PWD);
    if (!$_conn) {
        exit('数据库连接失败:'.mysqli_error($_conn));
    }
}

/**
 * _select_db():选择数据库
 * @access public
 * @return void
 */
function _select_db(){
    global $_conn;
    if(!mysqli_select_db($_conn,DB_NAME)){
        exit('找不到数据库'.mysqli_error($_conn));
    }
}

/**
 * _set_names():设置字符编码
 * @access public
 * @return void
 */
function _set_names(){
    global $_conn;
    if(!mysqli_query($_conn,'SET NAMES UTF8')){
        exit('字符编码错误'.mysqli_error($_conn));
    }
}

/**
 * _query():执行sql语句
 * @access public
 * @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语句遍历数据库。返回一个数组,键名是数据库的表单结构名
 * @access public
 * @param string $_sql sql操作语句
 * @return array|null
 */
function _fetch_array($_sql){
    return mysqli_fetch_all(_query($_sql),MYSQLI_ASSOC);
}

/**
 * _num_rows():返回数据库中查找条件的数据个数
 * @access public
 * @param string $_sql sql操作语句
 * @return int 返回数据个数
 */
function _num_rows($_sql){
    return mysqli_num_rows(_query($_sql));
}

/**
 * _affected_rows():返回数据库里被影响到的数据条数
 * @access public
 * @return int 返回影响到的记录数
 */
function _affected_rows(){
    global $_conn;
    return mysqli_affected_rows($_conn);
}

/**
 * _is_repeat():判断数据在数据库里是否已经存在
 * @access public
 * @param string $_sql sql操作语句
 * @param string $_info 弹窗上显示的文字
 * @return void
 */
function _is_repeat($_sql,$_info){
    if(_fetch_array($_sql)){
        _alert_back($_info);
    }
}

/**
 * _close():关闭数据库
 * @access public
 */
function _close(){
    global $_conn;
    if(!mysqli_close($_conn)){
        exit('数据库关闭异常'.mysqli_error($_conn));
    }
}
?>

  connect.php 的文件,这个文件是连接数据库的文件,然后open with sublime text 进行编辑。连接数据库代码如下:

<?php
	$_conn=mysqli_connect('localhost','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";
 ?>


  注释的那部分是为了方便调试,检验是否成功连接到了数据库。在第二行的连接操作处就是我上一节提到的连接用户名和密码,如果没有重新设置就这样写,如果自己修改过账号密码就需要将相应的值修改一下。

  然后开始写我们的主页,同样新创建一个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>
  创建成功后不要直接双击打开,你直接在浏览器网址栏输入:http://localhost/MyWebsite/index.html 来打开

  然后再创建一个login.php,编写登录页面,假设登录成功就跳转到CSDN首页,代码如下

<?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($result[0]['user_password']==$_POST['password']){
			_location('登录成功','http://www.csdn.net/');
		}else{
			_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>

登录功能就实现了,那么接下来就是注册功能,同样需要新建一个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>

  注册成功后可以在数据库里看到,user数据表中就会多一个你刚刚注册的用户。


  好了一个简单的登录注册功能就这样实现了,这篇小白教程就结束了,希望能帮助到你!喜欢的话就点个赞哦~~


这里附上实例文件:MyWebsite

猜你喜欢

转载自blog.csdn.net/qq_36934826/article/details/78171456