admin管理员组

文章数量:1794759

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

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

php环境搭建

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

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

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

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

blog.csdn/zt15732625878/article/details/80904437

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

然后到首页打开Apache

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

创建站点

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

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

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

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

接着按下图设置好,服务器名称设为chapter2,连接方法选本地/网络,服务器文件夹选之前新建的文件夹,最后的Web URL设置为 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