Подтвердить ошибку электронной почты - PullRequest
1 голос
/ 10 января 2012
<?php
if (isset($_POST['ign'], $_POST['email'])) {
    if($_POST['ign'] && $_POST['email']){

    }
    else {
        echo ("Please enter all of the values!");
    }
}
else {
    echo ("Error in form data!");
}
if((FILTER_VALIDATE_EMAIL($_POST['email'] == TRUE))) {
    $email = $_POST['email'];
    echo ("Thanks, " . htmlentities($_POST['ign']) . ", you will recieve an email when the site is complete!");
}
else {
    echo "Failure!";
}

// insert email and ign into database
?>

Это будет работать правильно?Впервые делаю что-то полностью с нуля!

ОК!Я изменил это.Как насчет этого?Должен ли я также сделать пустую вещь?

<?php
if (!isset($_POST['ign'], $_POST['email'])) {
    if($_POST['ign'] && $_POST['email']){
    echo "Please fill out all of the fields!";
        die;
}
if(var_filter($_POST['email'], FILTER_VALIDATE_EMAIL))
    $email = $_POST['email'];
    echo ("Thanks, " . htmlentities($_POST['ign']) . ", you will recieve an email when the site is complete!");
}
else {
    echo "Your email was invalid!";
}

// insert email and ign into database
?>

Ответы [ 2 ]

0 голосов
/ 10 января 2012

Там много ошибок.Вот что вы должны делать:

// First check if both fields are present. Usually there is no point in doing this
// because the next check will also catch this case, but you had it so I put it in too.
if (!isset($_POST['ign'], $_POST['email'])) { 
    echo ("Error in form data!"); 
    die; // or something else
}

// Then check if both values are non-"empty" (you might want to look at the docs for
// an explanation of what this means exactly).
if (empty($_POST['ign']) || empty($_POST['email'])) { 
    echo ("Please enter all of the values!"); 
    die; // or something else
}

// Finally, validate the email. DO NOT COMPARE WITH true!
if (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
    echo "Failure!"; 
    die; // etc
}

echo ("Thanks, " . htmlentities($_POST['ign']) . ", blah blah!"); 
0 голосов
/ 10 января 2012

Используйте встроенные функции, не изобретайте колесо:

if(filter_var($mail, FILTER_VALIDATE_EMAIL)){
  echo "Mail is valid!";
}

ПОЧЕМУ ВАША ФУНКЦИЯ НАЗЫВАЕТ ВСЕ КАПСЫ?

... и видите ли вы разницу междуэто ...

if(func($_POST['email'] == TRUE)){

и это ..

if(func($_POST['email']) == TRUE){

?

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