Отправка данных на почту

уроки, мануалы, советы по Construct 2

Сообщение Отправка данных на почту
» 03 апр 2015, 17:34

Добрый день, уважаемые форумчане!
Недавно лазил по форуму и обнаружил, что есть достаточно много вопросов по отправке данных на почту, например, результатов. Я сам не раз задавался этим вопросом, но по разным причинам откладывал его на ближайшее/далёкое будущее. Буквально вчера я разобрался с кодом и собственно, что и как нужно сделать, чтобы получить письмо от своей игры. Пользуясь случаем, хочу поблагодарить Sir_G'а за помощь в некоторых моментах.

Итак, приступим.

 Что нам понадобится:
- Notepad ++ (для удобства работы);
- Хостинг, поддерживающий PHP-скрипты;
- Программа, при помощи которой можно будет соединиться со своим сайтом по FTP (Total Commander подойдёт);
- Приложение в Construct 2;
- Файл с нашим php-кодом;
- Ваш E-mail;
- Хотя бы небольшое понятие о том, что мы сейчас будем делать.


 Скачайте Notepad ++
Для нашего дела он очень полезен. Скачивайте отсюда: http://notepad-plus-plus.org/download/v6.7.5.html


 Теперь выберем хостинг:
Для начала я бы порекомендовал вам использовать 000.webhost.com
Он является бесплатным и поддерживает php-скрипты (можете заплатить и использовать больше функций). Как там зарегистрироваться? Не буду изобретать велосипед, пользователь Ilyko96 уже описал этот процесс в одном из своих уроков (кстати, тоже связанных с php). Вот, держите ссылку: http://c2community.ru/forum/viewtopic.php?f=4&t=524 Спойлер номер 1 "Подготовка к работе".


 Готовы? Тогда приступаем к этому пункту:
Теперь давайте создадим наше приложение. Его смысл будет такой: просто квадрат, на него нужно тыкать. Потыкали, пока вам не надоест, ввели e-mail, на который отправить письмо и радуемся.
File => New => New Empty Project. Размер лэйаута выставим 800 на 600:
Изображение

Теперь выставим размер окна 800 на 600:
Изображение

Теперь давайте создадим наш квадрат:
Изображение

Заливаем его любым цветом, размещаем повыше.
Добавим текст, объект Mouse и переменную, которая будет отображать количество кликов:
Изображение

Изображение

Изображение

Называем её ClickCounter:
Изображение

Теперь нужно добавить действие, которое будет считать клики:
Для этого добавляем условие: Mouse => On object clicked:
Изображение

Выбираем наш квадрат:
Изображение

В действии делаем так: System => Add to и записываем:
Изображение

Добавляем ещё одно действие: ClickCounterText (наш текст) => Set text => ClickCounter:
Изображение

Теперь наш условие&действие будет выглядеть так:
Изображение

Давайте добавим объект Text box и назовём его Email:
Изображение

Разместим под нашим квадратом, чуток растянем... всё - готово.
Вот как получилось у меня:
Изображение

Добавим кнопку SEND:
Изображение

Добавьте объект AJAX...

Создаём новое событие: SEND => On clicked. Теперь действие: AJAX => Post to URL. Заполняем по следующей картинке:
Изображение

Что мы только что написали в строке Data: таким способом мы будем передавать значения для переменных $email и $score в нашем php-скрипте.

С этим всё.


 Займёмся созданием php-скрипта
Открываем наш Notepad++, создаём новый файл, меняем синтаксис на PHP:
Изображение

Пишем так, как на картинке: header('Access-Control-Allow-Origin: *');:
Изображение

Это позволит нам совершать кросс-доменные запросы.

Теперь давайте запишем наши переменные. $_POST['email'] значит, что данная переменная будет принимать значение получаемое от нашего приложения.
Изображение

Добавьте следующую строку $headers = 'Content-type: text/html; charset=utf-8';

Добавьте mail($email, "Тема сообщения", $score, $headers);:
Изображение
Это строка и будет отправлять письмо на указанный ящик.

Сохраняем в расширении php - send.php.
Загружаем этот файл на наш хостинг...
Теперь нужно подредактировать действие с AJAX. Теперь, когда вы загрузили скрипт на сервер, можно вставить ссылку на него. У меня она например такая:
Изображение

С этим закончили.


 Тестируем
Протестируйте ваше приложение в браузере. Понажимайте сколько угодно на квадрат, введите свой e-mail и нажмите SEND. Вскоре вы получите письмо на ваш ящик с набранным количеством очков.
Изображение


Благодарю за внимание! Надеюсь, урок окажется для вас полезным.
Скрипт (в .txt формате) и исходник ниже.
SendMailExample.capx
(172.38 КБ) Скачиваний: 113
Исходник
send.txt
(225 байт) Скачиваний: 108
(Пересохраните в формате php)
Последний раз редактировалось _Victor_ 04 апр 2015, 14:44, всего редактировалось 3 раз(а).
Аватара пользователя

