Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: ошибка в class.phpmailer.php

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
foozzi
Отправлено: 05 Июля, 2011 - 17:06:26
Post Id



Посетитель


Покинул форум
Сообщений всего: 283
Дата рег-ции: Май 2011  
Откуда: rm -rf /


Помог: 0 раз(а)




Есть форма отправки e-mail когда пытаюст отправить выдет такие ошибки:
CODE (SQL):
скопировать код в буфер обмена
  1. Warning: require(class.phpmailer.php) [FUNCTION.require]: failed TO open stream: No such file OR directory IN /home/a6519250/public_html/mail.php ON line 73


CODE (SQL):
скопировать код в буфер обмена
  1. Fatal error: require() [FUNCTION.require]: Failed opening required 'class.phpmailer.php' (include_path='.:/usr/lib/php:/usr/local/lib/php') IN /home/a6519250/public_html/mail.php ON line 73


Сам код:

PHP:
скопировать код в буфер обмена
  1. <html>
  2. <head>
  3. <title>Отправить свой ответ</title>
  4. </head>
  5. <body>
  6.  <style type="text/css">
  7.   /*<![CDATA[*/
  8.   * { margin: 0px; padding: 0px; }
  9.   body, td { font-family: Times New Roman; font-size: 17px; color: #333333; background-color: transparent; text-shadow: 1px 1px 2px #999999; }
  10.   a { text-decoration: none; color: #000099; }
  11.   a:hover { color: #FF0000; text-shadow: -1px -1px 2px #AAAAAA; }
  12.   .al { text-align: left; padding-left: 10px; }
  13.   .ac { text-align: center; }
  14.   .tb { font-weight: bold; }
  15.   .title { font-family: Times New Roman; font-size: 28px; font-weight: bold; font-style: italic; color: #FF0000; border-bottom: solid 1px #888888; }
  16.   .desc { font-size: 12px; color: #888888; }
  17.   .info { font-size: 12px; color: #888888; padding-top: 0px; padding-bottom: 10px; padding-left: 10px; vertical-align: top; }
  18.   .b-vr { border-right: solid 1px #888888; }
  19.   .b-hb { border-bottom: dotted 1px #AAAAAA; }
  20.   /*]]>*/
  21.   </style>
  22.  
  23. <?PHP
  24. function show_form()
  25. {
  26. ?>
  27. <form action="" method=post enctype="multipart/form-data">
  28. <div align="center">
  29.               <br />Имя*              <input type="text" name="name" size="40">
  30.               <br />Контактный email*              <input type="text" name="email" size="40">
  31.               <br />Teма              <input type="text" name="title" size="40">
  32.               <br />Сообщение*              <textarea rows="10" name="mess" cols="30"></textarea>
  33.               <br />Файл              <input name="attachfile" type="file" size="28">
  34.               <br />Изображение              <input name="attachimage" type="file" size="28">
  35.               <br /><br /><input type="submit" value="Отправить" name="submit">
  36. </div>
  37. </form>
  38. * Помечены поля, которые необходимо заполнить
  39. <br>
  40. Вы так же можете использовать HTML теги
  41. <?
  42. }
  43.  
  44. function complete_mail() {
  45.         // $_POST['title'] содержит данные из поля "Тема", trim() - убираем все лишние пробелы и переносы строк, htmlspecialchars() - преобразует специальные символы в HTML сущности, будем считать для того, чтобы простейшие попытки взломать наш сайт обломались, ну и  substr($_POST['title'], 0, 1000) - урезаем текст до 1000 символов. Для переменных $_POST['mess'], $_POST['name'], $_POST['tel'], $_POST['email'] все аналогично
  46.         $_POST['title'] =  substr(htmlspecialchars(trim($_POST['title'])), 0, 1000);
  47.         $_POST['mess'] =  substr(htmlspecialchars(trim($_POST['mess'])), 0, 1000000);
  48.         $_POST['name'] =  substr(htmlspecialchars(trim($_POST['name'])), 0, 30);
  49.         $_POST['email'] =  substr(htmlspecialchars(trim($_POST['email'])), 0, 50);
  50.         // если не заполнено поле "Имя" - показываем ошибку 0
  51.         if (empty($_POST['name']))
  52.              output_err(0);
  53.         // если неправильно заполнено поле email - показываем ошибку 1
  54.         if(!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i", $_POST['email']))
  55.              output_err(1);
  56.         // если не заполнено поле "Сообщение" - показываем ошибку 2
  57.         if(empty($_POST['mess']))
  58.              output_err(2);
  59.         // обратите внимание, теперь мы можем писать красивые письма, с помощью html тегов ;-)
  60.         $mess = '
  61. <b>Имя отправителя:</b>'.$_POST['name'].'
  62. <b>Контактный email:</b>'.$_POST['email'].''.$_POST['mess'];
  63.  
  64.         // подключаем файл класса для отправки почты
  65.         require 'class.phpmailer.php';
  66.  
  67.         $mail = new PHPMailer();
  68.         $mail->From = 'test@test.ru';      // от кого
  69.         $mail->FromName = 'www.php-mail.ru';   // от кого
  70.         $mail->AddAddress('social-people@yandex.ru', 'people'); // кому - адрес, Имя
  71.         $mail->IsHTML(true);        // выставляем формат письма HTML
  72.         $mail->Subject = $_POST['title'];  // тема письма
  73.  
  74.         // если был файл, то прикрепляем его к письму
  75.         if(isset($_FILES['attachfile'])) {
  76.                  if($_FILES['attachfile']['error'] == 0){
  77.                     $mail->AddAttachment($_FILES['attachfile']['tmp_name'], $_FILES['attachfile']['name']);
  78.                  }
  79.         }
  80.         // если было изображение, то прикрепляем его в виде картинки к телу письма.
  81.         if(isset($_FILES['attachimage'])) {
  82.                  if($_FILES['attachimage']['error'] == 0){
  83.                     if (!$mail->AddEmbeddedImage($_FILES['attachimage']['tmp_name'], 'my-attach', 'image.gif', 'base64', $_FILES['attachimage']['type']))
  84.                          die ($mail->ErrorInfo);
  85.                     $mess .= 'А вот и наша картинка:<br /><img src="cid:my-attach" border=0><br />я показал как ее прикреплять, соответственно Вам осталось вставить ее в нужное место Вашего письма ;-) ';
  86.                  }
  87.         }
  88.         $mail->Body = $mess;
  89.  
  90.         // отправляем наше письмо
  91.         if (!$mail->Send()) die ('Mailer Error: '.$mail->ErrorInfo);
  92.         echo 'Спасибо! Ваше письмо отправлено.';
  93. }
  94.  
  95. function output_err($num)
  96. {
  97.     $err[0] = 'ОШИБКА! Не введено имя.';
  98.     $err[1] = 'ОШИБКА! Неверно введен e-mail.';
  99.     $err[2] = 'ОШИБКА! Не введено сообщение.';
  100.     echo '<p>'.$err[$num].'</p>';
  101.     show_form();
  102.     exit();
  103. }
  104.  
  105. if (!empty($_POST['submit'])) complete_mail();
  106. else show_form();
  107. ?>
  108. </body>
  109. </html>
  110.  


-----
90% ошибок находятся в полуметре от монитора...
 
 Top
vlados
Отправлено: 05 Июля, 2011 - 17:25:37
Post Id



Посетитель


Покинул форум
Сообщений всего: 391
Дата рег-ции: Май 2011  


Помог: 1 раз(а)

[+][+][+]


foozzi он не может найти class.phpmailer.php, или директорию /home/a6519250/public_html/mail. php
 
 Top
OrmaJever Модератор
Отправлено: 05 Июля, 2011 - 17:26:14
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




foozzi пишет:
require 'class.phpmailer.php';

крутой инклуд но так работать не будет. Нужен полный путь к файлу.
foozzi пишет:
90% ошибок находятся в полуметре от монитора...

Подмигивание


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
vlados
Отправлено: 05 Июля, 2011 - 17:28:21
Post Id



Посетитель


Покинул форум
Сообщений всего: 391
Дата рег-ции: Май 2011  


Помог: 1 раз(а)

[+][+][+]



100% ошибок находятся в полуметре от монитора...
 
 Top
Мелкий Супермодератор
Отправлено: 05 Июля, 2011 - 17:34:59
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




OrmaJever пишет:
крутой инклуд но так работать не будет.

Вообще-то будет.
Но файла такого в директории нет по утверждению php.


-----
PostgreSQL DBA
 
 Top
foozzi
Отправлено: 05 Июля, 2011 - 17:37:09
Post Id



Посетитель


Покинул форум
Сообщений всего: 283
Дата рег-ции: Май 2011  
Откуда: rm -rf /


Помог: 0 раз(а)




дело в том что он есть хД


-----
90% ошибок находятся в полуметре от монитора...
 
 Top
vsll
Отправлено: 05 Июля, 2011 - 17:42:09
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 530
Дата рег-ции: Февр. 2011  


Помог: 10 раз(а)




1. chmod
2. положите в папку с этим файлом, если не поможет, то определите базовую директорию, там где config файл и от неё уже задавайте пути
 
 Top
vlados
Отправлено: 05 Июля, 2011 - 17:46:23
Post Id



Посетитель


Покинул форум
Сообщений всего: 391
Дата рег-ции: Май 2011  


Помог: 1 раз(а)

[+][+][+]


 
 Top
koka
Отправлено: 12 Июля, 2011 - 13:46:11
Post Id



Гость


Покинул форум
Сообщений всего: 115
Дата рег-ции: Июнь 2010  
Откуда: Россия, Ижевск


Помог: 1 раз(а)




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

PHP:
скопировать код в буфер обмена
  1. $BASEURLTECH = "/home/kjkjkikhijn/public_html";


и делаю все инклуды так

PHP:
скопировать код в буфер обмена
  1. include_once $BASEURLTECH . '/somepage.php';


Если нет желания каждый раз указывать путь файла относительно корневой, можно сделать инклуд так
PHP:
скопировать код в буфер обмена
  1. include_once $DOCUMENT_ROOT . '/somepage.php';


-----
http://rulevoi[dot]net - запчасти для иномарок в Ижевске
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с сетью »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB