Помогите найти косяк в коде Javascript

Discussion in 'PHP' started by ShopTest, 11 Jun 2013.

  1. ShopTest

    ShopTest New Member

    Joined:
    22 Nov 2012
    Messages:
    13
    Likes Received:
    1
    Reputations:
    0
    На сайте есть форма подписки на новости, она перестала работать.

    После нажатия на кнопку нет ответа.
    Помогите найти ошибку в коде.
    Буду очень признателен.
    Программер уже решал вопрос но опять слетело -(


    Кусок из файла куда все уходит

     
    #1 ShopTest, 11 Jun 2013
    Last edited: 11 Jun 2013
  2. Melfis

    Melfis Elder - Старейшина

    Joined:
    25 Apr 2011
    Messages:
    505
    Likes Received:
    105
    Reputations:
    53
    Дай линк непосредственно на страницу (можно в лс). Проще в дебагере посмотреть.

    $ob->pr - это фильтрация данных или что?
     
    #2 Melfis, 11 Jun 2013
    Last edited: 11 Jun 2013
  3. Melfis

    Melfis Elder - Старейшина

    Joined:
    25 Apr 2011
    Messages:
    505
    Likes Received:
    105
    Reputations:
    53
    Code:
    function EmailCheck(value)
     { 
     var [COLOR=Teal]r[/COLOR] = /^\w+@\w+\.\w{2,4}$/i;
    
     if([COLOR=DarkRed]re[/COLOR].test(value))
     {
     return true; 
     } else { 
     return false; 
     } 
     }
    Uncaught ReferenceError: re is not defined.
    Объявляется с присвоением переменная r, а в коде потом используется re. Сделай что-нить одно (лучше r заменить на re).
    Дальше код не проверял

    UPD. А ещё этот скрипт не работает, по моему, когда нажимают интер.
     
    #3 Melfis, 11 Jun 2013
    Last edited: 11 Jun 2013
  4. ShopTest

    ShopTest New Member

    Joined:
    22 Nov 2012
    Messages:
    13
    Likes Received:
    1
    Reputations:
    0

    переменная обьявленна re
    Но почему то всегда выдаёт сообщение о том что не правильно ввели почту.
     
  5. Melfis

    Melfis Elder - Старейшина

    Joined:
    25 Apr 2011
    Messages:
    505
    Likes Received:
    105
    Reputations:
    53
    Потому что щас регулярное выражение, которое делает проверку мыла, похоже на боян:
    /^\\\\w+@\\\\w+\\\\.\\\\w{2,4}$/i;

    Code:
    function EmailCheck(value)
    { 
    var re = /^\\\\w+@\\\\w+\\\\.\\\\w{2,4}$/i;
    
      if(re.test(value))
      {
        return true; 
      } else { 
        return false; 
      } 
    }
    И какое оно было до начала редактирования?
    Пробеги глазами и сравни всё, для этого не надо знать javascript.

    И не надо код править через вебшелл, когда на сервере включены magic quotes (или чего ещё).
     
    #5 Melfis, 11 Jun 2013
    Last edited: 11 Jun 2013
  6. ShopTest

    ShopTest New Member

    Joined:
    22 Nov 2012
    Messages:
    13
    Likes Received:
    1
    Reputations:
    0
    Ок.
    Выражение на данный момент имеет такой вид.

    var re = /^\\\\\\\\\\\\\\\\w+([\\\\\\\\\\\\\\\\.-]?\\\\\\\\\\\\\\\\w+)*@(((([a-z0-9]{2,})|([a-z0-9][-][a-z0-9]+))[\\\\\\\\\\\\\\\\.][a-z0-9])|([a-z0-9]+[-]?))+[a-z0-9]+\\\\\\\\\\\\\\\\.([a-z]{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/i;

    Возникает проблема с тем что не проходит проверку, все время ошибка не верного ввода пароля.
    Что бы не ввели.

    Пару дней назад все работало.
     
  7. ShopTest

    ShopTest New Member

    Joined:
    22 Nov 2012
    Messages:
    13
    Likes Received:
    1
    Reputations:
    0
    К какому виду нужно привести проверку валидности что бы она хотя бы основные чекала?
    Уже штук 10 перепробовал они не работают...
     
  8. Todin

    Todin Member

    Joined:
    28 Jan 2011
    Messages:
    47
    Likes Received:
    7
    Reputations:
    0
    Мой совет, вообще убрать нахрен проверку эту на мыло, сейчас по стандарту мылом может быть практически любой адрес (i@me)
    самая лучшая проверка - выслать на почту письмо и потребовать, чтобы перешли по ссылке
    но в таком подходе есть свои нюансы, нужно хотя бы отслеживать чтобы не было запятых, ну и не средствами js
     
  9. ShopTest

    ShopTest New Member

    Joined:
    22 Nov 2012
    Messages:
    13
    Likes Received:
    1
    Reputations:
    0
    Так теперь ещё один вопрос.

    Как мне сформировать ссылку, что бы подписка происходила по ней.

    Исходя из этого логично предположить что она должна выгялдеть так

    www.site.com/ru/add.php?do=subscr&[email protected]&x=secure

    Но переходя по ссылке ничего не просиходит.

    Подскажите как это правильно реализовать?

    Заранее спасибо.