I am not aware of PHP language, I have this code in PHP, it is getting form value from previous page, checking secret ket etc and passing to another page with auto submitting the form. It is working fine, but I want to add an additional field "signed_date_time" that is $date_utc =gmdate("n/j/Y H:i:s A"); and pass it with this form. But receiving error on the next page.
<?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>