Задать вопрос

Где ошибка в коде 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)
?>
  • Вопрос задан
  • 205 просмотров
Подписаться 1 Оценить 6 комментариев
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
Stalker_RED
@Stalker_RED
Синтаксис if (statement) : ... endif; предназначен для шаблонов. Не стоит его употреблять в бизнес логике.

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

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