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 做个有关计算的小程序
  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化