Создание простого чата. Часть 1. Основы отправки данных
Запись от EndoCrinologist размещена 27.10.2011 в 22:46
Обновил(-а) EndoCrinologist 28.10.2011 в 11:37
Обновил(-а) EndoCrinologist 28.10.2011 в 11:37
Теперь я научу Вас, как отправлять данные на сервер обработки PHP.
Для начала нам нужно создать свой локальный сайт. Для этого:
1) На установленном виртуальном диске в папке home создайте папку с названием chat.ru (название может быть любое)
2) В папке chat.ru создайте папку www и в ней создайте файл index с расширением php (или html, что не принципиально) и напишите следующий код:
PHP код:
<title>Chat.ru</title>
<center><embed src=chat.swf width=600 height=400></center>
После этого, открыв браузер и введя в строку chat.ru (если у вас отключен прокси), появится пустая страница, в титле которой отобразится "Chat.ru".
Теперь займемся созданием клиента, то есть железом:
1) На рабочем поле создайте Dynamic Text с Instance Name info.
2) Создайте поле Input Text с Instance Name vvod.
3) Создайте любой мувик, путем нажатия Ctrl F8. Поместите его на рабочее поле с Instance Name sender.
С железом покончено, переходим к коду.
Для начала пояснение. В нашем случае используется, выражаясь проще, "контейнерная система отправки". То есть, мы создаем большой контейнер, добавляем в него переменные со значениями и затем отправляем на сервер в PHP-файл. Это реализуется так (пишем в том же кадре, где и наше железо):
1) Создадим функцию initProg(), внутри неё пропишите:
2) Выше этой функции пропишите строку:
Это функция обработки нажатия и запуска процесса отправки данных.
2) Создадим ниже новую функцию sendData(). Далее, весь код мы писать будем в ней. Сразу же внутри пропишите код:
Нужно для того, чтобы хоть как-то визуально отслеживать ход выполнения отправки и получения.
3) Создадим Отправителя наших данных, то есть, контейнер:
Желательно, чтобы имя Отправителя и получателя были одинаковые, отличаясь только последней частью - In (принятие данных) и Out (отправка данных), поэтому...
4) Создадим Приёмник данных, то есть переменная, которая получит результат обработки скрипта PHP:
5) Теперь мы укажем ссылку на PHP-файл, который будет обрабатывать наш контейнер с переменными:
6) А вот теперь сам процесс создания контейнера. Это непосредственно связано с указанным выше именем отправителя, то есть, наши переменные будут добавляться туда с помощью привязки к имени отправителя. Существуют 2 способа привязки:
I СПОСОБ - с помощью цикла with (){}. Тогда мы указываем внутри скобок имя нашего отправителя и далее внутри указываем те переменные, которые нужно отправить на сервер:
with (dataOut){ vvod_name = vvod.text // так как мы будем отправлять переменную, которую введем в поле ввода vvod }
Как вы видите, способы ничем не отличаются, если только вам не лень лишний раз писать dataOut.. Особенно, когда у вас сложная программа с огромным количеством переменных (хотя по статистике, на сервере хранится не боле 30-40 значений с одного пользователя). Кстати, строка _name введена для того, чтобы разработчик не путался, что у него действительно в программе, а что у него отправляется на сервер.
Теперь, когда мы сформировали наш контейнер, можно его и отправлять.
7) Пропишем ниже строку отправления данных:
Объясню данную строку. sendAndLoad отправляет данные dataIn на серверный скрипт scrPHP по типу POST (который является наиболее безопасным по сохранности данных). Переменная dataIn получит ответ после работы скрипта. Пропишите ниже строку:
Сохраните Ваш fla-файл под именем chat.fla в папку, где сохранен index.php.
Теперь мы пропишем серверную часть, которая примет и обработает наши данные.
1) Создайте новый файл там же, где index.php и chat.fla под названием, указанным в коде отправки данных (script.php). Откройте его.
2) Как всегда, откроем наши любимые скобочки:
PHP код:
<?php
?>
PHP код:
$vvod = $_POST['vvod_name'];
4) Теперь, когда мы получили наше значение, мы можем с ними что-нибудь сделать. Допустим, это слово будет паролем. И если кодовое слово на сервере (скажем, скрипт) совпадет с переменной vvod, то мы выдадим соответсвующее значение. Реализуем через if(){}:
PHP код:
if ($vvod == "скрипт"){
echo "result=1";
} else {
echo "result=0";
}
В следующей части мы рассмотрим, как принять наши данные и обработать их.
Спасибо за внимание
Всего комментариев 12
Комментарии
28.10.2011 11:21 | |
чат? AS2? php?
Увольте. Цитата:
I СПОСОБ - с помощью цикла with (){}
|
28.10.2011 12:10 | |
Увольняю..))
|
28.10.2011 13:27 | |
былоб попроще на as3 и через сокет
|
28.10.2011 13:47 | |
А ещё проще p2p
|
28.10.2011 17:14 | |
я просто объясняю сам принцип работы
|
29.10.2011 02:34 | |
Цитата:
я просто объясняю сам принцип работы
ИМХО, но думаю со мной многие согласны. |
|
Обновил(-а) Котяра 29.10.2011 в 14:53
|
29.10.2011 11:21 | |
Если вредны, то прошу никого не смотреть. Какая тогда Вам разница, что здесь творится? Это мой блог, где я пишу то, как делаю сам. Вам-то что?
|
29.10.2011 11:28 | |
Цитата:
Это мой блог
|
29.10.2011 11:31 | |
Я вижу)
|
29.10.2011 13:23 | |
29.10.2011 16:37 | |
Топик стартеру срочно учить мат-часть. Особенно порадовало "железо" и "цикл with".
|
Последние записи от EndoCrinologist
- Настройка сокетов для Flash 8 (07.03.2013)
- Создание простого чата. Часть 1. Основы считывания данных (28.10.2011)
- Создание простого чата. Часть 1. Основы получения данных (28.10.2011)
- Создание простого чата. Часть 1. Основы отправки данных (27.10.2011)
- Создание простого чата. Часть 1. Введение (27.10.2011)