Запретить отправку формы, если выбранные поля содержат определенные строки или доменные имена - PullRequest
0 голосов
/ 03 апреля 2019

Ищите способ запрета приема полей, содержащих определенные домены или строки, в форму, которая отправляет данные в базу данных.

Поиски всех отправьте мне на strpos.

Может создавать сообщение, но не мешать отправке формы, когда выбранный URL-адрес или строка находится в поле.

Ниже приведено поле для ввода формы с использованием поля электронной почты в качестве примера:

<input type="email" name="email"  required >

Переменная сделана из сообщения.

<?php
$email = test_input($_POST["email"]);
?>

Я могу заставить его дать сообщение, используя этот код:

<?php
if ($email contains "selected.domain")
   echo "email address cannot be this domain";
?>

, но он нужен для предотвращения отправки, если адрес электронной почтысодержит "selected.domain" или любую указанную строку.

Не программист, но.,,.

Это тип формы:

<form name="submissionsform" action="" method="post" >

Это поле ввода адреса электронной почты и URL-адреса события.Оба должны иметь определенные домены ограничены.Это проблема.Пробовал код strpos, но пока не могу заставить его работать как нужно.Это уже обязательные поля, просто нужно добавить исключение для определенных доменов или строк.Надеюсь, это имеет больше смысла.

<center>Your email:<br><input type="email" name="email" style=" border-radius:5px; width:90%; height:25px" required></center>

<center>Event Link - IMPORTANT:<br><input type="url" name="link" value=""  style=" border-radius:5px; width:95%; height:25px" required></center>

Кнопка Отправить:

<center> <button style=" border-radius:5px; background-color:transparent; width:100%" name="save_event_data">Submit</button></center>

Ответы [ 2 ]

0 голосов
/ 03 апреля 2019

Не могли бы вы просто return false в своем php-коде?

т.е.

<?php
// $email contains domain
if (strpos($email, 'selected@domain') !== false)
   echo "email address cannot be this domain";
   return false; // this will end the code block early if email contains the domain
?>

Я не знаю ваш вариант использования, но вы можете сделать это и в javascript.

в вашем html:

// on submitting form, check your validation function
<form onsubmit="return validate()">
    <input type="email" name="email" id="email" required >
...// rest of your form

<script>
    // check for invalid domain
    function validate() {
        if(document.getElementById("email").value.includes('selected@domain')) {
            alert('email contains foo');
            return false;
        }
    }
</script>
0 голосов
/ 03 апреля 2019

может использовать strpos () для проверки строки, содержащей определенные символы, проверьте этот вопрос:

Как проверить, содержит ли строка определенное слово?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...