Mi interruptor de PHP siempre elige la última opción. Incluso si elijo la primera opción, mi código solo ejecutará la última opción. ¿Cómo puedo hacer para que elija la opción que yo elija?
Sitio web:
CÓDIGO:
<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
Resuelto. Olvidé llenar la variable $package con la entrada del usuario. He puesto esto antes de la declaración if y ahora funciona.
$package_id = $_POST['auto-listings-package'];cambiar el valor predeterminado a siguiente
default: echo "-".$p.'- Something went wrong. Please contact our staff.';y ver la salida.
eso lo ayudará a ver por qué no coincide con la condición (es posible que obtenga espacios).