2016-12-04 69 views
0

這個問題看起來非常相似,但是它在任何地方都沒有得到回答。我想要的是我正在設計一個帶登錄選項的網站。有一個名爲「announcements.php」的特定頁面,我希望網站訪問者能夠看到管理員發佈的公告。所以,爲了做到這一點,我做了一個只有管理員可以訪問和添加公告的頁面(「newbroadcast.php」)。該頁面包含一個表單,管理員可以編寫公告並提交。然而這項聲明應該是所有到店announcements.php在另一頁上永久發佈一些表單數據

代碼(newbroadcast.php)

<div class="newbroad"> 
    <img src="content/images/broadcast.png" align="center" width="160px" height="160px"> 
    <form method="post" action="announcements.php"> 
     <strong>BROADCAST :&nbsp;&nbsp;</strong> 
     <input type="text" name="broadd" placeholder="Write your new announcement here..."> 
     <input type="submit" name="submit">&#160;&#160;<input type="reset" name="reset"> 
    </form> 
</div> 

代碼(announcements.php)

<div class="markcontent"> 
    <center><h1 class="whiteboard">CDC DEPARTMENT WHITEBOARD</h1></center> 
    <hr> 
    <?php 
     $mynewbroad=$_POST["broadd"]; 
    ?> 
    <marquee behavior="scroll" direction="down" scrollamount="2" onmouseover="this.stop();" onmouseout="this.start();"> 
     <center> 
     <?php 
      echo $mynewbroad; 
     ?> 
     </center> 
    </marquee> 

的用戶訪問究竟發生了什麼?

一切工作正常,但是當管理員寫一個新的公告或廣播它張貼在頁面上(「announcements.php」),我真的想要發佈它。然而,這不是永久性的。每當我打開頁面本身,它顯示一個錯誤=>未定義索引:broadd

他們是否有任何方式來永久顯示管理員所做的廣播?這個錯誤的可能解決方案是什麼?

+0

這個問題已經被之前經常回答......問題是,$ _ POST [ 'broadd']沒有設置。正如@MawiaHL所說,您需要將數據存儲在某處,然後在加載頁面時再次獲取數據... – 2016-12-04 11:36:05

回答

0

將數據發佈到PHP頁面不會自動「存儲」您發佈的信息。它僅僅將數據從newbroadcast.php發送到announcements.php,並且announcements.php可以完成它所編程的數據。在你的情況下,announcements.php正在顯示數據 - 但未存儲將來。

儲存以備將來的數據,你必須保存在某個地方它的服務器並重新因子announcements.php上檢查服務器這樣的數據,並且(如果這樣的數據中發現)顯示所有通過某種循環的公告。

那麼如何存儲公告?

您可以使用PHP命令(如fwritefile_put_contents)將公告保存到特定文件夾中,然後編寫一個循環來讀取該文件夾中的所有文件,並將它們吐出到頁面上。

但更好的方法是使用數據庫。

參考文獻:

http://www.tutorialrepublic.com/php-tutorial/php-mysql-insert-query.php

https://www.youtube.com/watch?v=mpQts3ezPVg

+0

非常感謝! –

相關問題