首頁  >  文章  >  後端開發  >  PHP MYSQL簡易互動式網站開發詳解

PHP MYSQL簡易互動式網站開發詳解

墨辰丷
墨辰丷原創
2018-05-29 10:14:371280瀏覽

這篇文章主要為大家詳細介紹了PHP MYSQL簡易互動網站開發,具有一定的參考價值,有興趣的小夥伴們可以參考一下

目的:使用PHP和MYSQL模擬權限管理系統的實現

general用戶只能查看其他用戶信息,不能進行修改,添加,和刪除操作,root用戶可以完成以上三種操作。

實作想法

1.在MySQL資料庫中建立兩個資料表。一張資料表保存使用者名稱和密碼,用於登陸驗證,另一張保存使用者權限等基本資訊。
2.提交表單登陸時,先在資料庫中尋找該使用者存不存在,若不存在,報錯,存在,則驗證密碼,密碼錯誤則報錯,若密碼正確,登陸顯示所有儲存在資料庫中的使用者資訊和目前登陸使用者名稱。
3.在使用者進行新增,刪除操作時,先判斷權限是否足夠,有權限則完成對應操作,修改資料庫內容,否則提示沒有權限

具體實作

1.登陸頁面

用户名: 密码:

效果如下:

PHP MYSQL簡易互動式網站開發詳解

2 .連接資料庫對登陸名稱和密碼進行驗證

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

#輸入錯誤提醒函數

錯誤提醒效果圖:

PHP MYSQL簡易互動式網站開發詳解

3. 成功登陸之後顯示資料庫中所有使用者資訊和目前登陸使用者名稱

// 获取登陆名
session_start();
$NAME = $_SESSION['user_name'];
// 连接数据库,获取数据并显示
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 "

当前用户:$NAME

"; echo "
"; // 添加超链接 echo "
"; // 修改添加超连接 echo "
"; // 删除超链接 echo "
"; echo "
ADD UPDATE DELETE
"; echo "
"; // 表头 echo "
"; echo "
"; while($row = mysql_fetch_row($result)) { // 显示管理员信息并通过超链接调用处理函数 echo ""; echo ""; echo ""; } echo "
管理员权限表
姓名权限职务
$row[0]$row[1]$row[2]
"; mysql_close($db); }

顯示效果如下:

PHP MYSQL簡易互動式網站開發詳解

#4. 修改,刪除,新增操作的實作

修改,新增頁面

姓名: 权限: 职务:

效果如下:

PHP MYSQL簡易互動式網站開發詳解

##刪除頁面

 
姓名:

效果圖如下:


PHP MYSQL簡易互動式網站開發詳解

# 實作

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

modify()函數的實作

// 修改数据函数
/*
点击修改超链接,跳转到修改页面
表单中,名字项指定要修改记录
权限和职务项为可修改内容
*/
function modify($operation)
{
 if(isset($_POST['update']))
 {
 // 有root权限修改,修改
 if($operation == "update" && judge("update"))
 {
  $user_name = $_POST[user_name];
  $sql = "UPDATE admin_info SET pemission = '$_POST[pemission]', position ='$_POST[position]' WHERE user_name = '$user_name'";
  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 ('$_POST[user_name]','$_POST[pemission]','$_POST[position]')";
  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['user_name'];
 // 连接数据库,获取数据
 $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['user_name'];
  echo "";
  return 0;
 }
 else
 {
  // 判断有没有权限(只有root权限可以修改)
  $sql = "select * from admin_info where user_name = \"$NAME\"";
  $result = mysql_query($sql);
  $pemission = mysql_result($result,0,'pemission');
  // 没有root权限,报错
  if(strcmp($pemission,"root") != 0)
  {
  $user_name = $_POST['user_name'];
  echo "";
  return 0;
  }
  else 
  return 1;
 } 
}

常用技巧記錄

1.利用session實作多個php檔案使用同一個變數的方法

在定義該變數的文字中打開session,並將值存入session

usersession_unset();
session_start();
$_SESSION['变量名'] = "值";

#在使用該變數的文字中開啟session並取出該變數

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

2.PHP連接MYSQL資料庫,並對資料庫進行查找,添加,刪除操作
連接資料庫

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

#尋找

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

插入

#

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

##刪除

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

3.表格提交前提醒


4.在php中呼叫javascript函數

javascript函数;";
?>

以上就是本文的全部內容,希望對大家的學習有所幫助。

相關推薦:

###php框架CodeIgniter###資料庫###設定步驟詳解######### #####PHP mysql實作從###資料庫###取得下拉樹功能的方法###############PHP實作使用mysqli運算MySQL###資料庫####的方法###########################

以上是PHP MYSQL簡易互動式網站開發詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn