PHP.SU

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

Страниц (19): « 1 [2] 3 4 5 6 7 8 9 ... » В конец

> Найдено сообщений: 282
xTODx Отправлено: 04 Августа, 2015 - 00:01:57 • Тема: Отправка Content type через smtp • Форум: Хранение данных, их вывод и обработка

Ответов: 4
Просмотров: 1340
Всем привет, сразу скажу, гуглин, кое-что нашёл

Вот что есть
PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. function send_smtp($login, $pwd, $from,$to,$subject,$message){
  4.  
  5.         header('Content-Type: text/plain;');
  6.         error_reporting(E_ALL ^ E_WARNING);
  7.         ob_implicit_flush();
  8.  
  9.         $address = 'mail.site.com.ua'; // адрес smtp-сервера
  10.         $port    = 25;          // порт (стандартный smtp - 25)
  11.        
  12.         try {
  13.                
  14.                 // Создаем сокет
  15.                 $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
  16.                 if ($socket < 0) {
  17.                         throw new Exception('socket_create() failed: '.socket_strerror(socket_last_error())."\n");
  18.                 }
  19.  
  20.                 // Соединяем сокет к серверу
  21.                 echo 'Connect to \''.$address.':'.$port.'\' ... ';
  22.                 $result = socket_connect($socket, $address, $port);
  23.                 if ($result === false) {
  24.                         throw new Exception('socket_connect() failed: '.socket_strerror(socket_last_error())."\n");
  25.                 } else {
  26.                     echo "OK\n";
  27.                 }
  28.                
  29.                 // Читаем информацию о сервере
  30.                 read_smtp_answer($socket);
  31.                
  32.                 // Приветствуем сервер
  33.                 write_smtp_response($socket, 'EHLO '.$login);
  34.                 read_smtp_answer($socket); // ответ сервера
  35.                
  36.                 echo 'Authentication ... ';
  37.                        
  38.                 // Делаем запрос авторизации
  39.                 write_smtp_response($socket, 'AUTH LOGIN');
  40.                 read_smtp_answer($socket); // ответ сервера
  41.                
  42.                 // Отравляем логин
  43.                 write_smtp_response($socket, base64_encode($login));
  44.                 read_smtp_answer($socket); // ответ сервера
  45.                
  46.                 // Отравляем пароль
  47.                 write_smtp_response($socket, base64_encode($pwd));
  48.                 read_smtp_answer($socket); // ответ сервера
  49.                
  50.                 echo "OK\n";
  51.                 echo "Check sender address ... ";
  52.                
  53.                 // Задаем адрес отправителя
  54.                 write_smtp_response($socket, 'MAIL FROM:<'.$from.'>');
  55.                 read_smtp_answer($socket); // ответ сервера
  56.                
  57.                 echo "OK\n";
  58.                 echo "Check recipient address ... ";
  59.                
  60.                 // Задаем адрес получателя
  61.                 write_smtp_response($socket, 'RCPT TO:<'.$to.'>');
  62.                 read_smtp_answer($socket); // ответ сервера
  63.                
  64.                 echo "OK\n";
  65.                 echo "Send message text ... ";
  66.                
  67.                 // Готовим сервер к приему данных
  68.                 write_smtp_response($socket, 'DATA');
  69.                 read_smtp_answer($socket); // ответ сервера
  70.                
  71.                 // Отправляем данные
  72.                 $message = "To: $to\r\n".$message; // добавляем заголовок сообщения "адрес получателя"
  73.                 $message = "Subject: $subject\r\n".$message; // заголовок "тема сообщения"
  74.                 write_smtp_response($socket, $message."\r\n.");
  75.                 read_smtp_answer($socket); // ответ сервера
  76.                
  77.                 echo "OK\n";
  78.                 echo 'Close connection ... ';
  79.                
  80.                 // Отсоединяемся от сервера
  81.                 write_smtp_response($socket, 'QUIT');
  82.                 read_smtp_answer($socket); // ответ сервера
  83.                
  84.                 echo "OK\n";
  85.                
  86.         } catch (Exception $e) {
  87.                 echo "\nError: ".$e->getMessage();
  88.         }
  89.        
  90.         if (isset($socket)) {
  91.                 socket_close($socket);
  92.         }
  93.        
  94.         }
  95. // Функция для чтения ответа сервера. Выбрасывает исключение в случае ошибки
  96.         function read_smtp_answer($socket) {
  97.                 $read = socket_read($socket, 1024);
  98.                
  99.                 if ($read{0} != '2' && $read{0} != '3') {
  100.                         if (!empty($read)) {
  101.                                 throw new Exception('SMTP failed: '.$read."\n");
  102.                         } else {
  103.                                 throw new Exception('Unknown error'."\n");
  104.                         }
  105.                 }
  106.         }
  107.        
  108.         // Функция для отправки запроса серверу
  109.         function write_smtp_response($socket, $msg) {
  110.                 $msg = $msg."\r\n";
  111.                 socket_write($socket, $msg, strlen($msg));
  112.         }
  113.  

так то всё отправляет, только вот без htmlНедовольство, огорчение
нужно отправить заголовок
вот что пытался добавить исходя из прочтённого перед отправкой данных, не выходит, просто виснет(
PHP:
скопировать код в буфер обмена
  1.  
  2. // Заголовки
  3.                 write_smtp_response($socket, 'Content-type: text/html; charset=utf-8l');
  4.                 read_smtp_answer($socket); // ответ сервера
  5.  
xTODx Отправлено: 02 Августа, 2015 - 21:36:22 • Тема: грамотное отправление писем Mail(); • Форум: Вопросы новичков

Ответов: 5
Просмотров: 325
Решил попробовать smtp
выдрал код на каком-то сайте, как работать должно понял, только вот пример не работает никак(
PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3.         header('Content-Type: text/plain;');
  4.         error_reporting(E_ALL ^ E_WARNING);
  5.         ob_implicit_flush();
  6.  
  7.         $address = 'localhost'; // адрес smtp-сервера
  8.         $port    = 25;          // порт (стандартный smtp - 25)
  9.        
  10.         $login   = 's';    // логин к ящику
  11.         $pwd     = 's';    // пароль к ящику
  12.        
  13.         $from    = 'a@s.com.ua';  // адрес отправителя
  14.         $to      = '0994697770@mail.ru';  // адрес получателя
  15.        
  16.         $subject = 'Message 007';       // тема сообщения
  17.         $message = 'Проверка';          // текст сообщения
  18.  
  19.         try {
  20.                
  21.                 // Создаем сокет
  22.                 $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
  23.                 if ($socket < 0) {
  24.                         throw new Exception('socket_create() failed: '.socket_strerror(socket_last_error())."\n");
  25.                 }
  26.  
  27.                 // Соединяем сокет к серверу
  28.                 echo 'Connect to \''.$address.':'.$port.'\' ... ';
  29.                 $result = socket_connect($socket, $address, $port);
  30.                 if ($result === false) {
  31.                         throw new Exception('socket_connect() failed: '.socket_strerror(socket_last_error())."\n");
  32.                 } else {
  33.                     echo "OK\n";
  34.                 }
  35.                
  36.                 // Читаем информацию о сервере
  37.                 read_smtp_answer($socket);
  38.                
  39.                 // Приветствуем сервер
  40.                 write_smtp_response($socket, 'EHLO '.$login);
  41.                 read_smtp_answer($socket); // ответ сервера
  42.                
  43.                 echo 'Authentication ... ';
  44.                        
  45.                 // Делаем запрос авторизации
  46.                 write_smtp_response($socket, 'AUTH LOGIN');
  47.                 read_smtp_answer($socket); // ответ сервера
  48.                
  49.                 // Отравляем логин
  50.                 write_smtp_response($socket, base64_encode($login));
  51.                 read_smtp_answer($socket); // ответ сервера
  52.                
  53.                 // Отравляем пароль
  54.                 write_smtp_response($socket, base64_encode($pwd));
  55.                 read_smtp_answer($socket); // ответ сервера
  56.                
  57.                 echo "OK\n";
  58.                 echo "Check sender address ... ";
  59.                
  60.                 // Задаем адрес отправителя
  61.                 write_smtp_response($socket, 'MAIL FROM:<'.$from.'>');
  62.                 read_smtp_answer($socket); // ответ сервера
  63.                
  64.                 echo "OK\n";
  65.                 echo "Check recipient address ... ";
  66.                
  67.                 // Задаем адрес получателя
  68.                 write_smtp_response($socket, 'RCPT TO:<'.$to.'>');
  69.                 read_smtp_answer($socket); // ответ сервера
  70.                
  71.                 echo "OK\n";
  72.                 echo "Send message text ... ";
  73.                
  74.                 // Готовим сервер к приему данных
  75.                 write_smtp_response($socket, 'DATA');
  76.                 read_smtp_answer($socket); // ответ сервера
  77.                
  78.                 // Отправляем данные
  79.                 $message = "To: $to\r\n".$message; // добавляем заголовок сообщения "адрес получателя"
  80.                 $message = "Subject: $subject\r\n".$message; // заголовок "тема сообщения"
  81.                 write_smtp_response($socket, $message."\r\n.");
  82.                 read_smtp_answer($socket); // ответ сервера
  83.                
  84.                 echo "OK\n";
  85.                 echo 'Close connection ... ';
  86.                
  87.                 // Отсоединяемся от сервера
  88.                 write_smtp_response($socket, 'QUIT');
  89.                 read_smtp_answer($socket); // ответ сервера
  90.                
  91.                 echo "OK\n";
  92.                
  93.         } catch (Exception $e) {
  94.                 echo "\nError: ".$e->getMessage();
  95.         }
  96.        
  97.         if (isset($socket)) {
  98.                 socket_close($socket);
  99.         }
  100.        
  101.         // Функция для чтения ответа сервера. Выбрасывает исключение в случае ошибки
  102.         function read_smtp_answer($socket) {
  103.                 $read = socket_read($socket, 1024);
  104.                
  105.                 if ($read{0} != '2' && $read{0} != '3') {
  106.                         if (!empty($read)) {
  107.                                 throw new Exception('SMTP failed: '.$read."\n");
  108.                         } else {
  109.                                 throw new Exception('Unknown error'."\n");
  110.                         }
  111.                 }
  112.         }
  113.        
  114.         // Функция для отправки запроса серверу
  115.         function write_smtp_response($socket, $msg) {
  116.                 $msg = $msg."\r\n";
  117.                 socket_write($socket, $msg, strlen($msg));
  118.         }
  119. ?>
  120.  

Помогите, пожалуйста.
xTODx Отправлено: 31 Июля, 2015 - 13:24:46 • Тема: грамотное отправление писем Mail(); • Форум: Вопросы новичков

Ответов: 5
Просмотров: 325
написал хостеру, сказали что сообщения уходят, но потом их отбрасывает спамфильтр, понял что не катит.
исправил на base64_encode, как написано в хабре.
PHP:
скопировать код в буфер обмена
  1.  
  2. function mess($email, $code){
  3.                 global $config;
  4.                 $from  = "?utf-8?b?".base64_encode($config->EMAIL)."? = <{$config->EMAIL}>";
  5.                 $to  = "?utf-8?b?".base64_encode($email)."? = <{$email}>";
  6.                 $title = "Регистрация на {$config->BASE_URL}";
  7.                 $subject = "?utf-8?b?".base64_encode($title )."? = <{$title }>";
  8.                                 $message = "<p>Здравствуйте! Вы получили это письмо в связи с тем, что зарегистрировались на сайте арт-площадки <u>&laquo; <a href=\"{$config->BASE_URL}\">Борщ</a>&raquo;</u>&nbsp; Чтобы закончить процесс активации аккаунта, пройдите, пожалуйста, по следующей ссылке: </p> <em><a href=\"{$config->BASE_URL}/code/{$code}\">{$config->BASE_URL}/code/{$code}</a></em><br /> Аттеншн! Если Вы не совершали регистрацию, всё равно заходите к нам смотреть всякие искусства &ndash; у нас только самое вкусное и интересное :)</p";
  9.                                 $headers = "From: {$from}" . "\r\n" .
  10.                                 "Reply-To: {$to}" . "\r\n" .
  11.                                 'Content-type: text/html; charset=utf-8' . "\r\n".
  12.                                 'X-Mailer: PHP/' . phpversion();
  13.                                 mail($email, $subject, $message, $headers);
  14.                        
  15.                 }
  16.  
xTODx Отправлено: 31 Июля, 2015 - 00:44:42 • Тема: грамотное отправление писем Mail(); • Форум: Вопросы новичков

Ответов: 5
Просмотров: 325
DlTA пишет:
если mail() не отправляет возможно это дело запрешено на сервере
стучите админам

может что-то не правильно написал???
хм(
(Добавление)
exlant пишет:
настройки php.ini смотрели?

на хостинге разместился, на денвере отправлялось,хм.
Хотя с того момента конечно поменялась функция у меня, но не отправляет даже обычные сообщения.
xTODx Отправлено: 30 Июля, 2015 - 14:02:54 • Тема: грамотное отправление писем Mail(); • Форум: Вопросы новичков

Ответов: 5
Просмотров: 325
Добрый день, прочитал Статью на хабре, но что-то видимо не догнал.
Вот функция отправки
PHP:
скопировать код в буфер обмена
  1.  
  2. function mess($email, $code){
  3.                 global $config;
  4.                 $from  = "?utf-8?b?".utf8_encode($config->EMAIL)."? = <{$config->EMAIL}>";
  5.                 $to  = "?utf-8?b?".utf8_encode($email)."? = <{$email}>";
  6.                 $title = "Регистрация на {$config->BASE_URL}";
  7.                 $subject = "?utf-8?b?".utf8_encode($title )."? = <{$title }>";
  8.                 $message = "<p>Сообщение</p";
  9.                 $headers = "From: {$from}" . "\r\n" .
  10.                                 "Reply-To: {$to}" . "\r\n" .
  11.                                 'Content-type: text/html; charset=utf-8' . "\r\n".
  12.                                 'X-Mailer: PHP/' . phpversion();
  13.                 mail($email, $subject, $message, $headers);
  14.                        
  15. }
  16.  

Письма не приходятНедовольство, огорчение
помогите. пожалуйста, уже замучался
xTODx Отправлено: 16 Июня, 2015 - 19:42:11 • Тема: Проблемы с хостингом • Форум: Вопросы новичков

Ответов: 11
Просмотров: 384
отвечаю, технарь.
я по поводу первого предупреждения, да, провтыкал.
если я не технарь, по балерина по ходу.
и схватываю я быстро, просто хостер орёт что у него всё правильно, всё работает, а я гавнокодер.
А я решил проверить уже, взял пример с php.net
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4. $mysqli = new mysqli("localhost", "astarzb_root", "gfhjkm96", "astarzb_borstch");
  5.  
  6. if($mysqli->connect_error)
  7. {
  8.     die("$mysqli->connect_errno: $mysqli->connect_error");
  9. }
  10.  
  11. $query = "SELECT * FROM `users` WHERE id = ?";
  12.  
  13. $stmt = $mysqli->stmt_init();
  14. if(!$stmt->prepare($query))
  15. {
  16.     print "Ошибка подготовки запроса\n";
  17. }
  18. else
  19. {
  20.     $stmt->bind_param("i", $continent);
  21.  
  22.     $continent_array = array(1,6,8,9,10);
  23.  
  24.     foreach($continent_array as $continent)
  25.     {
  26.         $stmt->execute();
  27.         $result = $stmt->get_result();
  28.         while ($row = $result->fetch_array(MYSQLI_NUM))
  29.         {
  30.             foreach ($row as $r)
  31.             {
  32.                 print "$r ";
  33.             }
  34.             print "\n";
  35.         }
  36.     }
  37. }
  38.  
  39. $stmt->close();
  40. $mysqli->close();
  41. ?>
  42.  

вот отсюда взял пример, подогнал под свою базу, http://php.net/manual/ru/mysqli-...t.get-result.php
итог http://borstch[dot]com[dot]ua/base.php
xTODx Отправлено: 16 Июня, 2015 - 19:26:54 • Тема: Проблемы с хостингом • Форум: Вопросы новичков

Ответов: 11
Просмотров: 384
LIME пишет:
xTODx пишет:
Дата рег-ции: Янв. 2013  
бесполезно
Тут уже не помочь
(Добавление)
Поможет только гвоздь в висок
Забить чтоб не мучался
(Добавление)
Офигеть я глянул вышеУлыбкаУлыбкаУлыбка
Не я один хочу гвоздь забитьУлыбкаУлыбка
Правда не видел до тогоУлыбка

Хватит, пожалуйста, я не просто-так обратился, чтобы меня высмеяли, понял, что глуп, исправлюсь, честно(для того я и писал в форум, чтобы мне указали на мою ошибку).
Но с mysqli_stmt::get_result() проблема всё-таки.
На Denwer-е всё работает
xTODx Отправлено: 16 Июня, 2015 - 19:09:28 • Тема: Проблемы с хостингом • Форум: Вопросы новичков

Ответов: 11
Просмотров: 384
Помогите-же, вот ссылка со списком модулей
http://borstch[dot]com[dot]ua/indexphp.php
Хостер говорит что всё есть, посмотрел, и правда, PDO Driver for MySQL enabled.
Файл который связывается с базой.
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.         require_once "config.php" ;
  3.         class db extends Config {
  4.                 private $connection ;
  5.                 function __construct() {
  6.                         $this->open_connection() ; // сразу подключает к бд
  7.                 }
  8.                 private function open_connection() {
  9.                         $this->connection = new mysqli($this->DB_HOST, $this->DB_USER, $this->DB_PASS,$this->DB_NAME);
  10.                         if(!$this->connection) {
  11.                                 die("Ошибка в подключении к БД:". $this->connection->list_error ) ;
  12.                         }
  13.                         }      
  14.                        
  15.                 function refValues($arr){ // без этого метода работает не на всех версиях!
  16.                         if (strnatcmp(phpversion(),'5.3') >= 0) { //Если версия PHP >=5.3 (в младших версиях все проще)
  17.                                         $refs = array();
  18.                                         foreach($arr as $key => $value) {
  19.                                                         $refs[$key] = &$arr[$key]; //Массиву $refs присваиваются ссылки на значения массива $arr
  20.                                         }
  21.                                         return $refs; //Массиву $arr присваиваются значения массива $refs
  22.                         }
  23.                         return $arr; //Возвращается массив $arr
  24.                 }      
  25.                
  26.                 public function sql($query,$array) {
  27.                         if(!($stmt = $this->connection->prepare($query))){
  28.                 trigger_error('Mysqli Ошибка: <b>'.$this->connection->error.'('.$this->connection->errno.')</b>!',E_USER_ERROR);
  29.                 }    
  30.                         if(is_array($array))
  31.                         call_user_func_array(array($stmt,'bind_param'),$this->refValues($array));
  32.                         if(!$stmt->execute())
  33.                         trigger_error('Not run execute: <b>'.$stmt->error.'('.$stmt->errno.')</b>!', E_USER_ERROR);
  34.                        
  35.                        
  36.                         $result = $stmt->get_result();
  37.                        
  38.                 $stmt->close();
  39.  
  40.                         return $result ;
  41.                 }      
  42.         }
  43.         $db = new db() ;
  44.        
  45. ?>
xTODx Отправлено: 15 Июня, 2015 - 13:54:01 • Тема: Проблемы с хостингом • Форум: Вопросы новичков

Ответов: 11
Просмотров: 384
lastdays пишет:
Что тут ещё пояснять, Notice: Undefined index .... и 2 года на форуме программистов, пора знать азы.

з.ы. драйвера mysqli нету скорее всего.

извиняюсь, да, просто не попадалось раньше)))
xTODx Отправлено: 13 Июня, 2015 - 17:35:07 • Тема: Проблемы с хостингом • Форум: Вопросы новичков

