转换到PHP发布

时间:2013-04-09 22:25:51

标签: php

如何将此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';
}
}
?>

5 个答案:

答案 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" ... >(“...”表示您在标记中可能包含的其他属性)