Варианты решения Ваших вопросов

  хостинг
<< Назад       Перестал работать скрипт

Вопрос: Здравствуйте! Много лет я пользуюсь вашим хостингом, и в частности своим php скриптом. Но сегодня заметил, что он перестал открываться на всех моих проектах. Просто пустое окно. При чем изменений я никаких не вносил. Т.е просто перестал работать без каких-либо оснований. Вот адрес: http://www.jesuswidget.vsevolod-pankratov.com/contacts.php Error_log пишет: [05-Feb-2014 14:20:45 Europe/Moscow] PHP Fatal error: Cannot redeclare quoted_printable_encode() in /home/sewak/JesusWidget/contacts.php on line 108 Хотя на 108 строчке просто стоит закрывающая скобка } Вот код скрипта: Не заполнено поле "ФИО"'; if ( !empty( $name ) and preg_match("/[^(\w)|(\x7F-\xFF)|(\s)]/",$name) ) $error = $error.'
  • поле "ФИО" заполнено некорректно
  • '; if ( !empty( $sitename ) and preg_match("/[^(\w)|(\x7F-\xFF)|(\s)]/",$sitename) ) $error = $error.'
  • поле "Тема" заполнено некорректно
  • '; if ( empty( $message ) ) $error = $error.'
  • Не заполнено поле "Сообщение"
  • '; if ( empty( $email ) ) $error = $error.'
  • Не заполнено поле "E-mail"
  • '; if ( !empty( $email ) and !preg_match( "#^[0-9a-z_\-\.]+@[0-9a-z\-\.]+\.[a-z]{2,6}$#i", $email ) ) $error = $error.'
  • поле "e-mail" должно соответствовать формату NEMAIL
  • '; if ( !empty( $error ) ) { $_SESSION['sendMailForm']['error'] = '

    При отправлении сообщения, были допущены ошибки:

      '.$error.'
    '; $_SESSION['sendMailForm']['name'] = $name; $_SESSION['sendMailForm']['sitename'] = $sitename; $_SESSION['sendMailForm']['description'] = $description; $_SESSION['sendMailForm']['email'] = $email; $_SESSION['sendMailForm']['subject'] = $subject; $_SESSION['sendMailForm']['message'] = $message; header( 'Location: '.$_SERVER['PHP_SELF'] ); die(); } $filepath = array(); $filename = array(); for( $i = 0; $i < count($_FILES['file']); $i++) { if ( !empty( $_FILES['file']['tmp_name'][$i] ) and $_FILES['file']['error'][$i] == 0 ) { $filepath[] = $_FILES['file']['tmp_name'][$i]; $filename[] = $_FILES['file']['name'][$i]; } } $body = "Пишет:\r\n".$name."\r\n\r\n"; $body .= "Тема:\r\n".$sitename."\r\n\r\n"; $body .= "e-mail:\r\n".$email."\r\n\r\n"; $body .= "Сообщение:\r\n".$message; if ( send_mail($admin, $body, $email, $filepath, $filename) ) $_SESSION['success'] = true; else $_SESSION['success'] = false; header( 'Location: '.$_SERVER['PHP_SELF'] ); die(); } function send_mail($admin, $body, $email, $filepath, $filename) { $subject = '=?utf-8?B?'.base64_encode('Письмо с официального сайта ВИ"').'?='; $boundary = "--".md5(uniqid(time())); $headers = "Content-type: text/html; charset=utf-8 \r\n"; $headers = "From: ".strtoupper($_SERVER['SERVER_NAME'])." <".$email.">\r\n"; $headers .= "Return-path: <".$email.">\r\n"; $headers .= "MIME-Version: 1.0\r\n"; $headers .="Content-Type: multipart/mixed; boundary=\"".$boundary."\"\r\n"; $multipart = "--".$boundary."\r\n"; $multipart .= "Content-type: text/plain; charset=\"utf-8\"\r\n"; $multipart .= "Content-Transfer-Encoding: quoted-printable\r\n\r\n"; $body = quoted_printable_encode( $body )."\r\n\r\n"; $multipart .= $body; $file = ''; $count = count( $filepath ); if ( $count > 0 ) { for ( $i = 0; $i < $count; $i++ ) { $fp = fopen($filepath[$i], "r"); if ( $fp ) { $content = fread($fp, filesize($filepath[$i])); fclose($fp); $file .= "--".$boundary."\r\n"; $file .= "Content-Type: application/octet-stream\r\n"; $file .= "Content-Transfer-Encoding: base64\r\n"; $file .= "Content-Disposition: attachment; filename=\"".$filename[$i]."\"\r\n\r\n"; $file .= chunk_split(base64_encode($content))."\r\n"; } } } $multipart .= $file."--".$boundary."--\r\n"; if( mail($admin, $subject, $multipart, $headers) ) return true; else return false; } function quoted_printable_encode ( $string ) { // rule #2, #3 (leaves space and tab characters in tact) $string = preg_replace_callback ( '/[^\x21-\x3C\x3E-\x7E\x09\x20]/', 'quoted_printable_encode_character', $string ); $newline = "=\r\n"; // '=' + CRLF (rule #4) // make sure the splitting of lines does not interfere with escaped characters // (chunk_split fails here) $string = preg_replace ( '/(.{73}[^=]{0,3})/', '$1'.$newline, $string); return $string; } function quoted_printable_encode_character ( $matches ) { $character = $matches[0]; return sprintf ( '=%02x', ord ( $character ) ); } ?> Контакты
    Ваше сообщение успешно отправлено! В течении 24-х часов мы ответим вам.
    Благословений!

    '; else echo '

    Ошибка при отправлении сообщения!

    '; unset( $_SESSION['success'] ); } ?>
    Пожалуйста, представьтесь:
    Тема:
    Контактный e-mail:
    Сообщение:
     
    Ответ:

    Здравствуйте. вы используете register globals?

    Вопрос: Решил проблему с помощью строчки: if (!function_exists('quoted_printable_encode')) { а далее сам код идет: function quoted_printable_encode ( $string ) {.... } } Вы обновляли PHP версию, да?
    Ответ:

    нет , мы не обновляли версию php, вам доступна любая версия phpв панели управления, меню - выбор версии php

    Вопрос: Ого. Спасибо, не знал. Поставил версию 5.5! :)
    Ответ:

    а вот это зря... ставьте не выше 5.4  5.5 еще сырая

    Вопрос: Евгений, спасибо вам большое! Да, действительно, обрадовался и поставил 5.5. В итоге некоторые скрипты на моих сайтах перестали функционировать. 5.4 в самый раз!
    Ответ:


    ok


    << Назад