我试图更改$ _POST中字段的值,以便为已发布的内容加载正确的内容。
当用户访问我的网站时,$ _POST最初设置为
$_POST['order_page_content'] = 'list'
然后我在view.content.php文件中有一个表单,如下所示:
<td><form action='http://localhost/magento_soap_client/fulfilment' method='POST'>
<input type='hidden' name='order_page_content' value='info'/>
<input type='hidden' name='order_id' value='$order_info->order_id'/>
<input type='submit' value='View'/>
</form></td></tr>";
因此,单击按钮时,$ _POST ['order_page_content']的值应更改为info。因此页面的内容应该改变......
单击按钮后,我可以通过firebug看到帖子中的值已更改,只是我的页面未设置为
那么如何根据提交的帖子值更改内容?或者出了什么问题?
修改
好吧我们尝试了你所说的,但它仍然没有发生,我不知道我是否把它放在错误的地方或者是什么......我认为最简单的方法是向你展示我的代码。
决定它是哪个内容的脚本在这里: link
,调用它的脚本在这里:
public function get_html() {
$m_html = null;
if($_POST['order_page_content'] == 'list'){
$m_obj_html = new content();
$m_html = $m_obj_html->get_page_content('list');
}
else if($_POST['order_page_content'] == 'info'){
$m_obj_html = new content();
$m_html = $m_obj_html->get_page_content('info');
}
return $m_html;
}
post ['order_page_content']最初在bootstrap中设置为列表
由于
答案 0 :(得分:0)
Tom您可以使用if条件
进行检查if($_POST['order_page_content']=="info"){some code} else { some code}
答案 1 :(得分:0)
<input type='hidden' name='order_id' value='<?php echo $order_info->order_id; ?>'/>
如果它已经在php中使用
<input type='hidden' name='order_id' value='". $order_info->order_id ."'/>
答案 2 :(得分:0)
$ _ POST是从PHP全局设置的。
如果您的脚本中有某些内容,请执行以下操作:
$_POST['order_page_content'] = 'list';
因此,您的变量会在每个页面加载时被覆盖。 在设置之前尝试检查它。
if (!array_key_exists('order_page_content', $_POST)
{
$_POST['order_page_content'] = 'list';
}
答案 3 :(得分:0)
$ _ POST设置了客户端访问站点时发送的帖子数据。如果发送任何内容,您可以访问它。你的表单看起来应该有效。我看到的是,你让他们发送这个对照本地主机上的页面。 localhost是否运行带有PHP的apache或类似服务器?如果是,则在该页面上添加:
if(!empty($_POST['order_id'])){
print_r($_POST);
}
如果该表单在您发送给他们的页面上,并且您希望记住该值(在他们发送表单/发布数据后仍然存在,请执行此操作:
<input type='hidden' name='order_id' value='<?php if(!empty($_POST['order_id'])) echo $_POST['order_id']; ?>' />
答案 4 :(得分:0)
似乎问题就在这一行:
<form action='http://localhost/magento_soap_client/fulfilment' method='POST'>
行动中的网址正在重置所有内容,所以我现在已将其取出并将操作留空且工作正常
感谢你们的帮助