search
HomeBackend DevelopmentPHP TutorialDetailed explanation of simple interactive site development with PHP MYSQL

This article mainly introduces PHP MYSQL simple interactive site development in detail, which has certain reference value. Interested friends can refer to it

Purpose: Use PHP and MYSQL to simulate permission management Implementation of the system

The general user can only view other user information and cannot modify, add, and delete operations. The root user can complete the above three operations.

Implementation ideas

1. Create two data tables in the MySQL database. One data table stores usernames and passwords for login verification, and the other stores basic information such as user permissions.
2. When submitting the form to log in, first check whether the user exists in the database. If it does not exist, an error will be reported. If it exists, the password will be verified. If the password is incorrect, an error will be reported. If the password is correct, the login will display all the information stored in the database. User information and current login username.
3. When the user performs add or delete operations, first determine whether the permissions are sufficient. If there is permission, complete the corresponding operation and modify the database content. Otherwise, it will prompt that there is no permission.

Detailed implementation

1. Login page

<center>
 <form method="post" action="<?php echo $_SERVER[&#39;SCRIPT_NAME&#39;] ?>">
 用户名: <input type="text" name="user_name">
 密码: <input type="text" name="password">
 <input type="Submit" name="submit" value="登陆">
 </form>
</center>

The effect is as follows:

Detailed explanation of simple interactive site development with PHP MYSQL

2 .Connect to the database to verify the login name and password

