За последние 24 часа нас посетили 16666 программистов и 1690 роботов. Сейчас ищут 824 программиста ...

PHP 5.6

Тема в разделе "PHP для новичков", создана пользователем iamyri, 12 ноя 2015.

  1. iamyri

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

    С нами с:
    6 янв 2010
    Сообщения:
    39
    Симпатии:
    0
    Адрес:
    Perth, Scotland
    Знатоки, помогите. Я просто другу помогаю безвозмездно.
    Раньше форма обратной связи работала как часы на других сайтах, пару лет не занимался этим вообще.
    Сейчас потребовалась форма и она тупит из за обновления пхп на 5.6.
    Что за дурацкая привычка обновлять если простые функции перестают работать, меня и старый пхп устраивал на 100%?

    ----- Форма отправки

    Код (PHP):
    1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    2. "http://www.w3.org/TR/html4/loose.dtd"><html><head>
    3. <title>ssss</title>
    4. <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
    5. body<form method=post action="feedback.php">
    6.   Ваше имя:<br><input type=text name="Name" size=35 maxlength="40"><br><br>
    7.   Ваш E-Mail:<br><input type=text name="EMail" size=35 maxlength="60"><br><br>
    8.   Ваше сообщение:<br><textarea name="Message" rows=7 cols=50></textarea><br><input name="submit" type=submit value="Отправить сообщение"></form><body>
    9. </body>
    10. </html>
    11.  
    12. -----Код обработчика инфы с формы
    13. <?php
    14. $SendFrom = "www.mysite.info <contact@mysite.info>";
    15. $SendTo = "myemail@mail.ru";
    16. $SubjectLine = "www.mysite.info";
    17. $ThanksURL = "thanks.html";
    18. $Thanks = "thank.html";
    19. $word1 = "http";
    20. $word2 = "www";
    21. // Build Message Body from Web Form Input
    22. if (strpos($Message, $word1) !== false) 
    23. {
    24. header("Location: $Thanks");
    25. }
    26. else 
    27. {
    28. if (strpos($Message, $word2) !== false) 
    29. {
    30. header("Location: $Thanks");
    31. }
    32. else 
    33. {
    34. if ($Name=='' or $EMail=='' or $Message=='')
    35. {
    36. echo 'ERROR';
    37. }
    38. else {
    39. foreach ($_POST as $Field=>$Value) $MsgBody .= "\n$Field$Value\n";
    40. $MsgBody .= "\n\n\n\n" . @gethostbyaddr($_SERVER["REMOTE_ADDR"]) . "\n" . $_SERVER["HTTP_USER_AGENT"];
    41. $MsgBody = htmlspecialchars($MsgBody, ENT_NOQUOTES); //make safe
    42. mail($SendTo, $SubjectLine, $MsgBody, "From: $SendFrom");
    43. header("Location: $ThanksURL");
    44. }
    45. }
    46. }
    47. ?>
    -----

    Я не спец в пхп но данный код работал как часы годами пока пхп не поменяли.
    Спасибо заранее.

    PHP, JavaScript, SQL и другой код пишите внутри тегов
    Код ( (Unknown Language)):
    1. [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
     
  2. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    а ошибка то какая??
     
  3. iamyri

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

    С нами с:
    6 янв 2010
    Сообщения:
    39
    Симпатии:
    0
    Адрес:
    Perth, Scotland
    Начале сервер брешет на 3 строчки там где "IF"
    Убираю "IF" начинает брехать на все остальное.
    Сервер вроде на Windows стоит, дурь сплошная. Голова распухла.
    Раньше подобная хрень заняла бы у меня 30 секунд.
     
  4. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    предлагаю тогда, для начало включить error_reporting (;
     
  5. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    Откуда у вас берется переменная $Message в первом условии? И перед тем, как конкатенировать, нужно переменную $MsgBody так же объявить
     
  6. iamyri

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

    С нами с:
    6 янв 2010
    Сообщения:
    39
    Симпатии:
    0
    Адрес:
    Perth, Scotland
    $Message естественно приходит из передающей формы.
    Я говорю что форма работала как часы годами на нескольких сайтах.
    Завтра выложу поподробней вместе с репорт ошибками с сервера.
    3й день мудохаюсь с этой фигней.
    Вы видите у меня грубые ошибки для пхп 5.6?
    Примитивщина да. Но все должно работать.
     
  7. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    Это совершенно не естественно, если что. Может вы не показали и где-то выше есть что-то вроде этого?
    Код (PHP):
    1. $Message = $_POST['Message']; 
     
  8. iamyri

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

    С нами с:
    6 янв 2010
    Сообщения:
    39
    Симпатии:
    0
    Адрес:
    Perth, Scotland
    Я не спец. Форму выложить? Переменная Message приходит оттуда.
     
  9. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.251
    Адрес:
    там-сям
    Нет, чувак. Она ниоткуда не приходит — о чём тебе и толкуют. Может быть до апгрейда приходило, т.к. был включен сраный register_globals. А теперь это гумно запретили и надо явно писать $_POST или $_GET.
     
  10. iamyri

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

    С нами с:
    6 янв 2010
    Сообщения:
    39
    Симпатии:
    0
    Адрес:
    Perth, Scotland
    Уже не помню где их писать.

    Кстати вот как сервер брешет.

    PHP Notice: Undefined variable: text in \\HP3-WINC2-SMB2.HOSTINGP3.LOCAL\DOMAINSY\991\23991\user\htdocs\feedback.php on line 8
    PHP Notice: Undefined variable: fio in \\HP3-WINC2-SMB2.HOSTINGP3.LOCAL\DOMAINSY\991\23991\user\htdocs\feedback.php on line 8
    PHP Notice: Undefined variable: tel in \\HP3-WINC2-SMB2.HOSTINGP3.LOCAL\DOMAINSY\991\23991\user\htdocs\feedback.php on line 8
    PHP Warning: mail(): &quot;sendmail_from&quot; not set in php.ini or custom &quot;From:&quot; header missing in \\HP3-WINC2-SMB2.HOSTINGP3.LOCAL\DOMAINSY\991\23991\user\htdocs\feedback.php on line 8

    Добавлено спустя 1 минуту 19 секунд:
    Я кстати форму там вверху добавил.
     
  11. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.251
    Адрес:
    там-сям
    И хакеров тоже устраивало, что они могут подсунуть скрипту любую туфту не напрягаясь. Специально краулят интернеты чтобы нащупать таких как ты и собрать себе армию ботнетов.

    Добавлено спустя 1 минуту 36 секунд:
    Пользуйся ббкодом [code] чтобы мы глаза не ломали об твой текст.
     
  12. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    файл feedback.php указал тебе, и переменные тоже... Шагай смело и исправляй ((:)
     
  13. iamyri

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

    С нами с:
    6 янв 2010
    Сообщения:
    39
    Симпатии:
    0
    Адрес:
    Perth, Scotland
    PHP изменился. Я понятия не имею что там не так. Эти строчки начинаются с IF.
    Нахрена мне их долбанные обновления? Плиз помогите.

    PHP Notice: Undefined variable: Message in \\HP3-WINC2-SMB2.HOSTINGP3.LOCAL\DOMAINSY\991\23991\user\htdocs\feedback.php on line 11
    PHP Notice: Undefined variable: Message in \\HP3-WINC2-SMB2.HOSTINGP3.LOCAL\DOMAINSY\991\23991\user\htdocs\feedback.php on line 17
    PHP Notice: Undefined variable: Name in \\HP3-WINC2-SMB2.HOSTINGP3.LOCAL\DOMAINSY\991\23991\user\htdocs\feedback.php on line 23

    Добавлено спустя 6 минут 26 секунд:
    Для начала вот

    PHP Notice: Undefined variable: Message in \\HP3-WINC2-SMB2.HOSTINGP3.LOCAL\DOMAINSY\991\23991\user\htdocs\feedback.php on line 11
    PHP Notice: Undefined variable: Message in \\HP3-WINC2-SMB2.HOSTINGP3.LOCAL\DOMAINSY\991\23991\user\htdocs\feedback.php on line 17
    PHP Notice: Undefined variable: Name in \\HP3-WINC2-SMB2.HOSTINGP3.LOCAL\DOMAINSY\991\23991\user\htdocs\feedback.php on line 23

    Код обработчика вверху. Все 3 строчки начинаются с IF.
    Может сейчас переменные в пхп по другому прописывают? Долбанный 5.6!!!

    Добавлено спустя 7 минут 7 секунд:
     
  14. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    долбанны те кто использует софт старый как говно мамонта. все модификации между минорными релизами проходили постепенно много лет. надо было держать софт в актуальном состоянии а не с горящей жопой носится по форумам когда наконец петух клюнул. кстати пхп 5.6 где-то в марте следующего года завершает жизненный цикл. вот те новость да? ты еще даже не заимел поддержки этой версии а она уже тоже почти часть истории. короче учи программирование и переписывай софт или найми профи на рефакторинг.
     
  15. iamyri

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

    С нами с:
    6 янв 2010
    Сообщения:
    39
    Симпатии:
    0
    Адрес:
    Perth, Scotland
    Согласен, он мне просто не требовался. Работал и работал.
    Я просто не понимаю зачем удобные функции убивать полностью? 2*2=4.
    А форму я найду в течении нескольких дней, может на чем другом. Нахрен нужен пхп если он меняется постоянно?
     
  16. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.251
    Адрес:
    там-сям
     
  17. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    не "меняется постоянно" а развивается. в рамках перехода от одной минорной версии к другой никаких проблем нет. а тут прыжок в десятилетие наверное. никто кроме вас не виноват что сейчас все сыпется ошибками и не работает. это как сейчас использовать голубиную почту и жаловаться на то что сраные грузовые самолеты сбивают ваши послания. развивайтесь.

    Добавлено спустя 4 минуты 35 секунд:
    и представляешь, уважаемый тс, эту функциональность сначала пометили как небезопасную - 30 июня 2009 года, а потом удалили - 01 марта 2012 года. сегодня знаешь какая дата? так что не надо истерить. тебе дали бесплатно мощный инструмент и заботятся о его развитии и безопасности. а тебя не устраивает что тебе не дают побыть тем самым говном мамонта.
     
  18. iamyri

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

    С нами с:
    6 янв 2010
    Сообщения:
    39
    Симпатии:
    0
    Адрес:
    Perth, Scotland
    Плевать мне на хакеров, мои сайтики их не интересовали.
     
  19. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    ну так собери из исходников старую версию пыха (5.2) и радуйся жизни
     
  20. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.251
    Адрес:
    там-сям
    Хозяин барин, чо. Помоему тема исчерпана.
     
  21. iamyri

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

    С нами с:
    6 янв 2010
    Сообщения:
    39
    Симпатии:
    0
    Адрес:
    Perth, Scotland
    Ошибки посыпались когда пхп начал делать обновления.
    По Вашему пхп каждый год нужно заново изучать и "развиваться"? Лично я занят этим заниматься.
    Если Вы такой умный, дайте ответ где у меня пхп тупит, если способны конечно. А больше он мне не требуется абсолютно нигде.

    Добавлено спустя 1 минуту 18 секунд:
    Да рад бы это сделать, серверы гады обновляют.
     
  22. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    вам уже дали ответ и что именно перестало работать и как это вылечить.

    не хотите каждый год читать мануалы и развивать свою софтину - заказывайте её обновление у человека который развивается и следит. в чем проблема?

    вот этой надуманной проблемы я сейчас вообще не понял.
     
  23. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    $_GET и $_POST теперь надо юзать. Всё.
     
  24. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    Добавьте, что-ли, первой строкой обрабатывающего скрипта
    Код (Text):
    1.  
    2. extract($_REQUEST);
    Будет почти такое же поведение, как с register globals, только безопасней.
     
  25. iamyri

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

    С нами с:
    6 янв 2010
    Сообщения:
    39
    Симпатии:
    0
    Адрес:
    Perth, Scotland
    Админ, не злись на меня плиз, я же в разделе для новичков.

    Вроде и юзаю $_POST.

    Добавлено спустя 4 минуты 13 секунд:
    Огроменное СПАСИБО mkramer! Поставил и куча ошибок исчезла :) Осталась пара штук, решу уж как нибудь :)
    Побольше бы таких как Вы, а то всякие любят заниматься пустой писаниной.

    СПАСИБО.

    Добавляю. Форма заработала и шлет сообщения :) Брешет только пока на одну ошибку - разберусь и найду причину.
    Брешет на строчку:

    foreach ($_POST as $Field=>$Value) $MsgBody .= "\n$Field: $Value\n";