大家好我试图在条带简单实现中使用php变量 只有在此人登录时才会从数据库中获取金额,否则将显示登录按钮。我的问题是,当我把代码放在echo语句中时,php变量($ amount)不再正常传递。这是我的代码:
if(isset($_SESSION['u_id'])){
$newId = $_SESSION['u_id'];
$sql = "SELECT Amount FROM costumers WHERE id='$newId'";
$result = mysqli_query($conn, $sql);
if ($row = mysqli_fetch_assoc($result)){
$amount=$row['Amount'];
}
echo'<form class = "payment" action="/your-server-side-code" method="POST">
<script
src="https://checkout.stripe.com/checkout.js" class="stripe-button"
data-key="pk_test"
data-amount="$amount"
data-name="Company"
data-description="Card Payment"
data-image="https://stripe.com/img/documentation/checkout/marketplace.png"
data-locale="auto">
</script>
<script>
document.getElementsByClassName("stripe-button-el")[0].style.display = \'none\';
</script>
<button type="submit" class="yourCustomClass">Pay with Card</button>
</form>';
} else{
echo'<div class="logInButton" onclick = "location.href = \'loginindex.php\'">
<a href="loginindex.php">Login/Sign up</a></div>';
}
提前致谢!
答案 0 :(得分:0)
首先尝试在echo上使用sprintf传递$ amount值,如下所示:
echo sprintf("<form class = 'payment' action='/your-server-side-code' method='POST'>
<script
src='https://checkout.stripe.com/checkout.js' class='stripe-button'
data-key='pk_test'
data-amount='%s'
data-name='Company'
data-description='Card Payment'
data-image='https://stripe.com/img/documentation/checkout/marketplace.png'
data-locale='auto'>
</script>
<script>
document.getElementsByClassName('stripe-button-el')[0].style.display = 'none';
</script>
<button type='submit' class='yourCustomClass'>Pay with Card</button>
</form>",$amount);
然后,通过输入var_dump($ amount)来检查$ amount的值,它的类型应该是一个字符串。
我使用PDO而不是MYSQLI,所以为了更好地解析id并获得金额值,你可以使用它:
$db=new pdo("mysql:host=localhost;dbname=madb","user","mdp");
$sql = "SELECT Amount FROM costumers WHERE id= ?";
$result = $db->prepare($sql);
$result->execute([$newId]);
$amount=($result->rowCount()!=0) ? $result->fetch()['Amount'] : "noValue";
而不是:
$sql = "SELECT Amount FROM costumers WHERE id='$newId'";
$result = mysqli_query($conn, $sql);
if ($row = mysqli_fetch_assoc($result)){
$amount=$row['Amount'];
}
祝你好运。