140 / 74 / 18
Регистрация: 21.02.2014
Сообщений: 3,408
1

Как мне вернуть из php два параметра?

19.11.2019, 16:44. Показов 535. Ответов 6
Метки нет (Все метки)

Есть форма

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 $("form").submit(function() { //Change
        var th = $(this);
        $.ajax({
            type: "POST",
            url: "key.php", //Change
            data: th.serialize()
        }).done(function(data) {
 
            $.magnificPopup.open({
                items: {
                    src: '#small-dialog',
                    type: 'inline'
                }
            });
 
            $(".your-code").html(data);
 
            setTimeout(function() {
                // Done Functions
                th.trigger("reset");
            }, 1000);
        });
        return false;
    });
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<?php
 
$random_num = mt_rand(1, 1000);
$filed = "save.txt";
 
$instagram = $_POST["Инстаграм"];
$phone = $_POST["Телефон"];
 
if ($instagram == '' || $phone == '') {
 
    $error = "Заполните все поля!";
 
} else {
 
 
    file_put_contents($filed, "Инстаграм - " . $instagram . PHP_EOL, FILE_APPEND | LOCK_EX);
    file_put_contents($filed, "Телефон - " . $phone . PHP_EOL, FILE_APPEND | LOCK_EX);
    file_put_contents($filed, "Номер участника - " . $random_num . PHP_EOL, FILE_APPEND | LOCK_EX);
    file_put_contents($filed, "----------------------------------" . PHP_EOL, FILE_APPEND | LOCK_EX);
 
 
//echo $random_num;
 
    $project_name = trim($_POST["project_name"]);
    $form_subject = trim($_POST["form_subject"]);
 
    $admin_email = "Email@mail.ru";
    $to_email = "Email@mail.ru";
 
    $c = true;
 
 
    foreach ($_POST as $key => $value) {
        if ($value != "" && $key != "project_name" && $key != "admin_email" && $key != "form_subject") {
            $message .= "
            " . (($c = !$c) ? '<tr>' : '<tr style="background-color: #f8f8f8;">') . "
                <td style='padding: 10px; border: #e9e9e9 1px solid;'><b>$key</b></td>
                <td style='padding: 10px; border: #e9e9e9 1px solid;'>$value</td>
            </tr>
            ";
        }
    }
 
    $message2 .= "<tr style='background-color: #f8f8f8;'>
                <td style='padding: 10px; border: #e9e9e9 1px solid;'><b>Номер участника</b></td>
                <td style='padding: 10px; border: #e9e9e9 1px solid;'>$random_num</td>
            </tr> ";
 
    $message = "<table style='width: 100%;'>$message . $message2</table>";
    function adopt($text)
    {
        return '=?UTF-8?B?' . Base64_encode($text) . '?=';
    }
 
    $headers = "MIME-Version: 1.0" . PHP_EOL .
        "Content-Type: text/html; charset=utf-8" . PHP_EOL .
        'From: ' . adopt($project_name) . ' <' . $admin_email . '>' . PHP_EOL .
        'Reply-To: ' . $to_email . '' . PHP_EOL;
    mail($to_email, adopt($form_subject), $message, $headers);
 
    echo $random_num;
 
}
 
echo $error;
Как мне из php получить и $random_num; и $error; для размещения в разных html блоках?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.11.2019, 16:44
Ответы с готовыми решениями:

Как вернуть сразу два параметра?
Функция генерирует два параметра. Как вернуть оба параметра сразу?

Вернуть два параметра в JS
Привет, нужно вернуть две переменные в JS код. Один параметр отлавливаю легко, в шарп коде...

Шаблон принимает два типовых параметра. Если параметры - одни и те же типы, вернуть true
Помогите с задачей. Реализовать простой шаблон SameType. Этот шаблон не содержит никаких методов,...

