我的PHP信用卡表单无法识别某些输入和错误

我的PHP信用卡表单无法识别某些输入和错误,php,forms,credit-card,Php,Forms,Credit Card,我在跟随约翰·康德的教程,学习如何使用PHP和错误检测来授权.net的信用卡输入表单 它很完美,但我决定添加输入框来输入付款金额,并删除了不必要的送货地址要求 现在,当提交的表单输入不正确或为空时,它们不再变为红色,“金额”框实际上也无法识别它是空的还是满的。错误框仍然会弹出,以显示提交的坏信用卡 这是页面(不包括简化故障排除的设计) 编辑:删除了与信用卡无关的代码以及诸如州和年份到期日期之类的内容,使其更小。最底部的PHP代码用于红色错误弹出框,当用户错误填写表单时,弹出框会显示给用户 如果

我在跟随约翰·康德的教程,学习如何使用PHP和错误检测来授权.net的信用卡输入表单

它很完美,但我决定添加输入框来输入付款金额,并删除了不必要的送货地址要求

现在,当提交的表单输入不正确或为空时,它们不再变为红色,“金额”框实际上也无法识别它是空的还是满的。错误框仍然会弹出,以显示提交的坏信用卡

这是页面(不包括简化故障排除的设计)

编辑:删除了与信用卡无关的代码以及诸如州和年份到期日期之类的内容,使其更小。最底部的PHP代码用于红色错误弹出框,当用户错误填写表单时,弹出框会显示给用户

如果有人想比较,我在教程的这一部分:

代码:

>信用卡号

>安全代码

>帐单地址

>城市

>邮政编码

>电子邮件地址

您提交的内容有错误。请进行必要的更正,然后重试。
最后,我想将checkout按钮移到div表单之外,所以我制作了如下按钮(在设计的页面中,而不是上面的示例中)


该按钮起作用,但未在“我的(在制品)”设计页面上显示值作为标签。

此:

<button form="myform" input type="submit" value="Checkout">

不是
元素的构造方式。您似乎试图更改
。这很可能就是你想要的:

<button form="myform" type="submit">Checkout</button>
结帐
看起来您还在两个不同的表单上复制
id
,这是无效的。删除包装提交按钮的表单上的
id
,或将其更改为其他内容。

此:

<button form="myform" input type="submit" value="Checkout">

不是
元素的构造方式。您似乎试图更改
。这很可能就是你想要的:

<button form="myform" type="submit">Checkout</button>
结帐

看起来您还在两个不同的表单上复制
id
,这是无效的。删除包装提交按钮的表单上的
id
,或者将其更改为其他内容。

在我看来,这实际上是几个问题。因为有好几个,我可能会搞混一些东西,有人会指出,如果我有什么明显的错误

回复:“金额”框实际上可以识别它是空的还是满的--

您不能将金额拆分为它自己的形式,并让它与其他表单元素中的其余元素一起使用。要发布的所有内容都必须在同一表单元素中。(除非你使用html5表单属性,但我认为IE还不支持这一点。如果我错了,请有人纠正我。即使如此,如果我回忆正确,你也不会添加更多表单元素。)参见:查看接受答案中的注释以了解更多详细信息

关于不随错误而更改的框--

>套件/Apt#
数组是用元素名设置键的,因此in_数组应该搜索errors数组的键。(请注意,这将更改标签颜色,而不是输入框本身。如果要更改框本身,请在框上放置类设置代码。)

按钮的地址在另一个答案中:

<button form="myform" type="submit">Checkout</button>
结帐
HTML5在表单元素之外。同样,不确定IE是否支持这一点。假设您的目标浏览器支持表单属性,则无需将其包装在表单元素中

<button type="submit">Checkout</button>
结帐

在我看来,这实际上是几个问题。因为有好几个,我可能会搞混一些东西,有人会指出,如果我有什么明显的错误

回复:“金额”框实际上可以识别它是空的还是满的--

您不能将金额拆分为它自己的形式,并让它与其他表单元素中的其余元素一起使用。要发布的所有内容都必须在同一表单元素中。(除非你使用html5表单属性,但我认为IE还不支持这一点。如果我错了,请有人纠正我。即使如此,如果我回忆正确,你也不会添加更多表单元素。)参见:查看接受答案中的注释以了解更多详细信息

关于不随错误而更改的框--

>套件/Apt#
数组是用元素名设置键的,因此in_数组应该搜索errors数组的键。(请注意,这将更改标签颜色,而不是输入框本身。如果要更改框本身,请在框上放置类设置代码。)

按钮的地址在另一个答案中:

<button form="myform" type="submit">Checkout</button>
结帐
HTML5在表单元素之外。同样,不确定IE是否支持这一点。假设您的目标浏览器支持表单属性,则无需将其包装在表单元素中

<button type="submit">Checkout</button>
结帐

表单内部。

请仅包含所需的最低代码。。整理您提供的内容很困难。您希望我们为您调试的代码太多了。请将不必要的代码编辑掉。请仅包含所需的最少代码。。对您提供的内容进行排序很困难。您希望我们为您调试的代码太多了。已将不必要的代码编辑掉。谢谢,我今晚晚些时候会尝试一下……我成功地使用了该按钮,但我没有