Уже задавал ранее, но так и не разобрался. 1. Есть HTML-страница, на которой есть форма и кнопка "отправить". В данный момент кнопка отправить передаёт данные на mail.php и письмо отправляется на email. 2. Есть php-файл, в котором есть всё нужное для записи данных из формы в БД. Вот фрагмент html формы (укоротил, там и так всё понятно).
<form method="POST" action="mysql.php" class="callback form-order">
<div class="row">
<div class="col-md-3">
<label>
<p>Имя:</p>
<input type="text" name="name" placeholder="Имя" required>
</label>
</div>
<div class="col-md-3">
<label>
<p>Фамилия:</p>
<input type="text" name="surname" placeholder="Фамилия" required>
</label>
</div>
<div class="text-center">
<button class="button">Отправить</button>
</div>
Вот файл mail.php. В нём всё работает, письма уходят исправно.
<?php
$method = $_SERVER['REQUEST_METHOD'];
//Script Foreach
$c = true;
if ( $method === 'POST' ) {
$project_name = trim($_POST["project_name"]);
$admin_email = trim($_POST["admin_email"]);
$form_subject = trim($_POST["form_subject"]);
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>
";
}
}
} else if ( $method === 'GET' ) {
$project_name = trim($_GET["project_name"]);
$admin_email = trim($_GET["admin_email"]);
$form_subject = trim($_GET["form_subject"]);
foreach ( $_GET 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>
";
}
}
}
$message = "<table style='width: 100%;'>$message</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: '.$admin_email.'' . PHP_EOL;
mail($admin_email, ado
pt($form_subject), $message, $headers );
?>
И вот файл mysql.php
<?php
//Параметры подключения в БД
$host = "11"; //имя хоста
$database = "11"; //имя базы
$user = "11"; //пользователь
$password = "11"; //пароль
$dbtable = "Users"; //таблица
if (isset($_POST['name'])){
//переменные с формы
$name = strip_tags(trim($_POST['name']));
$surname = strip_tags(trim($_POST['surname'];
$secondname = strip_tags(trim($_POST['secondname'];
$phone = strip_tags(trim($_POST['phone'];
$birthdate = strip_tags(trim($_POST['birthdate'];
$birhtplace = strip_tags(trim($_POST['birhtplace'];
$citizenship = strip_tags(trim($_POST['citizenship'];
$doc = strip_tags(trim($_POST['doc'];
$docid = strip_tags(trim($_POST['docid'];
$docpublish = strip_tags(trim($_POST['docpublish'];
$docdate = strip_tags(trim($_POST['docdate'];
$regterm = strip_tags(trim($_POST['regterm'];
$comment = strip_tags(trim($_POST['comment'];
$date = date("Y-m-d");
$time = date("H:i:s")
//установим соединение с бд
$link = mysqli_connect($host, $user, $password, $database)
or die("Ошибка " . mysqli_error($link));
$sql = "INSERT INTO ".$dbtable." (order_date, order_time, name, surname, second_name, phone, birth_date, birht_place, citizenship, doc, doc_id, doc_publish, doc_date, term) VALUES ('$date', '$time', '$name', '$surname', '$secondname', '$phone', '$birthdate', '$birhtplace', '$citizenship', '$doc', '$docid', '$docpublish', '$docdate', '$regterm', '$comment')"
//внесём данные с формы в БД
$res = mysqli_query($sql) or trigger_error(mysqli_error()." in ". $sql);
mysqli_close($link);
}
?>
Вопрос заключается в том, как мне корректно передать данные из формы в БД через этот файл mysql.php чтобы одновременно ещё и письмо ушло через mail.php ? Не тыкайте меня, пожалуйста, а объясните подробно, что именно я делаю не так.
Добавляю скрипты js.
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-135456404-1');
</script>
<script>
function gtag_report_conversion(url) {
var callback = function () {
if (typeof(url) != 'undefined') {
window.location = url;
}
};
gtag('event', 'conversion', {
'send_to': 'AW-760147299/6bfxCOvJm5YBEOPau-oC',
'transaction_id': '',
'event_callback': callback
});
return false;
}
</script>
Разобрался. Были синтаксические ошибки в php. Запрос к MySQL был составлен неверно, количество полей должно быть равно количеству values и столбцов за исключение id (автоинкремент).
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Я сделал обычный маршрут, чтобы просто возвращал мне вид через контроллер (если сделать функцию для маршрута и туда добавить: return view('manageraddworker');...
Есть сайт на субдомене, на нём уже установлен WordPress, но нужно ещё в этот же субдомен засунуть второй сайт на чистом phpПосоветуйте - возомжно...
Я делаю чат на сайте, и для этого у меня есть сервер или дежурный скрипт, который принимает сообщения и отправляет сообщения клиенту