Как завершить процесс PHP, если переменная пуста / пуста - PullRequest
0 голосов
/ 06 мая 2019

У меня есть страница отправки формы, которая помещает поля на страницу подтверждения, которая отправляет электронное письмо с использованием PHP, но я продолжаю получать пустые сообщения, когда страница запускается как отдельная страница, а не со страницы отправки формы.Форма обязательна, но я хочу добавить в PHP оператор, который останавливает процесс, если переменная $ email пуста / пуста.

<?php
    // variables start
    $team = $_POST['team'];
    $manager = $_POST['manager'];
    $email = $_POST['email'];
    $phone = $_POST['phone'];
    $address = $_POST['address'];
    $city = $_POST['city'];
    $state = $_POST['state'];
    $zipcode = $_POST['zipcode'];
    $classification = $_POST['classification'];
    $registration = $_POST['registration'];
    $division = $_POST['division'];
    // variables end

    // email start
    $subject = "Thank you for registering you team";    
    $message = "<html>...

В дополнение к остановке процесса, если $ emailпеременная пуста / пуста, я также хочу перенаправить пользователя на нашу домашнюю страницу.

Ответы [ 2 ]

0 голосов
/ 06 мая 2019

Простейший способ:

...
// variables end

if( ! (!isset($email) || trim($email) === '') ){
  header("Location: homepage.php");
  exit();
}

// email start
...

Обратите внимание на оператор exit() после перенаправления: без exit() или die() сценарий PHP может продолжить выполнение, что может привести к неожиданному поведению.

0 голосов
/ 06 мая 2019

Вы должны быть в состоянии сделать что-то вроде этого:

<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST' && !empty($_POST['email'])) {
    // variables start
    $team = $_POST['team'];
    $manager = $_POST['manager'];
    $email = $_POST['email'];
    $phone = $_POST['phone'];
    $address = $_POST['address'];
    $city = $_POST['city'];
    $state = $_POST['state'];
    $zipcode = $_POST['zipcode'];
    $classification = $_POST['classification'];
    $registration = $_POST['registration'];
    $division = $_POST['division'];
    // variables end

    // email start
    $subject = 'Thank you for registering you team';
    $message = '<html>...';
} else {
    header('Location: https://example.com');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...