>  기사  >  백엔드 개발  >  PHP MYSQL을 이용한 간단한 대화형 사이트 개발에 대한 자세한 설명

PHP MYSQL을 이용한 간단한 대화형 사이트 개발에 대한 자세한 설명

墨辰丷
墨辰丷원래의
2018-05-29 10:14:371374검색

이 기사는 주로 PHP MYSQL 간단한 대화형 사이트 개발을 자세히 소개하며 관심 있는 친구가 참조할 수 있습니다.

목적: PHP 및 MYSQL을 사용하여 권한 관리 시스템 구현을 시뮬레이션합니다

일반 사용자는 다른 보기만 볼 수 있습니다. 사용자 정보이며 작업을 수정, 추가 또는 삭제할 수 없습니다. 루트 사용자는 위의 세 가지 작업을 완료할 수 있습니다.

구현 아이디어

1. MySQL 데이터베이스에 두 개의 데이터 테이블을 만듭니다. 한 데이터 테이블에는 로그인 확인을 위한 사용자 이름과 비밀번호가 저장되고, 다른 데이터 테이블에는 사용자 권한과 같은 기본 정보가 저장됩니다.
2. 로그인을 위해 양식을 제출할 때 먼저 사용자가 데이터베이스에 존재하는지 확인하십시오. 존재하지 않으면 비밀번호가 올바르지 않은지 확인됩니다. 오류가 보고됩니다. 비밀번호가 정확하면 로그인 시 데이터베이스에 저장된 모든 사용자 정보와 현재 로그인된 사용자 이름이 표시됩니다.
3. 사용자가 추가 또는 삭제 작업을 수행할 때 권한이 충분한지 확인하고 해당 작업을 완료하고 그렇지 않으면 권한이 없다는 메시지가 표시됩니다. 구현

1. 로그인 페이지

<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>

효과는 다음과 같습니다.


2. 로그인 이름과 비밀번호를 확인하려면PHP MYSQL을 이용한 간단한 대화형 사이트 개발에 대한 자세한 설명

//登陆处理
 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); 
 }//登陆处理结束

입력 오류 알림 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>

오류 알림 렌더링:


3. 성공적으로 로그인하면 데이터베이스의 모든 사용자 정보와 현재 로그인한 사용자 이름이 표시됩니다PHP MYSQL을 이용한 간단한 대화형 사이트 개발에 대한 자세한 설명

// 获取登陆名
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);
}

디스플레이 효과


4. 수정, 삭제, 추가 작업 구현PHP MYSQL을 이용한 간단한 대화형 사이트 개발에 대한 자세한 설명

페이지 수정 및 추가

<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>

효과는 다음과 같습니다.


페이지 삭제 PHP MYSQL을 이용한 간단한 대화형 사이트 개발에 대한 자세한 설명

 <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>

효과는 다음과 같습니다:


AchievedPHP MYSQL을 이용한 간단한 대화형 사이트 개발에 대한 자세한 설명

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

modify() 함수 구현

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

Judge() 함수 구현

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

공통 기술 기록

1. 세션을 사용하여 여러 PHP 파일에서 동일한 변수를 사용하는 방법을 구현합니다.

변수를 정의하는 텍스트에서 세션을 열고 세션에 값을 저장합니다

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

변수를 사용하여 텍스트에서 세션을 열고 변수를 꺼냅니다

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

2. PHP는 MYSQL 데이터베이스에 연결하고, 데이터베이스를 검색하고, 삭제 작업을 추가합니다.

데이터베이스에 연결

// 连接数据库
$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. 양식 제출 전 알림

제출 시


4. php

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

이 글의 내용은 여기까지입니다. 모든 분들의 학습에 도움이 되었으면 좋겠습니다. .

관련 권장 사항:

php 프레임워크 CodeIgniter

database

자세한 구성 단계
PHP+mysql 메소드를 사용하여

database

에서 드롭다운 트리 기능을 구현
PH P는 다음을 사용하여 구현합니다. MySQL

Database

method

을 운영하기 위한 mysqli

위 내용은 PHP MYSQL을 이용한 간단한 대화형 사이트 개발에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.