当前位置:首页 > 其他 > 正文内容

简单的PHP网址导航程序

23vps2年前 (2023-06-06)其他639

下面是一个简单的示例,实现一个基于单文件无数据库的 PHP 网址导航程序:

1、创建一个data.json文件,用于存储网址数据。文件内容如下:

阿里云限量代金券 | 此广告位出租25元/月
{
  "urls": [
    {
      "name": "Google",
      "url": "https://www.google.com"
    },
    {
      "name": "Baidu",
      "url": "https://www.baidu.com"
    },
    {
      "name": "GitHub",
      "url": "https://github.com"
    }
  ]
}

2、创建一个index.php文件,用于显示网址列表。文件内容如下:

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>网址导航</title>
</head>
<body>
  <h1>网址导航</h1>
  <ul>
    <?php
      $data = json_decode(file_get_contents('data.json'), true);
      foreach ($data['urls'] as $url) {
        echo '<li><a href="' . $url['url'] . '" target="_blank">' . $url['name'] . '</a></li>';
      }
    ?>
  </ul>
</body>
</html>

3、创建一个admin.php文件,用于管理网址列表。文件内容如下:

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>网址导航 - 管理</title>
</head>
<body>
  <?php
    session_start();
    if (!isset($_SESSION['username'])) {
      header('Location: login.php');
      exit();
    }

    if ($_SERVER['REQUEST_METHOD'] === 'POST') {
      $data = json_decode(file_get_contents('data.json'), true);
      $data['urls'][] = array(
        'name' => $_POST['name'],
        'url' => $_POST['url']
      );
      file_put_contents('data.json', json_encode($data));
      header('Location: admin.php');
      exit();
    }
  ?>
  <h1>网址导航 - 管理</h1>
  <form method="post">
    <label for="name">名称:</label>
    <input type="text" name="name" required>
    <br>
    <label for="url">网址:</label>
    <input type="url" name="url" required>
    <br>
    <button type="submit">添加</button>
  </form>
  <ul>
    <?php
      $data = json_decode(file_get_contents('data.json'), true);
      foreach ($data['urls'] as $key => $url) {
        echo '<li>';
        echo '<a href="' . $url['url'] . '" target="_blank">' . $url['name'] . '</a>';
        echo ' <a href="delete.php?key=' . $key . '">删除</a>';
        echo '</li>';
      }
    ?>
  </ul>
  <a href="logout.php">退出</a>
</body>
</html>

4、创建一个 login.php 文件,用于管理员登录。文件内容如下:

<?php
  session_start();
  if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    if ($_POST['username'] === 'admin' && $_POST['password'] === '123456') {
      $_SESSION['username'] = $_POST['username'];
      header('Location: admin.php');
      exit();
    } else {
      echo '用户名或密码错误';
    }
  }
?>
<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>网址导航 - 登录</title>
</head>
<body>
  <h1>网址导航 - 登录</h1>
  <form method="post">
    <label for="username">用户名:</label>
    <input type="text" name="username" required>
    <br>
    <label for="password">密码:</label>
    <input type="password" name="password" required>
    <br>
    <button type="submit">登录</button>
  </form>
</body>
</html>

5、创建一个 delete.php 文件,用于删除网址。文件内容如下:

<?php
  $key = $_GET['key'];
  $data = json_decode(file_get_contents('data.json'), true);
  unset($data['urls'][$key]);
  file_put_contents('data.json', json_encode($data));
  header('Location: admin.php');
  exit();
?>

6、创建一个 logout.php 文件,用于管理员退出。文件内容如下:

<?php
  session_start();
  session_destroy();
  header('Location: login.php');
  exit();
?>

以上就是一个简单的基于单文件无数据库的 PHP 网址导航程序的实现。您可以将这些文件放在一个目录下,通过浏览器访问 index.php 文件来查看网址列表,通过访问 admin.php 文件来管理网址列表。管理员用户名为 admin,密码为 123456。


本程序在php7.2下测试运行正常无报错


效果图:


本网站由提供服务

扫描二维码推送至手机访问。

版权声明:本文由主机测评网发布,如需转载请注明出处。

本文链接:https://23vps.com/post/73.html

标签: 建站
分享给朋友:

“简单的PHP网址导航程序” 的相关文章

Windows系统镜像下载网站

提到原版的Windows系统,各位老司机熟知的都是MSDN,但是这个网址里只能下载到Win10 1909以前的系统,后面的系统都要在新网站下载而且还得登录。而且这个对新手很不友好,当我发给装机小白的时候,他们都看不懂该选哪个。再给大家推荐一个下载Windows系统的地方,网址:https://hel...

syncthing文件同步软件

syncthing文件同步软件

这是一款可以满足办公、文件共享、团队协作、家庭存储等文件同步需求的开源软件,不依赖中心服务器,完全由自己掌握数据,安全可靠。Syncthing是免费且开源的,而且跨平台支持windows、mac、linux、android等主流平台,除了PC、手机以外,在部分路由器、树莓派等硬件上都能轻松运行,听说...

debian/ubuntu/centos7系统安装syncthing文件同步软件教程

debian/ubuntu/centos7系统安装syncthing文件同步软件教程

实验系统:debian10/ubuntu/CentOS7 64位用putty或者其他ssh工具连上服务器,然后用wget命令下载Syncthing的Linux 64位版,版本号对应官网上的最新版,请自行选择:wget https://github.com/syncthing/syncthi...

网络测压小工具webBenchmark

这是一个HTTP基准测试工具,可以用来耗尽服务器带宽或流量限额。特点:每个请求都有随机的 User-Agent可自定义请求参数中的 Referer并发线程取决于您的服务器性能。项目地址:https://github.com/maintell/webBenchmark/ 起源这个起源于MJJ论坛刷“剑...

解决宝塔环境装不上的问题

解决宝塔环境装不上的问题

主机哥最近安装宝塔面板总是出现各种报错,不是装面板时报错就是lnmp环境报错,折腾了好几天终于整出一套教程,100%解决宝塔环境装不上问题。首先确保你的网络连接稳定,特别时wifi网络下安装宝lnmp塔环境时会长时间卡住不动最后出现各种问题,最好用电脑有线网络连接,确保安装过程全程网络稳定,主机哥就...

parsec串流远程桌面神器,用远程桌面可以玩游戏

parsec串流远程桌面神器,用远程桌面可以玩游戏

主机哥最近发现一款不错的国外远程桌面工具,可以内网穿透直连,甚至可以流畅玩游戏看视频不卡顿,都说很厉害,自己台式机电脑上装了一下,但是用我自己笔记本电脑连接台式机时提示-15000错误:点击Read More弹出链接:https://support.parsec.app/hc/en-us/artic...