У меня есть форма с логином и регистрацией.
Моя форма
<form method="POST" action="login.php">
<input type="text" name="mail" value="Input your email"/>
<input type="submit" value="Check"/>
</form>
Если кто-то вводит свою электронную почту, я хочу проверить, есть ли @
в адрес. Я пытался использовать массив, но это не работает.
Вы можете использовать функцию PHP strpos
http://php.net/strpos
if(strpos($myEmailPostVariable, '@') === FALSE) {
// do things here to say it failed
}
Если вы сосредоточены на использовании массива, вы можете использовать explode
http://php.net/explode
$parts = explode('@', $myEmailPostVariable);
if(count($parts) != 2) {
// do things here to say it failed
}
Имейте в виду, что способ массива не очень хорош, так как поиск строки проще и быстрее, и он более читабелен.
Как @jeroen предложил, если вы хотите проверить электронную почту, затем с помощью filter_input()
самый лучший …
if(filter_input(INPUT_POST, 'mail', FILTER_VALIDATE_EMAIL) === FALSE) {
// do things here to say it failed
}
Других решений пока нет …