За последние 24 часа нас посетили 18520 программистов и 1706 роботов. Сейчас ищут 837 программистов ...

Проблема с функцией eregi

Тема в разделе "PHP для новичков", создана пользователем Nymo, 23 авг 2009.

  1. Nymo

    Nymo Активный пользователь

    С нами с:
    10 июн 2009
    Сообщения:
    36
    Симпатии:
    0
    Использую такой способ проверки email:

    if (eregi ('^[[:alnum:]][a-z0-9_\.\-]*@[a-z0-9\.\-]+\.[a-z]{2,4}$',
    stripslashes(trim($_POST['email'])))) {
    $e = escape_data($_POST['email']);
    } else {
    $e = FALSE;
    echo '<p><font color="red" size="+1">Please enter a valid email
    address!</font></p>';
    }

    В одном сервере работает, а когда записываю в другой, выдает ошибку:
    Function eregi() is deprecated
    Где может быть допущена ошибка?
     
  2. lanc777

    lanc777 Активный пользователь

    С нами с:
    19 авг 2009
    Сообщения:
    59
    Симпатии:
    0
    if (!preg_match("|^[0-9a-z_-]+@[0-9a-z_\.]+\.[a-z]{2,4}$|i",$_POST['email'] )) {
    die();
    }
     
  3. kokopelli

    kokopelli Активный пользователь

    С нами с:
    18 авг 2009
    Сообщения:
    42
    Симпатии:
    0
    Адрес:
    -то..
    Просто на одном сервере более старая версия PHP (либо разрешено использовать POSIX), а на другом новее. Функция eregi не будет пддерживаться в версии 6, и вам рекомендуют ее не употреблять. Переходите на perl-совместимые функции preg* (как вам посоветовал lanc777)
     
  4. Nymo

    Nymo Активный пользователь

    С нами с:
    10 июн 2009
    Сообщения:
    36
    Симпатии:
    0
    Спасибо за советы.