2016-12-04 26 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

非常感谢! –

相关问题