@hypero

Обработчик php?

Всем привет.

Есть такой обработчик:
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    if (isset($_POST['repair_number'])) {$repair_number = $_POST['repair_number'];}
    if (isset($_POST['coorepation_number'])) {$coorepation_number = $_POST['coorepation_number'];}
    if (isset($_POST['coop_number'])) {$coop_number = $_POST['coop_number'];}
    if (isset($_POST['speciality'])) {$speciality = $_POST['speciality'];}
    if (isset($_POST['name'])) {$name = $_POST['name'];}
    if (isset($_POST['phone'])) {$phone = $_POST['phone'];}
    if (isset($_POST['formData'])) {$formData = $_POST['formData'];}
    $to = "info@site.ru"; /*Укажите ваш адрес электронной почты*/
    $headers = "Content-type: text/plain; charset = utf-8";
    $subject = "$formData";

    $message = ?> 

    <?php 
        if(isset($repair_number)) { echo "Номер: \n\n" . $repair_number;
        if(isset($coorepation_number)) { echo "Номер: \n\n" . $coorepation_number;
        if(isset($coop_number)) { echo "Номер: \n\n" . $coop_number;
        if(isset($speciality)) { echo "Специализация сервиса: \n\n" . $speciality;
        if(isset($name)) { echo "Имя: \n\n" . $name;
        if(isset($phone)) { echo "Номер: \n\n" . $phone;
    
    $send = mail ($to, $subject, $message, $headers);
    if ($send == 'true')
    {
        echo "<center>Спасибо за отправку вашего сообщения!</center>";
    }
    else 
    {
        echo "<center><b>Ошибка. Сообщение не отправлено!</b></center>";
    }
} else {
    http_response_code(403);
    echo "Попробуйте еще раз";
}
?>


Можно ли делать так? В переменную message кладем условия, если есть такая переменная, то выводим.
При отправке такая ошибка: Parse error: syntax error, unexpected 'if' (T_IF) in /home/site/site.in.ua/auto/form.php on line 15

Можно ли так делать? Или как сделать правильно?
  • Вопрос задан
  • 188 просмотров
Пригласить эксперта
Ответы на вопрос 3
l3ftoverz
@l3ftoverz
Туды сюды
Parse error: syntax error, unexpected 'if' (T_IF) in ... on line 15

Там написано в чём ошибка, в каком файле и какой строке, в чём проблема то?
Вы не видите тут ошибок?:

$message = ?>

<?php


Как минимум делать так, уже как-то странно, дальше особо не смотрел.
$send = mail (...);

if ($send == 'true') {

}


Это же база, вы сравниваете то, что вернула функция со строкой, пусть это даже и будет работать, вам просто повезло, что PHP привёл строку к true.

echo "<center>
Возвращать ответ с какой-то вёрсткой - верх глупости.
Ответ написан
Kasperenysh
@Kasperenysh
Рецидив в особо острой форме))
$message = "Hello World";
        if(isset($repair_number)) { $message .= "Номер: \n\n" . $repair_number;
        if(isset($coorepation_number)) { $message .= "Номер: \n\n" . $coorepation_number;
        if(isset($coop_number)) { $message .= "Номер: \n\n" . $coop_number;
        if(isset($speciality)) { $message .= "Специализация сервиса: \n\n" . $speciality;
        if(isset($name)) { $message .= "Имя: \n\n" . $name;
        if(isset($phone)) { $message .= "Номер: \n\n" . $phone;

Попробуйте так...
Ответ написан
@hypero Автор вопроса
Ребят.

Не приходит письмо.
Из-за чего может быть такое?

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    if (isset($_POST['repair_number'])) {$repair_number = $_POST['repair_number'];}
    if (isset($_POST['coorepation_number'])) {$coorepation_number = $_POST['coorepation_number'];}
    if (isset($_POST['coop_number'])) {$coop_number = $_POST['coop_number'];}
    if (isset($_POST['speciality'])) {$speciality = $_POST['speciality'];}
    if (isset($_POST['name'])) {$name = $_POST['name'];}
    if (isset($_POST['phone'])) {$phone = $_POST['phone'];}
    if (isset($_POST['formData'])) {$formData = $_POST['formData'];}
    $to = "info@site.ru"; /*Укажите ваш адрес электронной почты*/
    $headers = "Content-type: text/plain; charset = utf-8";
    $subject = "$formData";

    $message = "";
        if(isset($repair_number)) { $message .= "Номер: \n\n" . $repair_number;
        if(isset($coorepation_number)) { $message .= "Номер: \n\n" . $coorepation_number;
        if(isset($coop_number)) { $message .= "Номер: \n\n" . $coop_number;
        if(isset($speciality)) { $message .= "Специализация сервиса: \n\n" . $speciality;
        if(isset($name)) { $message .= "Имя: \n\n" . $name;
        if(isset($phone)) { $message .= "Номер: \n\n" . $phone;
    
    $send = mail ($to, $subject, $message, $headers);
?>


На формах id такие:
1) form id="form-repair"
2) form id="form-cooperation"
3) form id="form-cooperation-two"

$('form').each(function() {
		$(this).submit(function () {
            var formID = $(this).attr('id'); // Получение ID формы
            var formNm = $('#' + formID);
            $.ajax({
                type: 'POST',
                url: 'form.php', // Обработчик формы отправки
                data: formNm.serialize(),
                success: function (data) {
                    // Вывод текста результата отправки в текущей форме
                    $(formNm).html(data);
                }
            }).done(function(){
            	$('#modal-thank').arcticmodal();
            });
            return false;
        });


+ после нажатия на кнопку submit, открывается модальное окно и ошибка:
Parse error
: syntax error, unexpected end of file in
/home/site/site.in.ua/auto/form.php
on line
23
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
App-Smart Краснодар
от 2 000 до 2 500 eur.
Кабель.РФ Саранск
от 70 000 руб.
от 40 000 до 80 000 руб.
20 июл. 2019, в 16:06
100000 руб./за проект
20 июл. 2019, в 13:34
2000 руб./за проект