PHP if if显示不同的图像

时间:2013-08-29 23:20:34

标签: php forms

所以我正在为我的公司更改php应用程序。我理解基础知识,直到现在我一直在改变。基本上该程序具有管理员端和用户端。已经设置了一个存储用户信息的数据库,我可以添加用户/编辑。我想要做的是在管理员端有一个小脚本来选择“可用”或不可用单选按钮,然后在用户端它将回显不同的图像为“可用”或“不可用”。这是否有效或者我是否必须将复选框值存储在数据库中,以便保留值?

管理

<form name="f1" method="POST" action="SAVE TO DATABASE??">
 <input class="no-check-border-win" type="checkbox" name="Availability" value="y"     />Available<br/> 
 <input type="submit"/>
</form>

用户

    if((isset($_POST['Availability'])) && ($_POST['Availability'] == 'y'))
{
echo '<img src="http://mysite/image1.png" border=0>';
}
else
{
echo '<img src="http://mysite/image2.png" border=0>'
}

3 个答案:

答案 0 :(得分:1)

您必须将值存储在数据库中。

要做到这一点,你必须这样做:

  1. 连接数据库

    $mysql = mysqli_connect('localhost','username','password');

  2. 选择数据库

    mysqli_select_db("databasename",$mysql);

  3. 将值存储到表中(假设您创建了一个名为settings的表) mysqli_query("INSERT INTO settings (name,value) VALUES ('active','1') ON DUPLICATE KEY UPDATE value='1' ",$mysql);

  4. 现在该值存储在数据库中。

    要获得它,您必须执行以下操作:

    1. 连接数据库

      $mysql = mysqli_connect('localhost','username','password');

    2. 选择数据库

      mysqli_select_db("databasename",$mysql);

    3. 从表settings

      中检索值

      $res = mysqli_query("SELECT value FROM settings WHERE name='available'",$mysql);

      $row = mysqli_fetch_array($res);

      $value = $row['value'];

      现在$value将包含您存储在db中的值(在这种情况下将包含1

答案 1 :(得分:0)

您需要将值存储在某处。它可以是一个文件。或者您可以换出图像,并强制您的客户端在每个页面加载时重新加载它。但是db解决方案是更好的解决方案。

答案 2 :(得分:0)

$ _ POST是发送到服务器的数据,但只有$ _POSTed才能使用。即,当您单击表单时,数据将被发送到设置的action="",另一个文件,相同的文件等等,但之后不会保存在任何地方,因此您以后无法访问它以便将其提供给您的用户。

您需要将设置存储在某处,数据库是理想的选择 然后,您的管理区域将管理您的用户并保存您在数据库中为他们设置的设置。当他们登录/查看页面时,为他们正在查看的页面提供给他们的脚本将从数据库中获取数据(您已保存)并将其提供给他们。