Ответов: 11
Просмотров: 384
Спасибо!
А по поводу
Мелкий пишет:

Без комментариев.

не понял, объясните?
xTODx Отправлено: 13 Июня, 2015 - 17:20:06 • Тема: Проблемы с хостингом • Форум: Вопросы новичков

Ответов: 11
Просмотров: 384
В общем, всегда пользовался хостингом ukraine.com.ua, это не реклама, Всегда быстро отвечал поддержка, всё стабильно работает.
Сейчас-же заказчик решил сам купить хостинг, нашёл что-то дешевле, я сразу подумал про качество.
Сначала неделю добивался данных для фтп от поддержки, в админке этого просто не указано.
Ну залился, кое-как поборол проблемы, почти-все...
но только вот что имеем?
Цитата:
Call to undefined method mysqli_stmt::get_result()

Что делать? как быть?
про mysqli читал, возможно на хостинге старый php, а?
ч
xTODx Отправлено: 28 Мая, 2015 - 23:48:22 • Тема: Нейронная сеть на php • Форум: Вопросы новичков

Ответов: 2
Просмотров: 209
DeepVarvar пишет:
Google -> нейронная сеть на пхп
Ничего не выдал?
Там десятки ссылок, и даже рабочие примеры.

первым делом так сделал, везде c FANN
xTODx Отправлено: 28 Мая, 2015 - 19:58:42 • Тема: Нейронная сеть на php • Форум: Вопросы новичков

