Как убрать редирект после отправки формы?

SEO_87
На сайте с 05.08.2008
Offline
104
4208

Нашел рабочий скрипт формы, но после отправки идет редирект на domen.ru/mail.php

<?php

$post = (!empty($_POST)) ? true : false;
if($post) {
$email = htmlspecialchars(trim($_POST['email']));
$name = htmlspecialchars(trim($_POST['name']));
$tel = htmlspecialchars(trim($_POST['name']));
$company = htmlspecialchars(trim($_POST['name']));
$sub = htmlspecialchars(trim($_POST["sub"]));
$message = htmlspecialchars(trim($_POST['message']));
$error = '';
if(!$name) {$error .= 'Укажите свое имя. ';}
if(!$email) {$error .= 'Укажите электронную почту. ';}
if(!$tel) {$error .= 'Укажите свой телефон. ';}
if(!$company) {$error .= 'Укажите компанию. ';}
if(!$sub) {$error .= 'Укажите тему обращения. ';}
if(!$message || strlen($message) < 1) {$error .= 'Введите сообщение. ';}
if(!$error) {
$address = "mail@ya.ru"; $mes = "Почта: ".$email."\n\nИмя: ".$name."\n\nТема: " .$sub."\n\nТелефон: ".$tel."\n\nКомпания: ".$company."\n\nСообщение: ".$message."\n\n";
$send = mail ($address,$sub,$mes,"Content-type:text/plain; charset = UTF-8\r\nReply-To:$email\r\nFrom:$name <contact>");
if($send) {echo 'ок';}
}
else {echo '<div class="err">'.$error.'</div>';}
}
?>

<form class="form-right" id="contact" action="mail.php" method="post">

пробовал через header сделать и через js - не получается:gm:

Антон Лавеев
На сайте с 31.10.2005
Offline
425
#1

action="mail.php" - замените на то, куда вам нужно или удалите, если нужно, чтобы форма вызывала ту страницу, на которой она расположена.

☠️☠️☠️
SEO_87
На сайте с 05.08.2008
Offline
104
#2
Tarry:
action="mail.php" - замените на то, куда вам нужно или удалите, если нужно, чтобы форма вызывала ту страницу, на которой она расположена.

в mail.php скрипт формы расположен

S
На сайте с 13.10.2014
Offline
171
#3

SEO_87, а что вы хотели сделать?

У вас данные из формы передаются скрипту в файле mail.php, который проводит валидацию и отправляет письмо.

если не будет обращение к mail.php у вас просто письмо никуда не уйдет после сабмита

Антон Лавеев
На сайте с 31.10.2005
Offline
425
#4

Тоесть у вас происходит "редирект" с mail.php на mail.php? Редирект, то когда с одного адреса вас перенаправляют на другой. А то что у вас, это штатное поведение html-формы, в которой нажали кнопку с type="submit". Если вы хотите изменить это поведение, то смотрите в cторону js, делается несложно, но знания кое какие понадобятся. Впроочем всё гуглится за минуты.

S
На сайте с 30.09.2016
Offline
469
#5
SEO_87:
пробовал через header сделать и через js - не получается😒

Надо либо через header сделать, либо через js :)

И да, ajax - это тоже js

Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
Z0
На сайте с 03.09.2009
Offline
757
#6

так в mail.php в конце сделайте редирект на ту страницу, на которую надо:


if($send) {
header("Location: /нужная_страница.php");
}

Если я вас правильно понял.

Если надо совсем без редиректов, то форму отправляейте аяксом... 🍿

SEO_87
На сайте с 05.08.2008
Offline
104
#7
ziliboba0213:
так в mail.php в конце сделайте редирект на ту страницу, на которую надо:

if($send) {
header("Location: /нужная_страница.php");
}

Если я вас правильно понял.
Если надо совсем без редиректов, то форму отправляейте аяксом... 🍿

Спасибо! Странно почему у меня с первого раза не получилось)

S
На сайте с 13.10.2014
Offline
171
#8
SEO_87:
Спасибо! Странно почему у меня с первого раза не получилось)

Это потому, что надо было написать не "убрать редирект, а добавить редирект " в стартпосте)))

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий