如何在PHP中从上一页接收的表单字段中传递新值
我不知道PHP语言,我在PHP中有这段代码,它从上一页获取表单值,检查密钥等等,并通过自动提交表单传递到另一页。它工作正常,但我想添加一个附加字段“signed_date_time”,即$date_utc=gmdate(“n/j/Y H:I:sa”);并将其与此表格一起传递。但下一页的接收错误如何在PHP中从上一页接收的表单字段中传递新值,php,Php,我不知道PHP语言,我在PHP中有这段代码,它从上一页获取表单值,检查密钥等等,并通过自动提交表单传递到另一页。它工作正常,但我想添加一个附加字段“signed_date_time”,即$date_utc=gmdate(“n/j/Y H:I:sa”);并将其与此表格一起传递。但下一页的接收错误 <?php define ('HMAC_SHA256', 'sha256'); define ('SECRET_KEY', '123456'); function sign ($params)
<?php
define ('HMAC_SHA256', 'sha256');
define ('SECRET_KEY', '123456');
function sign ($params) {
return signData(buildDataToSign($params), SECRET_KEY);
}
function signData($data, $secretKey) {
return base64_encode(hash_hmac('sha256', $data, $secretKey, true));
}
function buildDataToSign($params) {
$signedFieldNames = explode(",",$params["signed_field_names"]);
foreach ($signedFieldNames as $field) {
$dataToSign[] = $field . "=" . $params[$field];
}
return commaSeparate($dataToSign);
}
function commaSeparate ($dataToSign) {
return implode(",",$dataToSign);
}
?>
<form method="POST" name="frm" id="frm" action="https://" >
<?php
foreach($_REQUEST as $name => $value) {
$params[$name] = $value;
}
?>
<?PHP
$date_utc =gmdate("n/j/Y H:i:s A");
foreach($params as $name => $value) {
echo "<input type=\"hidden\" id=\"" . $name . "\" name=\"" . $name . "\" value=\"" . $value . "\"/>\n";
}
echo "<input type=\"hidden\" id=\"signature\" name=\"signature\" value=\"" . sign($params) . "\"/>\n";
?>
<input type="hidden" name="signed_date_time" value="<?php echo $date_utc; ?>">
</form>
“但是在下一页接收错误。”-哪个错误?实际上,它会转到支付处理程序网站,而他们不会给出错误的详细信息。然后你需要将这个问题交给他们。我们如何知道支付处理程序需要什么样的数据格式以及可能出现了什么问题?在错误检查方面,似乎问题出在日期格式上。系统接受的日期为2021-06-02T14:59:04Z,而$date_utc经过的日期为2021年2月6日下午3:02:32。任何关于如何将其转换为可接受格式的想法。