Ответов: 2
Просмотров: 209
Всем привет, в основном занимаюсь веб дизайном.
Но тут начитался про нейронные сети, и захотелось разобраться, ближе всего мне всё-таки php( в C++ знаком только с базовыми понятиями).
Так вот, что можно почитать, + кто может подсказать что-то о создании нейронной сети.
Видел пишут про FANN и т.д.
Сразу скажу, цель - написать полностью всю ИНС.
Функционал - стандартно, определение цифр для начала)
xTODx Отправлено: 27 Мая, 2015 - 18:13:51 • Тема: Двухтабличный запрос без повторений • Форум: SQL и Архитектура БД

Ответов: 2
Просмотров: 46
Есть таблица author (id | name)
И таблица art(id, name, img, author, type)
Связь один autor.id к много art.id
Нужно получить author.id, author.name, art.img(одну из картинок привязанных к автору)
примерно так, верно?
SELECT * FROM author, art GROUP by author.id
(Добавление)
так выводит одну и ту-же img для всех авторов
(Добавление)
SELECT * FROM author, art WHERE author.id = art.id GROUP by author.id
xTODx Отправлено: 08 Мая, 2015 - 22:22:42 • Тема: Отправка формы без перезагрузки странички • Форум: Вопросы новичков

Ответов: 8
Просмотров: 287
Такой-вот велосипед закрутил, работает.
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. function pod(){
  3.         name = $("input[name='ufio']").val();
  4.         $("input[type='checkbox']:checked").each(function(index, element) {
  5.         alert($(element).val());
  6.                 check[index] = $(element).val();
  7.     });
  8.         pod = $("input[name='pod']:checked").val();
  9.         ud = $("input[name='ud']:checked").val();
  10.         /*Ajax*/
  11. }
  12.  
  13.  

Страниц (19): « 1 [2] 3 4 5 6 7 8 9 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB