gorbunovart
@gorbunovart
veb4ik

Как вывести результат php в модальное окно?

Добрый день!
Подскажите, как сделать вывод результатов php скрипта в модальном окне.
Есть калькулятор: gorbunovv.ru/frontenden/yug-veter/calc
При отправке форма обрабатывается php скриптом и переходит на handler.php - дает результат.

Подскажите, каким образом вывести эти данные во всплывающем окне без перехода на handler.php

<?php

/**
 * Функция вывода цены и изображения. Вставьте свой html-код сюда.
 * @param $cost - стоимость, только число
 * @param $image - изображение, только название файла
 */
function calcOutput ($cost, $image) {
    echo '<p>Стоимость проекта: ' . $cost . 'р.</p>';
    echo '<p><img src="' . $image . '"></p>';
}

//забираем данные формы
$floors = $_POST['floors'];
$area = $_POST['area'];
$material = $_POST['material'];
$composition = $_POST['composition'];

//выводим данные формы
echo '<p>Этажность: ' . $floors . '</p>';
echo '<p>Площадь дома: ' . $area . '</p>';
echo '<p>Материал стен: ' . $material . '</p>';
echo '<p>Состав проекта: ' . $composition . '</p>';

switch ($material) {
    case 'Кирпичный дом':
        switch ($area) {
            case '100':
                switch ($floors) {
                    case '1':
                        $fImage = 'kir-1-100.jpg';
                        break;
                    case '2':
                        $fImage = 'kir-2-100.jpg';
                        break;
                }
                ....много кода...
                switch ($composition) {
                    case 'Эскиз':
                        $fCost = '75000';
                        break;
                    case 'АР+КР':
                        $fCost = '200000';
                        break;
                    case 'АР+КР+ВК+ОВ+ЭС':
                        $fCost = '325000';
                        break;
                    case 'Под ключ':
                        $fCost = '437500';
                        break;
                }
                break;
            case '300':
                switch ($floors) {
                    case '1':
                        $fImage = 'kar-1-150.jpg';
                        break;
                    case '2':
                        $fImage = 'kar-2-200.jpg';
                        break;
                }
                switch ($composition) {
                    case 'Эскиз':
                        $fCost = '90000';
                        break;
                    case 'АР+КР':
                        $fCost = '240000';
                        break;
                    case 'АР+КР+ВК+ОВ+ЭС':
                        $fCost = '390000';
                        break;
                    case 'Под ключ':
                        $fCost = '525000';
                        break;
                }
                break;
            case '400':
                switch ($floors) {
                    case '1':
                        $fImage = 'kar-1-150.jpg';
                        break;
                    case '2':
                        $fImage = 'kar-2-200.jpg';
                        break;
                }
                switch ($composition) {
                    case 'Эскиз':
                        $fCost = '120000';
                        break;
                    case 'АР+КР':
                        $fCost = '320000';
                        break;
                    case 'АР+КР+ВК+ОВ+ЭС':
                        $fCost = '520000';
                        break;
                    case 'Под ключ':
                        $fCost = '700000';
                        break;
                }
                break;
            case '500':
                switch ($floors) {
                    case '1':
                        $fImage = 'kar-1-150.jpg';
                        break;
                    case '2':
                        $fImage = 'kar-2-200.jpg';
                        break;
                }
                switch ($composition) {
                    case 'Эскиз':
                        $fCost = '150000';
                        break;
                    case 'АР+КР':
                        $fCost = '400000';
                        break;
                    case 'АР+КР+ВК+ОВ+ЭС':
                        $fCost = '650000';
                        break;
                    case 'Под ключ':
                        $fCost = '875000';
                        break;
                }
                break;
        }
        break;
}

calcOutput($fCost, 'images/' . $fImage);
  • Вопрос задан
  • 1585 просмотров
Решения вопроса 1
Зачем для решения такой задачи вообще использовать PHP? Вам достаточно сделать обработчик формы на JS и считать уже через него. Если же вам зачем-то требуется все это добро передавать в php файл, то опять-таки все считаете через JS, посредством AJAX передаете посчитанные данные в php.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Designik_by
SEO, Интернет-маркетинг
Можно все данные , которые выводятся через echo передать get-параметром при перенапралении обратно на ту же страницу через функцию header. Еще как вариант выполнять php файл при помощи AJAX. А вообще это здесь не нужно, все можно реализовать средствами JavaScript, без использования php
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы