dtf579777 2018-02-27 08:53
浏览 110
已采纳

通过管理员在PHP中选择的表单更改其他用户的页面

I am stuck with a bit of a problem.

I have to build an application that shows everyone that visits the webserver a message wich sais if there is maintenance or a failure on the server.

Wich of the 2 messages gets shown to the user depends on what the admin sets it to. This is done by clicking one of two buttons on the admin page.

I got it working to the point where if I click one of the two buttons on the admin page it redirects me to the index page and shows the right text.

My problem is that the choice I made is a one time thing and will not be saved. Meaning that if anyone else visits the site he/she gets to see an empty index page.

I am not allowed to use a database to store the choice i made, so I will have to store the variable somewhere else.
But I have no idea how to save a variable without a database.

My code goes something like this:

Index.php:

if(!session_id()) session_start();

$filename = $_SESSION['filename'];

 $page = $_POST['sb'];
 // // echo $page;
 //
 if($page == 'Maintenance')
 {
      require './pages/index.html';
 }
 elseif($page == 'Failure')
 {
      require './pages/fail.html';
 }

Admin.php:

 if(!session_id()) session_start();
 //include("global.php");
 $_SESSION['filename'] = $page;

 require './functions.php';

 $page = $_POST['sb'];
 change();

Functions.php:

   if(!session_id()) session_start();
    $filename = "test";
    if(!isset($_SESSION['filename'])) {
        $_SESSION['filename'] = $filename;
    }
         echo '<div class="switch">' .
                   '<form method="POST" action="../index.php">' .
                   '<input class="button" type="submit" name="sb" value="Maintenance">' .


          '<input class="button" type="submit" name="sb" value="Failure">' .
           '</form>' .
           '</div>';
}
  • 写回答

1条回答 默认 最新

  • dongmibeng5885 2018-02-27 09:15
    关注

    I would recommend using a txt file as a place to store your data and retrieve it in the index file to display the correct page.

    Posting "sb" to txt file on server:

    <?php
    if($_POST['sb'] != ""){
    $file = fopen('sbstore.txt', 'w');
    fwrite($file, $_POST['sb']);
    fclose($file);
    }
    ?>
    

    Retrieving data from txt file on server:

    <?php
    if (filesize('sbstore.txt') != 0){
    $txt_file = file_get_contents('sbstore.txt');
    $sb = $txt_file;
    } else {
    $sb = "Default";
    }
    ?>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值