За последние 24 часа нас посетил 19041 программист и 1613 роботов. Сейчас ищут 659 программистов ...

Ошибка в форме обратной связи

Тема в разделе "PHP для новичков", создана пользователем ivan_, 14 июн 2008.

  1. ivan_

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

    С нами с:
    14 июн 2008
    Сообщения:
    8
    Симпатии:
    0
    Всем привет. Есть скрипт формы обратной связи и в нем есть одна ошибка.

    При вводе в поле емайла если в водишь название с тире то пишет что ошибка. Все остальное работает норм. Если кто может помочь. Помогите ее исправить.

    Разработчик че-то молчит.

    Качайте вот отсюда http://flashripper.net/wp-content/uploa ... actv30.rar
     
  2. topas

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

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    Так как я являюсь телепатом, то начну:

    1. Приведите пожалуйста регулярное выражение (надо найти строку в коде с preg_match, или preg_*, ereg_*) в коде.
    2. Привести сюда на форум параметры этой функции.
    3. Мы с легкостью исправим Вашу проблему.

    Самое забавное то, что мы уже знаем в чем заключается проблема...

    UPD>> ссылочка на скачку не работает.
    PS>> Wordpress - зло
     
  3. ivan_

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

    С нами с:
    14 июн 2008
    Сообщения:
    8
    Симпатии:
    0
    elseif(isset($_POST['posEmail']) && !preg_match("/^([a-z,._,0-9])+@([a-z,._,0-9])+(.([a-z])+)+$/", $_POST['posEmail']))

    Вот эта? нет?
     
  4. topas

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

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    да эта, минутку подождите.
     
  5. topas

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

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    Код (Text):
    1. /^[\w\-\.]*[\w]+@([\w\-]\.?)*[\w]+\.(\w){2,3}$/
    Давайте вот это опробуем. Сразу пишите, какой правильный не прошел, и какой неправильный прошел :)
     
  6. topas

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

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    Если что-то поломалось в коде ( я не знаю где и что дальше используется), то:
    Код (Text):
    1.  
    2. /^([a-z,._,0-9\-])+@([a-z,._,0-9\-])+(.([a-z])+)+$/
     
  7. ivan_

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

    С нами с:
    14 июн 2008
    Сообщения:
    8
    Симпатии:
    0
    На локалке все работает, правда письмо почему то не доходит. на хостинге надо проверять или должно доходить?
     
  8. ivan_

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

    С нами с:
    14 июн 2008
    Сообщения:
    8
    Симпатии:
    0
    1 прошел
     
  9. topas

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

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    Посмотрите, я свое регулярное выражения подправил (первое).
    На первый взгляд все верно.

    Второй вариант - если у вас нет программиста подойдет лучше (немного исправлений по сравнению с Вашим вариантом)

    Тестируйте, проверяйте. Буду проблемы - отвечу в течении дня.

    Можно еще спросить у Гуру: я ничего не забыл?
     
  10. topas

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

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    Кто "прошел"?

    UPD>> все, второй "догнал" :)
     
  11. ivan_

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

    С нами с:
    14 июн 2008
    Сообщения:
    8
    Симпатии:
    0
    Все работает письма доходят. да если что напишу. Спасибо большое.
     
  12. Sergey89

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

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Нафиг эти жёсткие проверки.

    Код (Text):
    1. /^[^@\s]+@[^@\s]+\.\w+$/
     
  13. topas

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

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    Sergey89,
    Это еще не жесткие проверки.
    Я где-то видел на форуме 440Hz постил проверки с учетом спецификации... (Извиняюсь если ошибся). Так вот там жесткие проверки, а это так - на коленке написано
     
  14. ivan_

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

    С нами с:
    14 июн 2008
    Сообщения:
    8
    Симпатии:
    0
    Еще у меня такая вот проблема, не то что бы проблема а просто форма несовершенная.

    Вообщем когда заполняешь форму если ошибся где-то и отправил сообщение то пишет ошибку и всю форму надо заново писать, как сделать чтобы оставалось написанное?

    И как сделать чтобы вывод ошибки был на другой странице а не на этой где форма.

    И как добавить к полю тема сообщения выподающий список этих тем.

    Я незнаю трудно это или нет. Если трудно отблагодарю.
     
  15. topas

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

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    Нет, это не трудно, но заниматься Wordpress'ом еще большее зло чем сам Wordpress.

    Я пас
    To Pas :)
     
  16. ivan_

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

    С нами с:
    14 июн 2008
    Сообщения:
    8
    Симпатии:
    0
    А при чем тут Wordpress?
     
  17. TROODON

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

    С нами с:
    4 ноя 2007
    Сообщения:
    112
    Симпатии:
    0
    после отправки вставить чтото в духе

    PHP:
    1. header("Location: index.php"); exit();
     
  18. ivan_

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

    С нами с:
    14 июн 2008
    Сообщения:
    8
    Симпатии:
    0
    Что так никто и не поможет настроить скрипт?