//登陆处理
 if (isset($_POST[&#39;submit&#39;])) 
 {
  // 用户名输入为空
  if($_POST[&#39;user_name&#39;] == &#39;&#39;)
  // 调用javascript函数动态提醒
  echo "<script type=&#39;text/javascript&#39;>dis_alert(\"用户名\",1);</script>";// 密码输入为空
  if($_POST[&#39;password&#39;] == &#39;&#39;)
  // 调用javascript函数动态提醒
  echo "<script type=&#39;text/javascript&#39;>dis_alert(\"密码\",1);</script>";
  // 用户名与密码均不为空
  $user_name = $_POST[&#39;user_name&#39;];
  //链接数据库,从中读出用户名和密码
  $db = mysql_connect("localhost", "root", "123456");
  mysql_select_db("linyimin", $db);
  $result = mysql_query("select * from login where user_name = &#39;$user_name&#39;");
  $num = mysql_num_rows($result);
  //判断用户输入的用户名存在,验证密码
  if($num != 0)
  {
  $user_name = mysql_result($result,0,&#39;user_name&#39;);
  $password = mysql_result($result,0,&#39;password&#39;);
  if(strcmp($password,$_POST[&#39;password&#39;]) != 0)
  {
   echo "密码错误";
   //密码错误,报错
   $password = $_POST[&#39;password&#39;];
   echo "<script type=&#39;text/javascript&#39;>dis_alert(&#39;密码错误&#39;,3);</script>";
  }
  // 密码正确
  else
  {
   session_unset();
   session_start();
   $_SESSION[&#39;user_name&#39;] = $_POST[user_name];
   header("Location:http://localhost/display.php");
   exit;
  }
  }
  // 用户输入的用户名不存在,报错 
  else if($num == 0)
  {
  // 用户名不存在,报错
  $user_name = $_POST[&#39;user_name&#39;];
  echo "<script type=&#39;text/javascript&#39;>dis_alert(\"$user_name\",2);</script>";
  }
  mysql_close($db); 
 }//登陆处理结束

Input error reminder function

<script type="text/javascript">

// 登陆错误提醒
function dis_alert(var1, var2)
{
 // 用户名和密码不能为空提醒
 if(var2 == 1)
 {
 alert(var1 + " 不能为空,请重新输入");
 history.back(-1);
 }
 // 用户名不存在错误提醒
 if(var2 == 2)
 {
 alert("该用户名 " + var1 + " 不存在,请重新输入");
 history.back(-1);
 }
 // 密码错误提醒
 if(var2 == 3)
 {
 alert("密码错误,请重新输入");
 history.back(-1);
 }
}

</script>

Error reminder rendering:

Detailed explanation of simple interactive site development with PHP MYSQL

3. After successful login, all user information in the database and the current login user name will be displayed

// 获取登陆名
session_start();
$NAME = $_SESSION[&#39;user_name&#39;];
// 连接数据库,获取数据并显示
function display()
{
 global $NAME;
 $db = mysql_connect("localhost", "root", "123456");
 mysql_select_db("linyimin",$db);
 $sql = "select * from admin_info";
 $result = mysql_query($sql);
 // 显示信息表
 echo "<h3 align=right color=#FFFFFF> 当前用户:$NAME</h6>";
 echo "<table border = 0 align = center width = 1000></br>";
 // 添加超链接
 echo "<tr align = center><th> <a href =\"display.php?add=yes\">ADD</a></th><br>";
 // 修改添加超连接
 echo "<th> <a href =\"display.php?update=yes\">UPDATE</a></th><br>";
 // 删除超链接
 echo "<th> <a href =\"display.php?delete=yes\">DELETE</a></th></tr><br>";
 echo "</table>";
 echo "<table border = 2 align = center width = 1000></br>";
 // 表头
 echo "<tr><th colspan=\"3\">管理员权限表</th></tr><br>";
 echo "<tr align = center><td>姓名</td><td>权限</td><td>职务</td></tr><br>";
 while($row = mysql_fetch_row($result))
 {
 // 显示管理员信息并通过超链接调用处理函数
 echo "<tr align = center><td>$row[0]</td>";
 echo "<td>$row[1]</td>";
 echo "<td>$row[2]</td></tr>";
 }
 echo "</table>";
 mysql_close($db);
}

The display effect is as follows:

Detailed explanation of simple interactive site development with PHP MYSQL

4. Implementation of modification, deletion and addition operations

Modify and add page

<center>
 <form method="post" action="<?php echo $_SERVER[&#39;URL&#39;] ?>">
 姓名: <input type="text" name="user_name">
 权限: <input type="text" name="pemission">
 职务: <input type="text" name="position">
 <input type="Submit" name="update" value="提交">
 </form>
</center>

The effect is as follows:

Detailed explanation of simple interactive site development with PHP MYSQL

Delete page

 <center> 
 <form method="post" action="<?php echo $_SERVER[&#39;URL&#39;] ?>" onsubmit="return confirm(&#39;请确认删除&#39;);">
 姓名: <input type="text" name="user_name">
 <input type="submit" name="update" value="删除">
</center>

The rendering is as follows:

Detailed explanation of simple interactive site development with PHP MYSQL

##Realization

// 调用修改函数
if ($_GET[update]) 
{
 modify("update");
}
// 调用添加函数
elseif($_GET[add])
{
 modify("add");
}
elseif($_GET[delete])
{
 modify("delete");
}

Implementation of modify() function

// 修改数据函数
/*
点击修改超链接,跳转到修改页面
表单中,名字项指定要修改记录
权限和职务项为可修改内容
*/
function modify($operation)
{
 if(isset($_POST[&#39;update&#39;]))
 {
 // 有root权限修改,修改
 if($operation == "update" && judge("update"))
 {
  $user_name = $_POST[user_name];
  $sql = "UPDATE admin_info SET pemission = &#39;$_POST[pemission]&#39;, position =&#39;$_POST[position]&#39; WHERE user_name = &#39;$user_name&#39;";
  mysql_query($sql);
  mysql_close($db);
  display();
 }
 // 添加
 elseif(judge("add") && $operation == "add")
 {
  $user_name = $_POST[user_name];
  $sql = "insert into admin_info (user_name, pemission, position) values (&#39;$_POST[user_name]&#39;,&#39;$_POST[pemission]&#39;,&#39;$_POST[position]&#39;)";
  mysql_query($sql);
  mysql_close($db);
  display();
 }
 // 删除
 elseif(judge("delete") && $operation == "delete")
 {
  $user_name = $_POST[user_name];
  // 获取确认情况
  $sql = "delete from admin_info where user_name = \"$user_name\"";
  mysql_query($sql);
  }
 }
}

Implementation of judge() function

// 判断修改用户名是否存在和该用户是否具有权限
function judge($operation)
{
 global $NAME;
 // 修改用户名
 $user_name = $_POST[&#39;user_name&#39;];
 // 连接数据库,获取数据
 $db = mysql_connect("localhost", "root", "123456");
 mysql_select_db("linyimin",$db);
 // 该用户是否存在
 $sql = "select * from admin_info where user_name = \"$user_name\"";
 $result = mysql_query($sql);
 $num = mysql_num_rows($result);
 // 输入名称不存在
 if ($num == 0 && $operation != "add")
 {
  $user_name = $_POST[&#39;user_name&#39;];
  echo "<script type=&#39;text/javascript&#39;>dis_alert(\"$user_name\",2);</script>";
  return 0;
 }
 else
 {
  // 判断有没有权限(只有root权限可以修改)
  $sql = "select * from admin_info where user_name = \"$NAME\"";
  $result = mysql_query($sql);
  $pemission = mysql_result($result,0,&#39;pemission&#39;);
  // 没有root权限,报错
  if(strcmp($pemission,"root") != 0)
  {
  $user_name = $_POST[&#39;user_name&#39;];
  echo "<script type=&#39;text/javascript&#39;>dis_alert(\"$user_name\",1);</script>";
  return 0;
  }
  else 
  return 1;
 } 
}

Common skills record

1. Use session to realize the method of using the same variable in multiple php files

In the text that defines the variable Open the session and store the value into the session

usersession_unset();
session_start();
$_SESSION[&#39;变量名&#39;] = "值";

Open the session in the text that uses the variable and take out the variable

session_start();
$NAME = $_SESSION[&#39;变量名&#39;];

2. PHP connects to the MYSQL database and performs search, add, and delete operations on the database

Connect to the database

// 连接数据库
$db = mysql_connect("url", "用户名", "密码");
// 选择数据库
mysql_select_db("数据库名称",$db);

Find

$sql = "select * from admin_info where 字段名 = \"查找值\"";
$result = mysql_query($sql);
// 对查找返回结果进行操作
// 获取查找返回记录数条数
$num = mysql_num_rows($result);
// 获取查找结果第一条记录的user_name字段值
$user_name = mysql_result($result,0,&#39;user_name&#39;);
// 逐条取出查询记录
while($row = mysql_fetch_row($result))
{
 相关操作;
}

Insert

$sql = "insert into 数据表 (字段1, 字段2, 字段3) values (&#39;值1&#39;,&#39;值2&#39;,&#39;值3&#39;)";
mysql_query($sql);

Delete

$sql = "delete from 数据表 where 字段名 = \"查找值\"";
mysql_query($sql);
// 关闭数据库
mysql_close($db);

3. Reminder before form submission


4. Call the javascript function in php

<?php
echo "<script type=&#39;text/javascript&#39;>javascript函数;</script>";
?>

The above is this article The entire content, I hope it will be helpful to everyone's study.


Related recommendations:

php framework CodeIgniterDatabaseDetailed configuration steps

PHP mysql implements the method of obtaining the drop-down tree function from database

PHP implements the use of mysqli to operate MySQLdatabase Methods

The above is the detailed content of Detailed explanation of simple interactive site development with PHP MYSQL. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
图文详解mysql架构原理图文详解mysql架构原理May 17, 2022 pm 05:54 PM

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于架构原理的相关内容,MySQL Server架构自顶向下大致可以分网络连接层、服务层、存储引擎层和系统文件层,下面一起来看一下,希望对大家有帮助。

mysql怎么替换换行符mysql怎么替换换行符Apr 18, 2022 pm 03:14 PM

在mysql中,可以利用char()和REPLACE()函数来替换换行符;REPLACE()函数可以用新字符串替换列中的换行符,而换行符可使用“char(13)”来表示,语法为“replace(字段名,char(13),'新字符串') ”。

mysql怎么去掉第一个字符mysql怎么去掉第一个字符May 19, 2022 am 10:21 AM

方法:1、利用right函数,语法为“update 表名 set 指定字段 = right(指定字段, length(指定字段)-1)...”;2、利用substring函数,语法为“select substring(指定字段,2)..”。

mysql的msi与zip版本有什么区别mysql的msi与zip版本有什么区别May 16, 2022 pm 04:33 PM

mysql的msi与zip版本的区别:1、zip包含的安装程序是一种主动安装,而msi包含的是被installer所用的安装文件以提交请求的方式安装;2、zip是一种数据压缩和文档存储的文件格式,msi是微软格式的安装包。

mysql怎么将varchar转换为int类型mysql怎么将varchar转换为int类型May 12, 2022 pm 04:51 PM

转换方法:1、利用cast函数,语法“select * from 表名 order by cast(字段名 as SIGNED)”;2、利用“select * from 表名 order by CONVERT(字段名,SIGNED)”语句。

MySQL复制技术之异步复制和半同步复制MySQL复制技术之异步复制和半同步复制Apr 25, 2022 pm 07:21 PM

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于MySQL复制技术的相关问题,包括了异步复制、半同步复制等等内容,下面一起来看一下,希望对大家有帮助。

带你把MySQL索引吃透了带你把MySQL索引吃透了Apr 22, 2022 am 11:48 AM

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了mysql高级篇的一些问题,包括了索引是什么、索引底层实现等等问题,下面一起来看一下,希望对大家有帮助。

mysql怎么判断是否是数字类型mysql怎么判断是否是数字类型May 16, 2022 am 10:09 AM

在mysql中,可以利用REGEXP运算符判断数据是否是数字类型,语法为“String REGEXP '[^0-9.]'”;该运算符是正则表达式的缩写,若数据字符中含有数字时,返回的结果是true,反之返回的结果是false。

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

EditPlus Chinese cracked version

EditPlus Chinese cracked version

Small size, syntax highlighting, does not support code prompt function

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft