从表单帖子填充PHP变量

时间:2011-11-29 19:25:36

标签: php

我正在尝试从HTML表单中传递一个值。基本上我在表单中有1个文本框,表单发布到自身。我用它来检查优惠券代码是否有效。如果我在文本字段中输入有效的优惠券并点击键盘上的回车键,则会调用该页面(发布到同一页面),在文本框中传递值但不应用折扣。但是,如果我输入有效的优惠券代码,而不是点击键盘上的回车键并点击提交按钮,则会调用该页面并传递价值和优惠券代码设置

我使用了一些调试工具来捕获正在发送的内容,并通过POST发送值。

这只是IE中的一个问题。 FIREFOX,CHROME和其他浏览器工作得很好。我同时试过IE8和IE7,而且不会工作。

我认为无论是按Enter键还是使用提交按钮,它仍应该应用折扣。有没有人有任何想法我可以改变以纠正这个并使其在IE中工作?这个页面用HTML和PHP编写。

3 个答案:

答案 0 :(得分:1)

在表单中添加隐藏字段,例如

<input type="hidden" name="submitted" value=1>

然后在您的页面上,如果按下提交按钮,而不是执行代码,请检查是否

$_POST['submitted']==1

答案 1 :(得分:0)

我将假设您的输入为type="image"。无论什么不道德的原因,IE只发送图像的坐标点击提交而不是其值。因此,“输入”键永远不会为您提供IE中提交图像的值。解决方案是将其更改为type="submit"并为其提供背景图像,或者在表单中添加隐藏的输入以指示提交。

答案 2 :(得分:0)

一些示例代码会很好,但与此同时,您是否尝试过转储$ _Post?

<?php
    print_r($_Post);
?>

这将返回表单中提交的所有内容的数组,这样您就可以了解它的期望。

另外,你如何计算折扣? 需要考虑的是,不是重新提交整个页面,而是考虑AJAX HTTPRequest
然后,您可以让他们键入代码,点击查找按钮,然后页面将其传递到另一个计算完成的页面,然后将值返回到第一页。这样你甚至没有重新加载所有东西的麻烦,它看起来更顺畅。