Maison > développement back-end > tutoriel php > Explication détaillée du développement de sites interactifs simples avec PHP MYSQL

Explication détaillée du développement de sites interactifs simples avec PHP MYSQL

墨辰丷
Libérer: 2023-03-28 10:02:01
original
1493 Les gens l'ont consulté

Cet article présente principalement en détail le développement de sites interactifs simples PHP MYSQL, qui a une certaine valeur de référence. Les amis intéressés peuvent s'y référer

Objectif : Utiliser PHP et MYSQL pour simuler la gestion des autorisations Implémentation du système

L'utilisateur général ne peut afficher que les autres informations utilisateur et ne peut pas modifier, ajouter et supprimer des opérations. L'utilisateur root peut effectuer les trois opérations ci-dessus.

Idées d'implémentation

1. Créez deux tables de données dans la base de données MySQL. Une table de données stocke les noms d'utilisateur et les mots de passe pour la vérification de la connexion, et l'autre stocke des informations de base telles que les autorisations des utilisateurs.
2. Lors de la soumission du formulaire de connexion, vérifiez d'abord si l'utilisateur existe dans la base de données. S'il n'existe pas, une erreur sera signalée. S'il existe, le mot de passe sera vérifié. , une erreur sera signalée. Si le mot de passe est correct, la connexion affichera toutes les informations stockées dans la base de données. Informations utilisateur et nom d'utilisateur de connexion actuel.
3. Lorsque l'utilisateur effectue des opérations d'ajout ou de suppression, déterminez d'abord si les autorisations sont suffisantes. S'il y a une autorisation, terminez l'opération correspondante et modifiez le contenu de la base de données. Sinon, il vous indiquera qu'il n'y a pas d'autorisation

.

Mise en œuvre spécifique

1. La page de destination

<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>
Copier après la connexion

L'effet est le suivant :

Explication détaillée du développement de sites interactifs simples avec PHP MYSQL

2. Connectez-vous à la base de données pour vérifier le nom de connexion et le mot de passe

//登陆处理
 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); 
 }//登陆处理结束
Copier après la connexion

Fonction de rappel d'erreur de saisie

<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>
Copier après la connexion

Rendu de rappel d'erreur :

Explication détaillée du développement de sites interactifs simples avec PHP MYSQL

3. Une fois la connexion réussie, toutes les informations utilisateur dans la base de données et le nom d'utilisateur de connexion actuel sont affichés

// 获取登陆名
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);
}
Copier après la connexion

L'effet d'affichage est le suivant :

Explication détaillée du développement de sites interactifs simples avec PHP MYSQL

4. Mise en œuvre des opérations de modification, suppression et ajout

Modifier et ajouter une 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>
Copier après la connexion

L'effet est le suivant :

Explication détaillée du développement de sites interactifs simples avec PHP MYSQL

Supprimer la 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>
Copier après la connexion

Le rendu est le suivant :

Explication détaillée du développement de sites interactifs simples avec PHP MYSQL

Mise en œuvre

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

Implémentation de la fonction modifier()

// 修改数据函数
/*
点击修改超链接,跳转到修改页面
表单中,名字项指定要修改记录
权限和职务项为可修改内容
*/
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);
  }
 }
}
Copier après la connexion

Implémentation de la fonction juge( )

// 判断修改用户名是否存在和该用户是否具有权限
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;
 } 
}
Copier après la connexion

Enregistrement des techniques courantes

1. Utiliser la session pour réaliser l'utilisation de plusieurs fichiers php La méthode de la même variable

ouvre la session dans le texte qui définit la variable et stocke la valeur dans la session

usersession_unset();
session_start();
$_SESSION[&#39;变量名&#39;] = "值";
Copier après la connexion

avant d'utiliser Ouvrir la session dans le texte de la variable et retirer la variable

session_start();
$NAME = $_SESSION[&#39;变量名&#39;];
Copier après la connexion

2. PHP se connecte à la base de données MYSQL et effectue des opérations de recherche, d'ajout et de suppression sur la base de données

Se connecter à la base de données

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

Rechercher

$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))
{
 相关操作;
}
Copier après la connexion

Insérer

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

Supprimer

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

3. Rappel avant soumission du formulaire

< ;form method="post" action="url" onsubmit="return confirm('Veuillez confirmer la suppression');">

4. Appelez la fonction javascript en php

<?php
echo "<script type=&#39;text/javascript&#39;>javascript函数;</script>";
?>
Copier après la connexion

Ce qui précède représente l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'apprentissage de chacun.


Recommandations associées :

framework php CodeIgniterBase de donnéesÉtapes de configuration détaillées

PHP+mysql implémente la méthode d'obtention de la fonction d'arborescence déroulante à partir de la base de données

PHP implémente l'utilisation de mysqli pour faire fonctionner labase de donnéesMySQLMéthode

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal