У меня есть веб-сайт с контактной формой, когда я отправляю детали, я получаю сообщение об ошибке с устаревшим 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>';
}
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>';
}
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 (но прочитайте руководство по этому вопросу).