【发布时间】:2021-12-06 08:25:32
【问题描述】:
我正在尝试将一些 PHP 变量和“引用”的 Javascript 变量名称传递到 Javascript 中的 URL。以下是运行良好的 PHP 变量
//Collect user's data
$amt = $_GET['amount'];
$email = $_GET['email'];
$firstname = "bas";
$lastname = "aik";
<script>
callback: function(response){
const referenced = response.reference;
window.location.href='successful.php?successfullypaid=referenced&email=<?php echo $email; ?>';
},
<script?
我已将我的整个代码粘贴在下面供您查看。
<?php
//sanitize form inputs
$sanitizer = filter_var_array($_POST, FILTER_SANITIZE_STRING);
//Collect user's data
$amt = $_GET['amount'];
$email = $_GET['email'];
$firstname = "bas";
$lastname = "aik";
//Make sure fields are not empty
//if(empty($amt)) {
// header("Location: deposit.php");
//}else{
?>
<div class="modal-body">
<p>Confirm Online payment to pay with paystack</p>
<form >
<script src="https://js.paystack.co/v1/inline.js"></script>
<button type="button" class="btn btn-success confirm-button" onclick="payWithPaystack()"> Confirm </button>
<a class="btn btn-danger" href="index.php"> Decline </a>
</form>
</div>
<!-- <div class="modal-footer">
<a href="index.php"> <button type="button" class="btn btn-primary">Go to Account</button></a>
</div>-->
</div>
</div>
</div>
</div>
<script>
function payWithPaystack(){
const api = "pk_test_71bd9a7489bee5e300594cabeac43344eed2ef5c";
var handler = PaystackPop.setup({
key: api,
email: '<?php echo $email; ?>',
amount: <?php echo $amt*100; ?>,
currency: "NGN",
ref: ''+Math.floor((Math.random() * 1000000000) + 1), // generates a pseudo-unique reference. Please replace with a reference you generated. Or remove the line entirely so our API will generate one for you
/*firstname: <?php echo $firstname; ?>,
lastname: <?php echo $lastname; ?>,*/
metadata: {
custom_fields: [
{
/*display_name: <?php echo $firstname; ?>,
variable_name: <?php echo $lastname; ?>,
value: "+2348012345678"*/
}
]
},
callback: function(response){
const referenced = response.reference;
window.location.href='successful.php?successfullypaid=referenced&email=<?php echo $email; ?>';
},
onClose: function(){
alert('window closed');
}
});
handler.openIframe();
}
</script>
我已经尝试了这个问题How can i pass multiple parameters in location.href in php? 的所有答案,但它们对我不起作用。
window.location.href='successful.php?successfullypaid=referenced&email=<?php echo $email; ?>';
这是唯一接近我想要的解决方案,PHP 变量工作正常,但 javascript 变量不起作用
【问题讨论】:
-
你可以把它连接起来:
'successful.php?successfullypaid=' + referenced + '&... -
看起来您的实际问题归结为“如何在 JavaScript 中将变量插入字符串”这个琐碎的话题,而您可以自己轻松研究这个话题......跨度>
-
不推荐使用常量FILTER_SANITIZE_STRING。请停止使用。
标签: javascript php