如何将此PHP代码从使用$ _GET方法转换为$ _POST
<?php
if (isset($_GET['submit'])) {
if (checkCreditCard ($_GET['CardNumber'], $_GET['CardType'], $ccerror, $ccerrortext)) {
$ccerrortext = 'This card has a valid format';
} else {
echo 'not working';
}
}
?>
答案 0 :(得分:2)
这是在表格方面处理的。不要将'method'属性设置为GET,而是将其设置为POST。
这将告诉它将其作为POST变量传递,删除GET为您提供的限制。
就PHP而言,它不关心它是GET还是POST,除了它需要知道要查找映射的数组。即使这样,$ _REQUEST []关联数组也会在GET和POST数组中查找。
如果您好奇的GET不仅可以使URL中的数据易于阅读,还会限制您可以传递的数据大小(最大网址长度)
答案 1 :(得分:1)
你只是指的是?
<?php
if (isset($_POST['submit'])) {
if (checkCreditCard($_POST['CardNumber'], $_POST['CardType'], $ccerror, $ccerrortext)) {
$ccerrortext = 'This card has a valid format';
} else {
echo 'not working';
}
}
?>
虽然您可能像其他人提到的那样提交表单提交的客户端问题...
答案 2 :(得分:0)
数据如何到达它不是PHP问题。您可能希望对POST方法请求使用表单或隐藏表单:
<form method="POST">
<input type="hidden" name="CardNumber" value="value">
</form>
答案 3 :(得分:0)
您只需将脚本中的$ _GET更改为$ _POST即可。主要变化是数据是如何进入的。这应该在源页面中处理,数据从该页面发送到此脚本。
让我们考虑一个简单的例子:
<!-- Login.html -->
<form method='POST' action='yourscript.php'>
Email<input type='text' name='email'></input>
Password<input type='password' name='password'></input>
</form>
这里唯一的变化是方法属性的'POST'参数代替'GET'
答案 4 :(得分:0)
将您的PHP代码更改为此(将$ _GET的所有实例更改为$ _POST):
<?php
if (isset($_POST['submit'])) {
if (checkCreditCard ($_POST['CardNumber'], $_POST['CardType'], $ccerror, $ccerrortext)) {
$ccerrortext = 'This card has a valid format';
} else {
echo 'not working';
}
}
?>
将您的HTML表单开始标记从<form method="GET" ... >
更改为<form method="POST" ... >
(“...”表示您在标记中可能包含的其他属性)