【新手教程】从零搭建php动态网站
PHP环境搭建需要准备好三个软件:MySQL、PHPstudy、Dreamweaver这里我用的版本是 mysql8.0.20、phpstudy_x64_8.1.0.5 和 Dreamweaver CC 2018因为我按照老师给的文档做,先卸载了MySQL后安装的phpstudy,然后用phpstudy提供的mysql安装后续出现了很多问题,几经波折后选择重装会原来的MySQL,泪目,所以如果你也
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.net/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三天,很多描述都不够专业,只能讲出大致意思、作用,不要太在意。
更多推荐
所有评论(0)