如何用按钮更改php变量

时间:2014-02-13 10:35:59

标签: php html forms variables button

我想用一个按钮将日期变量$date='date DESC'更改为$date='ASC'。 我用提交按钮解决了这个问题,但我不想让我的页面再次加载。

<form action='' method='post'>
  <button name='submit' value='0'>down</button>
  <button name='submit' value='1'>up</button>
  </form>

php code

if($_POST['submit']==0)      { $datum='date DESC'; }
else if($_POST['submit']==1) { $datum='date ASC'; 

}

2 个答案:

答案 0 :(得分:2)

如果您只想加载页面的某个部分或不提交,则需要在此处使用AJAX。基本上如果你不想改变页面。

让我们给按钮提供一些ID。

<button id="b1" onclick="send_data(this.value)" value='0'>down</button>
<button id="b2" onclick="send_data(this.value)" value='1'>up</button>

现在我们将创建一个ajax对象

var ajaxObject;

if(window.XMLHttpRequest)
{
  // code for IE7+, Firefox, Chrome, Opera, Safari
  ajaxObject = new XMLHttpRequest();
}

else 
{ // code for IE6, IE5
  ajaxObject = new activeXObject("MICROSOFT.XMLHTTP");
}

现在创建将数据发送到服务器的功能。这将获取数据并将其作为GET条目发送到您的PHP页面。

function send_data(value)
{
ajaxObject.open("GET","phppage.php?submit=" . value . ,true);
ajaxObject.send();
}

你的PHP代码在后端应该可以正常工作。

这是使用ID用于两个单独的id(即两个单独的按钮)。但是同样的事情可以通过使用表单和一些轻微的修改来完成。

另一个简单的解决方案是在新页面(空白窗口,新窗口等)之后简单地提交并处理该过程。 :)

希望这会有所帮助..

答案 1 :(得分:1)

您的PHP代码在服务器端解释,但您的按钮单击是客户端操作。您需要将信息传输到服务器(您想要更改PHP变量值),这个“传输”称为 HTTP请求,这就是您所说的“再次加载页面”。您可以使用Ajax发出异步请求,但必须发生。

顺便说一句,如果你想订购另一个HTML元素(也许你的日期在<select>元素中?),你应该使用Javascript而不是PHP对它进行排序。