Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.68/22: Рейтинг темы: голосов - 22, средняя оценка - 4.68
0 / 0 / 1
Регистрация: 28.11.2014
Сообщений: 44

Как передать переменные в другой файл?

22.07.2019, 19:21. Показов 4503. Ответов 32
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрвй вечер! Подскажите, пожалуйста, как передать значения $name, $email, $phone, $text в файл email_template.php?
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
 
$recepient = "";
$sitename = "";
 
$theme = "Заявка с сайта";
$name = trim($_POST["your-name"]);
$email = trim($_POST["your-email"]);
$phone = trim($_POST["your-tel"]);
$text = trim($_POST["your-message"]);
 
 
//$message = "Тема: $theme \nИмя: $name \nEmail: $email \nТелефон: $phone \nТекст: $text";
 
$pagetitle = "Новая заявка с сайта ..."";
 
$htmlContent  =  file_get_contents ( "email_template.php" );
    
mail($recepient, $pagetitle, $htmlContent, "Content-type: text/html; charset=\"utf-8\"\n From: $recepient");
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.07.2019, 19:21
Ответы с готовыми решениями:

передать переменные в другой файл
есть файл mymod.php он выводит HTML код, мне нужно подключить этот файл к файлу obrob.php который является обработчиком JS скрипта. Если я...

Как передать переменные в другой класс?
Всем привет. Не могу передать переменную в другой класс. Буду благодарна, если вы мне объясните в чем проблема. Вот у меня есть класс...

Как передать переменные из одного класса в другой?
Привет всем! Не могу разобраться с вопросом: я создал программу в WinForms, суть ее в том, что есть Form1 в ней пользователь вводит 4 числа...

32
 Аватар для Пифагор
2172 / 1655 / 840
Регистрация: 10.01.2015
Сообщений: 5,207
22.07.2019, 20:38
Либо указать email_template.php обработчиком формы, либо создать файл с контентом в их лице и подключить его в email_template.php. Так же можно использовать сессии.
1
0 / 0 / 0
Регистрация: 13.02.2016
Сообщений: 6
23.07.2019, 07:27
В файле email_template.php добавить:
PHP
1
include_once 'template.php';
0
Невнимательный
 Аватар для ft4l
3115 / 1296 / 359
Регистрация: 08.02.2013
Сообщений: 7,574
Записей в блоге: 2
23.07.2019, 12:31
Я-бы сказал вместо того $htmlContent = file_get_contents ( "email_template.php" );
сделать это include_once 'template.php';
где template.php примерно такого содержания
PHP
1
2
3
4
5
<?php
$htmlContent=<<<EOT
<tag>$pagetitle</tag>
...any html
EOT;
Добавлено через 16 минут
вроде есть вариант с$htmlContent=include('template.php');
где template.php примерно такого содержания
PHP
1
2
3
4
5
6
<?php
// ....... 
return <<<EOT
<tag>$pagetitle</tag>
...any html
EOT;
0
0 / 0 / 1
Регистрация: 28.11.2014
Сообщений: 44
23.07.2019, 13:37  [ТС]
У меня файл "email_template.php" выглядит таким образом. Не пойму, куда вписывать "return <<<EOT...".
HTML5
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
<?php
<html>
    <head>
        <title></title>
        <style type="text/css"></style>
    </head>
    <body>
<div>
    <table>
        <tbody>
            <tr>
                <td>
                    <div></div>
    <table>
        <tbody>
            <tr>
                <td>
    <table>
        <tbody>
            <tr>
                <td>
                    <h1>Новая заявка с сайта ...</h1>
                </td>
            </tr>
        </tbody>
    </table>
 
</td>
 </tr>
<tr>
<td>
 
    <table>
        <tbody>
            <tr>
                <td>
 
    <table>
        <tbody>
        <tr>
            <td>
                <div>
 
                <p></p>
 
                <h2></h2>
 
    <table>
        <tfoot>
            <tr>
                <th">Имя:</th>
                    <td>$name</span>
                    </td>
            </tr>
            <tr>
                <th">Email:</th>
                    <td>$email</td>
            </tr>
            <tr>
                <th>Телефон:</th>
                    <td>
                        <span>$phone</span></td>
                    </tr>
            <tr>
                <th>Текст:</th>
                    <td>
                        <span>$text</span>
                    </td>
                </tr>
        </tfoot>
    </table>
 
        
</tr>
</tbody>
    </table>
                </div>
            </td>
        </tr>
    </tbody>
</table>
 
        </td>
            </tr>
        </tbody>
    </table>
 
            </td>
                </tr>
                    </tr>
                </tbody>
            </table>
                        </td>
                    </tr>
                </tbody>
            </table>
        </div>
    </body>
</html>
Добавлено через 18 минут
Как можно указать файл обработчиком формы?

Добавлено через 18 минут
По поводу обработчика - понятно, но мне нужно, чтобы обработчиком был другой файл.
0
Невнимательный
 Аватар для ft4l
3115 / 1296 / 359
Регистрация: 08.02.2013
Сообщений: 7,574
Записей в блоге: 2
23.07.2019, 13:57
Тогда в начале это <?php
$htmlContent=<<<EOT
в конце это EOT; в начале строки
и в коде вместо $htmlContent = file_get_contents ( "email_template.php" ); это include 'email_template.php';
0
0 / 0 / 1
Регистрация: 28.11.2014
Сообщений: 44
24.07.2019, 12:53  [ТС]
Не знаю, у меня ничего не получается. Когда пишу этот EOT, вообще, письмо не отправляется на почту или приходит пустое.

Добавлено через 37 минут
Нашла вот такой образец, но как применить его - не пойму: https://codereview.stackovernet.com/ru/q/20734. Может кто-то подскажет?
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
24.07.2019, 14:46
Лучший ответ Сообщение было отмечено novicho_k как решение

Решение

Цитата Сообщение от novicho_k Посмотреть сообщение
Не знаю, у меня ничего не получается. Когда пишу этот EOT, вообще, письмо не отправляется на почту или приходит пустое.
не нужен EOT

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$recepient = "";
$sitename = "";
 
$theme = "Заявка с сайта";
$name = trim($_POST["your-name"]);
$email = trim($_POST["your-email"]);
$phone = trim($_POST["your-tel"]);
$text = trim($_POST["your-message"]);
 
 
//$message = "Тема: $theme \nИмя: $name \nEmail: $email \nТелефон: $phone \nТекст: $text";
 
$pagetitle = "Новая заявка с сайта ...";
 
ob_start();
 
require_once 'email_template.php';
 
$htmlContent = ob_get_clean();
        