Участник
Сообщений: 217
Я тут с 24 июл 2013
Откуда: Беларусь, Минск
Репутация 59 [ ? ]

Сообщение Отправка данных на почту
» 03 апр 2015, 17:48

 Не знаю, может мои уроки такие же, но
О БОЖЕ В ЭТОМ УРОКЕ СТОЛЬКО НОВОГО, ЦЕЛАЯ ОДНА НОВАЯ PHP ФУНКЦИЯ

 Пост Скриптум
_Victor_ писал(а):- Программа, при помощи которой можно будет соединиться со своим сайтом по FTP (Total Commander подойдёт);

Кстати, на том хосте есть встроенный менеджер
Аватара пользователя

Модератор
Сообщений: 2154
Я тут с 11 окт 2013
Откуда: Челябинск
Двиг: С2
Лицензия: Pirate
VK: night_silent
Репутация 223 [ ? ]

Сообщение Отправка данных на почту
» 03 апр 2015, 17:53

Ты тоже писал урок на эту тему? Если да, то извини - не видел.
Аватара пользователя

Участник
Сообщений: 217
Я тут с 24 июл 2013
Откуда: Беларусь, Минск
Репутация 59 [ ? ]

Сообщение Отправка данных на почту
» 03 апр 2015, 17:58

_Victor_, На нашем форуме целая куча уроков по связке PHP + C2:
Мультиплеер
Регистрация
Вход
Онлайн таблица рекордов
Прочитав эти уроки не сложно реализовать то, что описано у тебя.
Аватара пользователя

Модератор
Сообщений: 2154
Я тут с 11 окт 2013
Откуда: Челябинск
Двиг: С2
Лицензия: Pirate
VK: night_silent
Репутация 223 [ ? ]

Сообщение Отправка данных на почту
» 03 апр 2015, 18:01

Но всё же теперь и такой урок есть.
Аватара пользователя

Участник
Сообщений: 217
Я тут с 24 июл 2013
Откуда: Беларусь, Минск
Репутация 59 [ ? ]

Сообщение Отправка данных на почту
» 03 апр 2015, 18:02

Не вижу смысла бурчать.
Человек сделал полезное дело, чем больше уроков, тем проще и лучше всем.
Изображение
Я вот делаю игры ради денег, но их никто не покупает - меня можно считать тру-инди? (c) paradine
Аватара пользователя

Участник
Сообщений: 555
Я тут с 19 дек 2014
Двиг: Construct 2
Лицензия: Business
Репутация 57 [ ? ]

Сообщение Отправка данных на почту
» 03 апр 2015, 18:03

_Victor_, Это я просто к тому, что перед тем как писать уроки стоит ознакомится с уже существующими...
Аватара пользователя

Модератор
Сообщений: 2154
Я тут с 11 окт 2013
Откуда: Челябинск
Двиг: С2
Лицензия: Pirate
VK: night_silent
Репутация 223 [ ? ]

Сообщение Отправка данных на почту
» 03 апр 2015, 18:04

endermAH, ну так именно этого урока же не было. Тем более с теми я ознакомился уже давно. Появилось настроение - написал урок. И, да:
чем больше уроков, тем проще и лучше всем
Аватара пользователя

Участник
Сообщений: 217
Я тут с 24 июл 2013
Откуда: Беларусь, Минск
Репутация 59 [ ? ]

Сообщение Отправка данных на почту
» 03 апр 2015, 18:33

Pauklestnica писал(а):чем больше уроков, тем проще и лучше всем

Соглашусь с этим выражением. Иногда бывает так, что читаешь один урок и не можешь въехать в суть (я не говорю, что у endermAH, что то непонятно, я просто в целом), потом читаешь другой, вроде о том же, и О чудо! понял. Возможно что разные люди используют разные слова, термины (кому то кажется важным одно, кому то важным другое и соответственно акцент делается на разные вещи). И по разному их воспринимают, поэтому не будет лишним дважды почитать об одном и том же для закрепления.
Аватара пользователя

Участник + Android
Сообщений: 372
Я тут с 28 мар 2014
Репутация 23 [ ? ]

Сообщение Отправка данных на почту
» 03 апр 2015, 19:00

rooo000, _Victor_, Pauklestnica, Всё-всё-всё, убедили, можете писать хоть мильон уроков про одно и то же, я спорить не буду. :bye2: Просто время, потраченное на написание этого урока можно было бы потратить на написание урока по более востребованнной теме.
Аватара пользователя

Модератор
Сообщений: 2154
Я тут с 11 окт 2013
Откуда: Челябинск
Двиг: С2
Лицензия: Pirate
VK: night_silent
Репутация 223 [ ? ]



Вернуться в Уроки по Construct 2

Сейчас эту тему просматривают

Зарегистрированные пользователи: нет зарегистрированных пользователей

Наверх