Как мне вернуть выбор Windows 7?
поставил на С windows 7(кстати через Акронис глянул, он не на первом месте в списке лог. дисков...

6
68 / 60 / 10
Регистрация: 07.03.2019
Сообщений: 657
20.11.2019, 09:49 2
На стороне сервера
PHP
1
2
$array = ['random' => $random, 'error' => $error];
echo json_encode($array);
0
140 / 74 / 18
Регистрация: 21.02.2014
Сообщений: 3,408
20.11.2019, 11:33  [ТС] 3
Вообщем получилось через json сделать только вот все равно что то нето!!

Часть проверок происходит все равно на клиенте...как мне перенести всю валидацию на сервер?

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
$(document).ready(function() {
 
    $("form").submit(function() { //Change
        var th = $(this);
        $.ajax({
            type: "POST",
            url: "key.php", //Change
            data: th.serialize()
        }).done(function(data) {
 
            var outPutArray = JSON.parse(data);
 
            console.log(outPutArray);
 
            if (outPutArray[0] == null) {
 
            $(".errors").remove();
 
            $.magnificPopup.open({
                items: {
                    src: '#small-dialog',
                    type: 'inline'
                }
            });
 
            $(".your-code").html(outPutArray[1]);
 
            } else {
                $(".form").append('<div class="errors">' + outPutArray[0] + '</div>');
            }
 
            setTimeout(function() {
                // Done Functions
                th.trigger("reset");
            }, 1000);
        });
        return false;
    });
 
 
 
 
});
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<?php
 
$random_num = mt_rand(1, 1000);
$filed = "save.txt";
 
$instagram = $_POST["Инстаграм"];
$phone = $_POST["Телефон"];
$outPutArray = array();
 
if ($instagram == '' || $phone == '') {
 
    $error = "Заполните все поля!";
 
} else {
 
 
    file_put_contents($filed, "Инстаграм - " . $instagram . PHP_EOL, FILE_APPEND | LOCK_EX);
    file_put_contents($filed, "Телефон - " . $phone . PHP_EOL, FILE_APPEND | LOCK_EX);
    file_put_contents($filed, "Номер участника - " . $random_num . PHP_EOL, FILE_APPEND | LOCK_EX);
    file_put_contents($filed, "----------------------------------" . PHP_EOL, FILE_APPEND | LOCK_EX);
 
 
//echo $random_num;
 
    $project_name = trim($_POST["project_name"]);
    $form_subject = trim($_POST["form_subject"]);
 
    $admin_email = "cdelphi78@dev-working.ru";
    $to_email = "lar.palmcom700@mail.ru , 87010157373@mail.ru";
 
    $c = true;
 
 
    foreach ($_POST as $key => $value) {
        if ($value != "" && $key != "project_name" && $key != "admin_email" && $key != "form_subject") {
            $message .= "
            " . (($c = !$c) ? '<tr>' : '<tr style="background-color: #f8f8f8;">') . "
                <td style='padding: 10px; border: #e9e9e9 1px solid;'><b>$key</b></td>
                <td style='padding: 10px; border: #e9e9e9 1px solid;'>$value</td>
            </tr>
            ";
        }
    }
 
    $message2 .= "<tr style='background-color: #f8f8f8;'>
                <td style='padding: 10px; border: #e9e9e9 1px solid;'><b>Номер участника</b></td>
                <td style='padding: 10px; border: #e9e9e9 1px solid;'>$random_num</td>
            </tr> ";
 
    $message = "<table style='width: 100%;'>$message . $message2</table>";
    function adopt($text)
    {
        return '=?UTF-8?B?' . Base64_encode($text) . '?=';
    }
 
    $headers = "MIME-Version: 1.0" . PHP_EOL .
        "Content-Type: text/html; charset=utf-8" . PHP_EOL .
        'From: ' . adopt($project_name) . ' <' . $admin_email . '>' . PHP_EOL .
        'Reply-To: ' . $to_email . '' . PHP_EOL;
    mail($to_email, adopt($form_subject), $message, $headers);
 
 
}
 
array_push($outPutArray, $error, $random_num);
 
echo json_encode($outPutArray);
0
68 / 60 / 10
Регистрация: 07.03.2019
Сообщений: 657
20.11.2019, 12:46 4
Цитата Сообщение от Cdelphi78 Посмотреть сообщение
как мне перенести всю валидацию на сервер?
А зачем переносить пусть проверяет и на стороне клиента и на стороне сервера.
Напишите скрипт на стороне сервера для валидации
0
7 / 5 / 5
Регистрация: 22.04.2015
Сообщений: 39
20.11.2019, 16:44 5
по хорошему валидация должна быть и на фронте и на беке, на случай если у человека скрипты отключены например, с бэка возвращаем ошибку и обрабатываем ее уже в done
0
j2FunOnly
21.11.2019, 08:59
  #6

Не по теме:

Цитата Сообщение от n1ghtwolf Посмотреть сообщение
на случай если у человека скрипты отключены например
Чтобы слать данные на сервер браузер не нужен, без валидации данных на сервере найдётся какой-нибудь злоумышленник. Вопрос времени...

0
68 / 60 / 10
Регистрация: 07.03.2019
Сообщений: 657
22.11.2019, 17:36 7
Цитата Сообщение от n1ghtwolf Посмотреть сообщение
с бэка возвращаем ошибку и обрабатываем ее уже в done
Что за бред.
Скрипты в первую очередь должны обрабатываться на сервере, то что обрабатывается на стороне клиента не обязательно
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.11.2019, 17:36
Помогаю со студенческими работами здесь

Как мне вернуть мой диск д?
пацы а у мя такая фигня: после переустановки вндовс пропал диск д теперь в место диска е диск д а...

Как мне вернуть двумерный массив из функции ?
Здравствуйте, форумчане. Столкнулся с проблемой. Как мне вернуть из функции двумерный массив ?...

Подскажите как мне из класса вернуть ссылку на класс
Вот допустим у меня есть класс void OnPlayerShooted(int playerid); class PLAYER { public:...

Вынул невовремя или как мне вернуть данные на DVD
Всем привет! Ситуация такая: dvd-rw, win7, с диска запущен .doc-файл. Файл меня угораздило...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru