Добавление двух переменных

Я нахожусь в процессе разработки проверенной формы php для веб-сайта ресторана, которая направляет пользователя на страницу с благодарностью, отображая детали его бронирования после того, как они нажали кнопку подтверждения. В настоящее время у меня есть 2 переменные, одна с именем ‘party’, другая с именем ‘vip’. Обе эти переменные отображают строковое значение при отражении. Однако я хочу присвоить им значение int, а затем сложить их вместе, чтобы отобразить итоговую цену для пользователя.

В настоящее время у меня есть этот код, который, кажется, не работает:

<b>Total Reservation Costs: </b> £
<?php
if ( $party == "1 Person (+£5)" )
{
$party = 5;
}
elseif if ( $party == "2 People (+£10)" )
{
$party = 10;
}
elseif if ( $party == "3 People (+£15)" )
{
$party = 15;
}
elseif if ( $party == "4 People (+£20)" )
{
$party = 20;
}
elseif if ( $party == "5 People (+£25)" )
{
$party = 25;
}
elseif if ( $party == "6 People (+£30)" )
{
$party = 30;
}
elseif if ( $party == "7 People (+£35)" )
{
$party = 35;
}
elseif if ( $party == "8 People (+£40)" )
{
$party = 40;
}
elseif if ( $party == "9 People (+£45)" )
{
$party = 45;
}
elseif if ( $party == "10+ People (+£50)" )
{
$party = 50;
}

if ( $vip == "Yes" )
{
$vip = 5;
}
elseif if ( $vip == "No" )
{
$vip = 0;
}

echo $party + $vip;
?>

Если кто-нибудь знает, как я могу заставить это работать, я был бы очень благодарен, я новичок в веб-языках, поэтому я заранее прошу прощения, если мой ответ не очень ясен. Спасибо.

0

Решение

Вместо использования строки, чтобы определить количество людей, почему бы просто не использовать int

Вот полная программа

<form action="" method="POST">
<select name="party">
<option value="1">1 People (+£5)</option>
<option value="2">2 People (+£10)</option>
<!-- ... -->
<option value="10">10+ People (+£50)</option>
</select>
<input type="checkbox" name="vip" />
<input type="submit" value="Confirm Reservation" />
</form>

<?php
if (isset($_POST['party']) && is_numeric($_POST['party'])) {
$party = (int)$_POST['party'];
$vip = isset($_POST['vip']) ? 5 : 0;
echo "Total is: " . (($party * 5) + $vip);
}

а также elseif if должно быть просто else if

2

Другие решения

Это не иначе, если это

Общая стоимость бронирования:  £
<?php
if ( $party == "1 Person (+£5)" ){
$party = 5;
}
elseif( $party == "2 People (+£10)" ){
$party = 10;
}
elseif( $party == "3 People (+£15)" ){
$party = 15;
}
elseif( $party == "4 People (+£20)" ){
$party = 20;
}
elseif( $party == "5 People (+£25)" ){
$party = 25;
}
elseif ( $party == "6 People (+£30)" ){
$party = 30;
}
elseif( $party == "7 People (+£35)" ){
$party = 35;
}
elseif( $party == "8 People (+£40)" ){
$party = 40;
}
elseif( $party == "9 People (+£45)" ){
$party = 45;
}
elseif( $party == "10+ People (+£50)" ){
$party = 50;
}
else{    $party = 0;
}
if ( $vip == "Yes" ){
$vip = 5;
}
elseif ( $vip == "No" ){
$vip = 0;
}
else{
$vip = 0;
}
echo $party + $vip;
?>

`

Я бы также предложил добавить еще оператор, как я добавил в своем ответе, для обработки любых других случаев, которые могут возникнуть.

0