mail($recepient, $pagetitle, $htmlContent, "Content-type: text / html;charset = \"utf-8\"\n From: $recepient");
Добавлено через 2 минуты
и, естественно, выводите переменные в email_template.php
0
0 / 0 / 1
Регистрация: 28.11.2014
Сообщений: 44
24.07.2019, 14:53  [ТС]
У меня так вообще не отправляется письмо на почту((
0
3 / 3 / 0
Регистрация: 31.10.2017
Сообщений: 85
24.07.2019, 15:27
Просто воспользуйтесь сессией
0
0 / 0 / 1
Регистрация: 28.11.2014
Сообщений: 44
24.07.2019, 15:31  [ТС]
CodeSeeker, как это реализовать в моем случае?
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
24.07.2019, 15:47
Лучший ответ Сообщение было отмечено novicho_k как решение

Решение

Цитата Сообщение от fanatikus Посмотреть сообщение
mail($recepient,
Цитата Сообщение от fanatikus Посмотреть сообщение
$recepient = "";
а куда вы отправляете?

Добавлено через 47 секунд
Цитата Сообщение от CodeSeeker Посмотреть сообщение
Просто воспользуйтесь сессией
нафига, в данном случае, сессия?

Добавлено через 2 минуты
аналог вашего скрипта
все прекрасно отправляет
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$pagetitle = "Новая заявка с сайта ...";
$to = "email0@gmail.com";
$subject = 'сообщение';
$a = 'a';
$b = 'b';
 
ob_start();
 
require_once 'file.php';
 
$htmlContent = ob_get_clean();
 
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
 
mail($to, $subject, $htmlContent, $headers);
file.php
PHP/HTML
1
2
3
<p><?php echo $pagetitle; ?></p>
<p><?php echo $a; ?></p>
<p><?php echo $b; ?></p>
0
0 / 0 / 1
Регистрация: 28.11.2014
Сообщений: 44
24.07.2019, 16:02  [ТС]
fanatikus, отправляю на свою почту, просто здесь ее не указывала. Когда пишу
PHP
1
$htmlContent  = file_get_contents ("email_template.php");
, все отправляется, но без значения переменных. Если пишу
PHP
1
require_once 'email_template.php';
- письмо не отправляется вообще. Клацаю по кнопке отправки - и без толку.
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
24.07.2019, 16:39
Цитата Сообщение от novicho_k Посмотреть сообщение
Если пишу

require_once 'email_template.php';
покажите полностью код с этой строкой
0
0 / 0 / 1
Регистрация: 28.11.2014
Сообщений: 44
24.07.2019, 17:01  [ТС]
fanatikus,
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
$recepient = "...";
$sitename = "...";
 
$theme = "Заявка с сайта";
$name = trim($_POST["your-name"]);
$email = trim($_POST["your-email"]);
$phone = trim($_POST["your-tel"]);
$text = trim($_POST["your-message"]);
 
$pagetitle = "Новая заявка с сайта ..."";
 
ob_start();
 
require_once 'email_template.php';
 
$htmlContent = ob_get_clean();
    
mail($recepient, $pagetitle, $htmlContent, "Content-type: text/html; charset=\"utf-8\"\n From: $recepient");
Добавлено через 4 минуты
fanatikus, вот такая ошибка возникает: POST http://.../mail.php 500 (Internal Server Error)
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
24.07.2019, 18:21
https://drive.google.com/file/... sp=sharing

Добавлено через 37 минут
novicho_k, посмотрели кино?
я удалю
0
0 / 0 / 1
Регистрация: 28.11.2014
Сообщений: 44
24.07.2019, 18:41  [ТС]
fanatikus, да, посмотрела, спасибо. Можете удалять. Пытаюсь понять, что у меня не так.
0
Невнимательный
 Аватар для ft4l
3115 / 1296 / 359
Регистрация: 08.02.2013
Сообщений: 7,574
Записей в блоге: 2
24.07.2019, 19:07
Цитата Сообщение от novicho_k Посмотреть сообщение
500 (Internal Server Error)
Должно быть можно в error_log (или куда у Вас сервер складывает сообщения о ошибках) увидеть в чём ошибки.
0
0 / 0 / 1
Регистрация: 28.11.2014
Сообщений: 44
24.07.2019, 21:28  [ТС]
ft4l, ругается на 24 строчку в файле common.js:
JavaScript
1
console.error(xhr.statusText);
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
$('#form').submit(function(e) {
    e.preventDefault();
    var err = 0;
    $('.validate').each(function(){
        if(!$(this).val()){
            $(this).addClass('error');
            err++;
        }
        else $(this).removeClass('error');
    });
    if(!err) send_form($(this),'mail.php');
    else $('.status').html('');
});
 
function send_form(obj,url) {
    $.ajax({
        type: 'POST',
        url: url,
        data: $(obj).serialize(),
        success: function(data) {
            $('.status').html('<div class="success">Спасибо за Ваше сообщение! Оно успешно отправлено.</div>' + data);
        },
        error: function(xhr){
            console.error(xhr.statusText);
        }
    });
}
 
$('#form')[0].reset();
Но если пишу
PHP
1
$htmlContent  = file_get_contents ("email_template.php");
- такой ошибки нет. Не пойму, в чем дело.
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
24.07.2019, 21:35
Цитата Сообщение от novicho_k Посмотреть сообщение
ругается на 24 строчку в файле common.js:
как ругается, матом?
текст ошибки
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.07.2019, 21:35
Помогаю со студенческими работами здесь

Глобальные переменные в winforms. Как передать массив из одного метода в другой
Собственно нужно создать динамический трехмерный массив: unsigned char ***scr; scr = new unsigned char**; for (i = 0; i...

Как можно передать переменные в файл php по ссылке методом POST?
Есть ajax элемент на странице. В файле-обработчике есть такие строки: if($_POST &amp;&amp; $_POST &amp;&amp; $_POST == 'update'){ $arFields...

Как передавать переменные в другой файл проекта?
Помогите, please, с передачей значения переменной из одного файла проекта в другой. Как это делается?

Передать локальные переменные другой функции
Есть функция (допустим, main), в ней объявлены локальные переменные. Есть другая функция, к которой обращается main. Эта функция (func) по...

Как передать объект класса в другой файл?
Здравствуйте, подскажите, как правильно передать объект класса в функцию в другом файле. Хочу написать функцию change(), которая бы меняла...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru