PHP 开关总是选择最后一个选项
PHP switch always chooses last option
我的 PHP 开关总是选择最后一个选项。即使我选择第一个选项,我的代码也只会执行最后一个选项。我怎样才能让它选择我选择的选项?
网站:
代码:
<select name='auto-listings-package' id='auto-listings-package' class='auto-listings-package'>
<?php foreach ( $packages as $package_id => $package ) : ?>
<option value="<?php echo esc_attr( $package_id ); ?>" data-price="<?php echo esc_attr( auto_listings_raw_price( $package['price'] ) ); ?>"><?php echo wp_kses_post( $package['label'] ) ?></option>
<?php
if(isset($_POST['auto-listings-purchase'])) {
if($package_id == '2823') {
wp_redirect('https://www.google.com');
} elseif ($package_id == '2633') {
wp_redirect('https://www.helemaaldebom.nl');
} else {
echo 'Something went wrong. Please contact our staff.';
}
}
?>
<?php endforeach; ?>
</select>
HTML
将默认更改为以下
default:
echo "-".$p.'- Something went wrong. Please contact our staff.';
并查看输出。
这将帮助您了解为什么它与条件不匹配(您可能会得到空格)。
解决了。我忘记用用户的输入填充 $package 变量。我把它放在 if 语句之前,现在它可以工作了。
$package_id = $_POST['auto-listings-package'];
我的 PHP 开关总是选择最后一个选项。即使我选择第一个选项,我的代码也只会执行最后一个选项。我怎样才能让它选择我选择的选项?
网站:
代码:
<select name='auto-listings-package' id='auto-listings-package' class='auto-listings-package'>
<?php foreach ( $packages as $package_id => $package ) : ?>
<option value="<?php echo esc_attr( $package_id ); ?>" data-price="<?php echo esc_attr( auto_listings_raw_price( $package['price'] ) ); ?>"><?php echo wp_kses_post( $package['label'] ) ?></option>
<?php
if(isset($_POST['auto-listings-purchase'])) {
if($package_id == '2823') {
wp_redirect('https://www.google.com');
} elseif ($package_id == '2633') {
wp_redirect('https://www.helemaaldebom.nl');
} else {
echo 'Something went wrong. Please contact our staff.';
}
}
?>
<?php endforeach; ?>
</select>
HTML
将默认更改为以下
default:
echo "-".$p.'- Something went wrong. Please contact our staff.';
并查看输出。
这将帮助您了解为什么它与条件不匹配(您可能会得到空格)。
解决了。我忘记用用户的输入填充 $package 变量。我把它放在 if 语句之前,现在它可以工作了。
$package_id = $_POST['auto-listings-package'];