PHP Контактная форма Проверка?

1

У меня есть веб-сайт с контактной формой, когда я отправляю детали, я получаю сообщение об ошибке с устаревшим eregi() на линии. Это блок кода, который, похоже, имеет проблему. Я не знаю php, так может кто-нибудь дать руку?

if (email_is_valid($youremail) && !eregi("\r",$youremail) && !eregi("\n",$youremail) && $yourname != "" && $yourmessage != "" && substr(md5($user_answer),5,10) === $answer) {
              mail($to,$subject,$message,$headers);
              $yourname = '';
              $youremail = '';
              $yourmessage = '';
              echo '<p style="color: #200041; text-align: center;">'.$contact_submitted.'</p>';
            }
  • 3
    Вы можете опубликовать свой код в лучшем формате, поместите код между двумя `
  • 1
    Как сказано на сайте php.net: эта функция УСТАРЕЛА с PHP 5.3.0. Полагаться на эту функцию крайне не рекомендуется.
Показать ещё 1 комментарий
Теги:

2 ответа

1
Лучший ответ

eregi() устарел. Таким образом, вы можете использовать preg_match()

И ваш код будет

<?php
    if (email_is_valid($youremail) && $yourname != "" && $yourmessage != "" && substr(md5($user_answer),5,10) == '$answer')
    {
        mail($to,$subject,$message,$headers);
        $yourname = '';
        $youremail = '';
        $yourmessage = '';
        echo '<p style="color: #200041; text-align: center;">'.$contact_submitted.'</p>';
    }
    else
    {
        echo '<p style="color: red; text-align: center;">Error</p>';
    }
  • 0
    Рад был помочь :)
2

Eregi устарел, поэтому удалите его из своего кода:

if (email_is_valid($youremail)&& $yourname != "" && $yourmessage != "" && substr(md5($user_answer),5,10) === $answer) {  
     mail($to,$subject,$message,$headers);
     $yourname = ''; 
     $youremail = ''; 
     $yourmessage = ''; 
     echo ''.$contact_submitted.'

Вы можете забыть об этом, потому что он проверяет только новые строковые знаки.
Если вы хотите сохранить новую проверку строки, замените eregi на функцию preg_match (но прочитайте руководство по этому вопросу).

Ещё вопросы

Сообщество Overcoder
Наверх
Меню