PHP环境搭建

需要准备好三个软件:MySQL、PHPstudy、Dreamweaver

这里我用的版本是 mysql8.0.20、phpstudy_x64_8.1.0.5 和 Dreamweaver CC 2018

因为我按照老师给的文档做,先卸载了MySQL后安装的phpstudy,然后用phpstudy提供的mysql安装后续出现了很多问题,几经波折后选择重装回原来的MySQL,泪目,所以如果你也遇到了和我一样的情况还是选择重装回原来的MySQL吧,安装的中途可能会遇到3306端口被占用的提示,可以按照下面的链接操作(一篇文章看不懂就看两篇)

https://blog.csdn/qq_28325423/article/details/80549018?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase

https://blog.csdn/zt15732625878/article/details/80904437

三个软件安装完后,打开phpstudy,选择左侧的环境,安装php运行环境

然后到首页打开Apache

接下来测试一下PHP环境是否安装成功,如果点击网站-管理-打开网站,出现以下画面PHP环境就配置成功了

创建站点

在phpstudy的安装目录找到WWW的文件夹,然后新建一个站点文件夹,这里我命名为chapter2

然后保持phpstudy里的Apache服务开着,打开Dreamweaver,点击菜单栏的站点-新建站点

在弹出的窗口将站点名称设置为chapter2,本地站点文件夹设置为刚刚新建的文件夹

再选择左侧的服务器栏,添加新服务器

接着按下图设置好,服务器名称设为chapter2,连接方法选本地/网络,服务器文件夹选之前新建的文件夹,最后的Web URL设置为 http://localhost/站点文件夹名/ (这里我的站点文件夹即我新建的那个文件夹chapter2)

还是这个窗口上边选择高级,里面测试服务器里的服务器模型选择PHP MySQL

点击保存,然后按下图选择测试,再点下面的保存

现在站点创建好了,接下来正式进入正片

编写代码环节

在Dreamweaver右边的文件一栏,右键刚刚新建的站点,新建文件,这里一共新建了6个文件,注意后缀不一样

接下来是不同文件的代码,注意其中的注释理解代码

<!--login.html-->

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>登录页面</title>
</head>

<body>
	<!--建一个表单,模式为POST action连接到login.php-->
	<form action="login.php" method="post">
		<!--输入用户名,后面的required用于非空校验,在该框为空的时候不能提交此表单-->
		用户名:<input name="username" type="text" required><br>
		<!--输入密码-->
		密码:<input name="password" type="password" required><br> 
		<!--提交按钮-->
		<button type="submit">登录</button>
	</form>
</body>
</html>
<!--register.html-->

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>注册页面</title>
</head>

<body>
	<!--建一个表单,模式为POST action连接到register.php-->
	<form action="register.php" method="post">
		<!--输入用户名,后面的required用于非空校验,在该框为空的时候不能提交此表单-->
		用户名:<input name="username" type="text" required><br>
		<!--输入密码-->
		密码:<input name="password" type="password" required><br> 
		<!--再次输入密码,注意这里的name是repassword,不要和上面的password重名了,表单提交到php处理页面的时候要用到这些名字-->
		重复密码:<input name="repassword" type="password" required><br> 
		<!--提交按钮-->
		<button type="submit">注册</button>
	</form>
</body>
</html>
<!--connect.php-->

<?php

//连接数据库
$conn = mysqli_connect('localhost','root','这里写你数据库的密码');

//如果连接数据库失败就输出错误信息
if(!$conn){
	die("连接数据库错误:".mysqli_error($conn));
}

//选择数据库
mysqli_select_db($conn,'xscj');

//选择字符集
mysqli_set_charset($conn,'utf8');

?>
<!--login.php-->

<?php

//连接数据库
include("connect.php");

//获取表单数据
$username = $_POST['username'];
$password = $_POST['password'];

//查询用户
$sql = "select userid from user where username = '$username' and password = '$password'";
$result = mysqli_query($conn,$sql);
if(mysqli_num_rows($result) > 0){//mysqli_num_rows的返回值是查询结果的行数,查询成功跳转到主页index.php
	echo "<script>url=\"index.php\";window.location.href=url;</script>";
}else{//没有查询到该用户,弹出一个对话框"用户名或密码错误",并返回login.html页面
	echo "<script>alert(\"用户名或密码错误\");</script>";
	echo "<script>url=\"login.html\";window.location.href=url;</script>";
}

//关闭数据库
mysqli_close($conn);

?>
<!--register.php-->

<?php

//获取表单数据
$username = $_POST['username'];
$password = $_POST['password'];
$repassword = $_POST['repassword'];

//判断两次密码是否一致
if($password != $repassword){
	echo "<script>alert(\"两次密码不一致\");</script>";
	echo "<script>url=\"register.html\";window.location.href=url;</script>";
	exit();
}

//连接数据库
include("connect.php");

//判断用户名是否已被注册
$sql = "select userid from user where username = '$username'";
$result = mysqli_query($conn,$sql);
if(mysqli_num_rows($result) > 0){
	echo "<script>alert(\"该用户名已被注册\");</script>";
	echo "<script>url=\"register.html\";window.location.href=url;</script>";
	exit();
}

//向数据库中插入新用户,userid位置插入null,因为建表时userid字段设置为自动递增,useridj就会自动增长
$sql = "insert into user values(null,'$username','$password')";
$result = mysqli_query($conn,$sql);
if($result){
	echo "<script>alert(\"注册成功,前往登录\");</script>";
	echo "<script>url=\"login.html\";window.location.href=url;</script>";
}else{
	//数据库报错
	die("Error: ".mysqli_error($conn));
}

//关闭数据库
mysqli_close($conn);

?>
<!--index.php-->

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>系统主页</title>
</head>

<body>
	Welcome to the xscj system!
</body>
</html>

现在让我们看看效果,右键点击右侧文件栏的register.html,在下拉菜单中选择在浏览器中打开,选择谷歌浏览器

先输入两个不一致的密码测试一下

显示错误了,nice,点击确认就返回注册页面了,再正常注册一遍

注册成功!来看看数据库里的数据

刚刚注册的账户信息成功录入数据库了!

接下来来到登录页面,同样先测试一下输错用户名和密码的情况

接下来输入刚刚注册的账号

跳转到系统主页了!是不是感觉有什么地方怪怪的,一般网站登录完,右上角都有显示用户的昵称,没登录的时候显示前往登录之类的。这个可以用session来实现,接下来是实现该功能的教程。

创建session

在login.php文件中添加如下图代码

session_start();开启会话

$_SESSION['username'] = $username;创建用户

显示session

在index.php文件中添加如下图代码

isset($_SESSION['username']) 用来判断是否有用户登录

删除session

在上图中注销那一行 href = "destroy_session.php" 链接到了一个文件,就是用于删除session的,代码如下

<!--destroy_session.php-->

<?php
	//销毁session并跳转到login.html登录页面
	session_start();
	session_destroy();
	echo "<script>url=\"login.html\";window.location.href=url;</script>";
?>

完成上面三个步骤后,让我们看看效果

到现在为止已经实现了注册和登录的功能,细心了解上述代码后,主页部分的功能编写就能自己随意发挥了,最后让我们写写CSS包装一下页面


本人刚学php三天,很多描述都不够专业,只能讲出大致意思、作用,不要太在意。

更多推荐

【新手教程】从零搭建php动态网站