Где ошибка в коде php калькулятора?

Я совсем чайник в чистом PHP, нужна Ваша помощь.
Начал писать калькулятор, который выдает клиенту примерную стоимость мероприятия.
AJAX передает в PHP данный формы.

А вот собственно PHP код. Который не возвращает вообще ничего.
Помогите!

<?php
$company = $_POST['company-name'];
$contact = $_POST['contact-name'];
$email = $_POST['email'];
$phone = $_POST['phone'];
$people = intval($_POST['people']);
$event_type = $_POST['event_type'];
$conf_menu = intval($_POST['conf-menu']);
$corp_menu = intval($_POST['corp-menu']);
$conf_date = $_POST['conf-date'];
$conf_long = intval($_POST['conf-long']);
$corp_long = intval($_POST['corp-long']);
$conf_place = intval($_POST['conf-place']);
$conf_eat = $_POST['conf-eat'];
$conf_add_eat = $_POST['conf-add-eat'];
$conf_hall = $_POST['conf-hall'];
$conf_other = $_POST['conf-other'];
$corp_other = $_POST['corp-other'];


//Определение цены кофе брэйка
$coffee = function() {
    if ( $conf_menu == 1):
        $coffee_price = 150;
    elseif ( $conf_menu == 2):
        $coffee_price = 300;
    else:
        $coffee_price = 500;
    endif;
    return $coffee_price;
};
//Определение цены банкета
$banket = function (){
    if ($corp_menu == 1):
        $banket_price = 3000;
    elseif ($corp_menu == 2):
        $banket_price = 3500;
    else:
        $banket_price = 4500;
    endif;
    return $banket_price;
};


//Определим цену проживания
$place = function ($conf_place){
    $cottege = 1000; //Коттедж
    $oneplace = 1500; //Одноместное
    $twoplace = 2000; //Двухместное
    if ($conf_place == 1):
        $conf_place_price = $cottege;
    elseif ($conf_place == 2):
        $conf_place_price = $oneplace;
    else:
        $conf_place_price = $twoplace;
    endif;
    return $conf_place_price;
};

//Стоимость кофебрэйка
$coffee_summ = $coffee * $people;
//Стоимость банкета
$banket_summ = $banket * $people;

$result = function (){
    if ($event_type == 1):
        return $coffee_summ;
    else: return $banket_summ;
    endif;
};
echo $result();
echo json_encode($result)
?>
  • Вопрос задан
  • 204 просмотра
Решения вопроса 1
Stalker_RED
@Stalker_RED
Синтаксис if (statement) : ... endif; предназначен для шаблонов. Не стоит его употреблять в бизнес логике.

И не стоит злоупотреблять переменными как именами функций.
И эти функции нигде не вызываются. Выражение $banket_summ = $banket * $people; НЕ выполняет функцию $banket.
Чтобы она вызывалась нужно писать $banket_summ = $banket() * $people; в js тоже для вызова функции нужно круглые скобочки писать, бзв.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы