Вы можете использовать функции empty () и isset (). Если вы хотите, чтобы он работал с разными файлами, просто измените action='yourphp.php'
на html, который я вам даю, и store the PHP script
на этот файл yourphp.php
. Также вам нужно изменить index.html
на index.php
, чтобы активировать функции PHP.
PHP
<?php
error_reporting(0);
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$from = 'From: yoursite.com';
$to = 'contact@yoursite.com';
$subject = 'Customer Inquiry';
$body = "From: $name\n E-Mail: $email\n Message:\n $message";
if ($_POST['submit']){
if (!(empty($_POST['name']))) {
if (!(empty($_POST['email']))){
if (!(empty($_POST['message']))){
mail ($to, $subject, $body, $from);
echo '<p>Your message has been sent!</p>';
}else{
echo '<p>Fill your message please.</p>';}
}else {
echo '<p>Fill your email please.</p>';}
}else{
echo '<p>Fill your name please.</p>';}
}else{
echo '<p>Fill the form.</p>';}
?>
HTML
<html>
<form method="post" action="?">
<table>
<tr><td>Name</td><td><input type='text' name='name' id='name'/></td></tr>
<tr><td>Email</td><td><input type='text' name='email' id='email'/></td></tr>
<tr><td>Message</td><td><input type='text' name='message' id='message'/></td></tr>
<tr><td></td><td><input type='submit' name='submit' id='submit'/></td></tr>
</table>
</form>
</html>
С наилучшими пожеланиями!
Команда &
заставляет команду запускаться в фоновом режиме.
Из man bash
:
Если команда завершена оператором управления & amp; shell выполняет команду в фоновом режиме в подоболочке. Оболочка не ждет завершения команды, а статус возврата - 0.
blockquote>
Если не указано иначе, команды переходят на передний план. У вас есть только один процесс «переднего плана», выполняющийся в одном сеансе оболочки. & Amp; символ указывает командам работать в фоновом процессе и немедленно возвращается в командную строку для дополнительных команд.
sh my_script.sh &
Фоновый процесс будет не оставаться в живых после закрытия сеанса оболочки , SIGHUP завершает все запущенные процессы. По умолчанию в любом случае. Если ваша команда работает долго или работает неограниченно (т. Е. Микросервис), вам нужно отложить ее без nohup, чтобы она оставалась бегущей после отключения от сеанса:
nohup sh my_script.sh &
EDIT: Появляется быть серой областью, касающейся закрытия фоновых процессов, когда & amp; используется. Просто имейте в виду, что оболочка может закрыть ваш процесс в зависимости от вашей ОС и локальных конфигураций (особенно на CENTOS / RHEL): https://serverfault.com/a/117157 .
Кроме того, вы можете использовать «& amp;» чтобы запускать много процессов через одно (1) ssh-соединения, чтобы поддерживать минимальное количество терминалов. Например, у меня есть один процесс, который прослушивает сообщения для извлечения файлов, второй процесс прослушивает сообщения для загрузки файлов: используя «& amp;» Я могу запускать обе службы в одном терминале через одно подключение ssh к моему серверу. ***** Я только понял, что эти процессы проходят через "& amp;" также будет «оставаться в живых» после закрытия сессии ssh! довольно аккуратно и полезно, если ваше соединение с сервером прерывается **