我试图根据人们使用Stripe的货币收取不同的费用。我认为if语句中的另一个条件是足够的,但无论我选择美元还是欧元,它似乎都是假的,并执行else语句。
//** Now to provide different plans for differnet currencies. **''
if(isset($_POST['subscription_purchase']) && 'currency' == 'euro')
{
echo 'Euro is working';
}
elseif(isset($_POST['subscription_purchase']) && 'currency' == 'dollar')
{
echo 'Dollars are working';
}
else
{
echo 'This shouldnt happen';
}
The form which this acts on is the following:
<form action="charge.php" method="post">
<h3>Sign up to get a new quote every day! Just €400 a month! <small>(Subscription)</small></h3>
<input type="hidden" name="subscription_purchase" value="subscription_purchase" />
<input type="text" name="email" placeholder="Email Address" />
<input type="password" name="password" placeholder="Password" />
<select name="currency" id="currency">
<option value="euro">Euro</option>
<option value="dollar">USD</option>
<option value="rand">RND</option>
<option value="pounds">GBP</option>
</select>
<script
src="https://button.stripe.com/v1/button.js" class="stripe-button"
data-key="<?php echo $stripe['publishable_key']; ?>"
data-amount=40000
data-description="Wilde monthly subscription"
data-label="Checkout">
</script>
</form>
这是因为您正在尝试比较两个不同的字符串
'currency' == 'euro'
你要做的是比较来自你的表单的帖子,像这样:
$_POST['currency'] == 'euro'
,对于elseif
$_POST['currency'] == 'dollar'
导致:
if(isset($_POST['subscription_purchase']) && $_POST['currency'] == 'euro')
{
echo 'Euro is working';
}
elseif(isset($_POST['subscription_purchase']) && $_POST['currency'] == 'dollar')
{
echo 'Dollars are working';
}
else
{
echo 'This shouldnt happen';
}