Смс оповещение

Z
На сайте с 20.04.2015
Offline
19
978

Есть лендинг, хочу сделать чтобы текст письма приходил ещё и на телефон.

Вот код

<?php


$to = 'почта';
$from = $_REQUEST['email'];
$name = $_REQUEST['name'];
$headers = array();
$headers[] = "MIME-Version: 1.0";
$headers[] = "Content-type: text/plain; charset=utf-8";
$headers[] = "From: $from";
$headers[] = "X-Mailer: PHP/".phpversion();
$subject = "Тема письма";

$fields = array();
$fields{"name"} = "Имя";
$fields{"phone"} = "Телефон";


$body = "Данные формы:\n\n"; foreach($fields as $a => $b){ $body .= sprintf("%s: %s\n",$b,$_REQUEST[$a]); }

$send = mail($to, $subject, $body, implode("\r\n", $headers));

$sms=file_get_contents("http://sms.ru/sms/send?api_id=api_id&to=телефон&text=$send");

?>

Но отправляется цифра 1.

Менял $send на $body. Не работает.

[umka]
На сайте с 25.05.2008
Offline
456
#1
z1bit:
Но отправляется цифра 1.

Потому что "цифра 1" присваивается переменной в этой строке:

$send = mail($to, $subject, $body, implode("\r\n", $headers));

z1bit:
Менял $send на $body. Не работает.

В чём проявляется это "не работает"?

Формат и кодировка строки соответствует требованиям, указанным в документации SMS-провайдера? Сомневаюсь. Она у вас даже не кодируется для URL.

Лог в помощь!
Z
На сайте с 20.04.2015
Offline
19
#2
'[umka:
;13663472']Потому что "цифра 1" присваивается переменной в этой строке:
$send = mail($to, $subject, $body, implode("\r\n", $headers));



В чём проявляется это "не работает"?
Формат и кодировка строки соответствует требованиям, указанным в документации SMS-провайдера? Сомневаюсь. Она у вас даже не кодируется для URL.

Если стоит $body, то смс вообще не приходит. А при переходн на mail.php

Warning: file_get_contents(http://sms.ru/sms/send?api_id=...&to=...&text=Данные формы: Имя: Телефон: ) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.0 400 Bad request in /url/mail.php on line ...

---------- Добавлено 20.04.2015 в 14:58 ----------

Если ставить вариант, как на сайте


$sms=file_get_contents("http://sms.ru/sms/send?api_id=api_id&to=телефон&text=".urlencode(iconv("windows-1251","utf-8","$body")));

То смс приходит, но с кодировкой что то не то.

Z
На сайте с 20.04.2015
Offline
19
#3

Сделал так


$sms=file_get_contents("http://sms.ru/sms/send?api_id=api_id&to=телефон&text=".urlencode(iconv("windows-1251","utf-8","$body")));

Смс приходит, но с кодировкой что то не то.

Z
На сайте с 20.04.2015
Offline
19
#4

Как можно исправить кодировку?

S
На сайте с 02.05.2014
Offline
61
#5
z1bit:
Как можно исправить кодировку?

А вы уверены, что текст в перемеренной body, в кодировке windows-1251?

Z
На сайте с 20.04.2015
Offline
19
#6
Sujcnm:
А вы уверены, что текст в перемеренной body, в кодировке windows-1251?

А как это проверить?

И этот текст


$body = "Данные формы:\n\n"; foreach($fields as $a => $b){ $body .= sprintf("%s: %s\n",$b,$_REQUEST***91;$a***93;); }

тоже приходит в другой кодировке.

L5
На сайте с 11.10.2009
Offline
65
La5
#7
z1bit:
А как это проверить?

И этот текст


$body = "Данные формы:\n\n"; foreach($fields as $a => $b){ $body .= sprintf("%s: %s\n",$b,$_REQUEST***91;$a***93;); }


тоже приходит в другой кодировке.

я вангую на то, что тебе надо убрать: iconv, т.е. вот так:


file_get_contents("http://sms.ru/sms/send?api_id=api_id&to=телефон&text=".urlencode($body));

причина всего скорее в том, что ты сохраняешь файл скрипта уже в utf8, соответственно тебе не надо делать дополнительную перекодировку

Если я Вам помог, не забывайте ставить + в карму!
Z
На сайте с 20.04.2015
Offline
19
#8
La5:
я вангую на то, что тебе надо убрать: iconv, т.е. вот так:

file_get_contents("http://sms.ru/sms/send?api_id=api_id&to=телефон&text=".urlencode($body));


причина всего скорее в том, что ты сохраняешь файл скрипта уже в utf8, соответственно тебе не надо делать дополнительную перекодировку

Спасибо! Теперь всё приходит в нормальной кодировке)

M
На сайте с 09.06.2014
Offline
20
#9

каким сервисом рассылки пользуетесь? что по стоимости?

PN
На сайте с 22.08.2012
Offline
103
#10
maxhim:
каким сервисом рассылки пользуетесь? что по стоимости?

там же видно из адреса

Мой совет помог? Не скупись! Bitcoin 1Lseddet1o1B6odgXQHbGaWGwRkt1Db8Ef Ethereum 0x450f1a17461e25194B7F9226cDEe70173F39e1e1

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий