Проверка электронной почты PHP и добавление URL - PullRequest
0 голосов
/ 22 октября 2018

Я прошу прощения заранее, если уже есть ответ на этот вопрос.Я посмотрел, и я просто не могу придумать ни хвоста, ни ответов, на которые я смотрел, поэтому, пожалуйста, будьте осторожны.

Я действительно новичок в PHP и не очень хорошо владею Javascript.По сути, я просто создаю веб-сайт для своего бизнеса, и я бы хотел, чтобы на главной странице была форма для ведения.Цель состоит в том, чтобы безопасно взять адрес электронной почты клиента и перенаправить его на страницу бронирования с добавлением его адреса электронной почты к URL.

, т. Е. Клиент вводит свой адрес электронной почты на домашней странице по адресу

www.hygenius.co 

и когда они нажимают кнопку «Подтвердить», это подтверждает, что они ввели реальный адрес и что поле не является пустым, а затем переводит их в

www.hygenius.co/book?email=customersemail

Однако, на всю жизнь, яне могу получить ничего, что я пытался работать.

Пока моя форма выглядит так:

<form action="lead.php" method="POST">
 <input type="text" name="email" placeholder="Enter a valid E-mail Address">
 <span class="error">* <?php echo $emailErr;?></span>
 <input type="submit" name="submit" value="Submit">  
</form>

Мой файл lead.php выглядит следующим образом.

<?php
// define variables and set to empty values
$emailErr = "";
$email = "";

if ($_SERVER["REQUEST_METHOD"] == "POST") {
  if (empty($_POST["email"])) {
    $emailErr = "Email is required";
  } else {
    $email = test_input($_POST["email"]);
    // check if e-mail address is well-formed
    if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
      $emailErr = "Invalid email format"; 
    }
  }

}

function test_input($data) {
  $data = trim($data);
  $data = stripslashes($data);
  $data = htmlspecialchars($data);
  return $data;
}

header( 'Location: http://www.hygenius.co/book.html' ) ;
?>

Мне даже не удалось получитьпроверка работы электронной почты до сих пор, я пытался следовать указаниям W3schools, но ничего не помогло.Он просто позволяет вам нажать кнопку «Отправить» и перейти прямо на страницу бронирования без какой-либо проверки, а также не появляется сообщение об ошибке.Я понятия не имею, как добраться до стадии, где я могу добавить информацию в URL либо.

Я уверен, что я просто невероятно дремучий, кодирование - это не моя сильная сторона, но любое руководство относительно того, что я могу сделать, чтобы сделать эту работу и где я иду не так, было бы невероятно оценено.

С уважением,

Джонатан Кроу.

1 Ответ

0 голосов
/ 22 октября 2018

Я объединил логику, чтобы она была непустой и действительный адрес электронной почты, чтобы затем перенаправить.Или же отображать общую недопустимую ошибку.

<?php

$emailErr = "";

if ($_SERVER["REQUEST_METHOD"] == "POST")
{
  if (
    !empty($_POST["email"]) &&
    filter_var($_POST["email"], FILTER_VALIDATE_EMAIL)
  )
  {
    header('location: ?email=' . urlencode($_POST["email"]));
    exit;
  } else {
    $emailErr = "Valid email address required."; 
  }
}

?>
<form method="POST">
    <input type="text" name="email" placeholder="joe@example.com">
    <span class="error"><?php echo $emailErr;?></span>
    <input type="submit" name="submit" value="Submit">  
</form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...