html — не могу получить php для вывода формы

Я пытаюсь сделать функциональную форму с php. Первоначально я сделал файл «index.html» и другой файл с именем send.php. Но это не сработало. Я также попытался вставить «эхо» в send.php, и это сработало! Поэтому я преобразовал index.html в index.php и поместил код php внутри него перед закрывающим тегом тела тега, но это не сработало! Итак, я понял, что ошибка была в коде, но я скопировал эти строки из Интернета, и я не очень хорошо знаю php. Кто-нибудь может мне помочь? Это код:

Имя = «» поля верны, я проверил.

<?php
$name = ($_POST['name'];
$mail = ($_POST['mail'];
$budjet = ($_POST['budjet'];
$society = ($_POST['society'];
$message = ($_POST['message'];
$error = "Message sending failed";
$errorMessage = "Sorry your message can not be sent.";

//Validate first
if(empty($name)||empty($mail)||empty($budjet)||empty($society)||empty($message))
{
echo "Please fill al the fields";
header('Location: index.html');
}
//validate against any email injection attempts
if(IsInjected($email))
{
echo "Bad email value";
header('Location: index.html');
}

$msg = "Name : $name \r\n";
$msg = "Mail : $mail \r\n";
$msg = "Budjet: $budjet \r\n";
$msg = "Society: $society \r\n";
$msg = "Message : ".stripslashes($_POST['message'])."\r\n\n";
$msg = "User information \r\n";
$msg = "User IP : ".$_SERVER["REMOTE_ADDR"]."\r\n";
$msg = "Browser info : ".$_SERVER["HTTP_USER_AGENT"]."\r\n";
$msg = "User come from : ".$_SERVER["SERVER_NAME"];

$recipient = "myemail@mail.com"; // Change the recipient email adress to your adrees
$sujet =  "Mail da Contact di Hindeto";
$mailheaders = "From: $email\r\nReply-To: $email\r\nReturn-Path: $email\r\n";

if (!$error){

$sending = mail($recipient, $sujet, $msg, $mailheaders);

if ($sending) {
// If the message is sent we output a string to use it
echo "Sent";
} else {
// Display Error Message
echo $errorMessage;
}
} else {
echo $error; // Display Error Message
}// Function to validate against any email injection attempts
function IsInjected($str)
{
$injections = array('(\n+)',
'(\r+)',
'(\t+)',
'(%0A+)',
'(%0D+)',
'(%08+)',
'(%09+)'
);
$inject = join('|', $injections);
$inject = "/$inject/i";
if(preg_match($inject,$str))
{
return true;
}
else
{
return false;
}
}
?>

0

Решение

у вас есть синтаксическая ошибка в первых 5 строк удалить ( до $_POST

$name = $_POST['name'];
$mail = $_POST['mail'];
$budjet = $_POST['budjet'];
$society = $_POST['society'];
$message = $_POST['message'];

и после
header('Location: index.html'); а также header('Location: index.html'); Распечатать exit();

header('Location: index.html');
exit();
0

Другие решения

В дополнение к Jetawe, вы должны использовать isset () в утверждении проверки.

$name = ((!isset($_POST['name']) || empty($_POST['name'])) ? null:$_POST['name']);
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector