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'];