PDA

Просмотр полной версии : Реализация метода POST и посмотр результата в виде HTML кода.


Nosferato
12.09.2007, 23:26
Задача такая.
Есть HTML форма с полями: Имя(name), Возраст(age).

<form name="form1" method="post" action="http://localhost/site1/register.php">
<input type="text" name="name">
<input type="text" name="age">
<input type="submit" name="Submit" value="Отправить">
</form>

Надо с помощью Flash методом Post отправить 3 переменные: name,age,Submit. в эту форму по адресу к примеру: http://localhost/site1/register.php
И получить ответ в этот же флеш ролик в текстовое поле "TextArea" в виде HTML кода. Причем получение кода надо реализовать только средствами Flash!

Пропробовал сам написать,но в текствое поле сбрасывается не html код а что-то не понятное "step=1%22%3E%20%20%20%20%20%20%20%20%20" и в таком духе....., вот код исходника:

register.onRelease = function() {
myLoadVars = new LoadVars();
myLoadVarsReceive = new LoadVars();
myLoadVars.name= String(name.text);
myLoadVars.age= String(age.value);
myLoadVars.Submit = "Отправить";
myLoadVarsReceive.onLoad = function()
{
rezult.text=myLoadVarsReceive;
};
myLoadVars.sendAndLoad("http://localhost/site1/register.php", myLoadVarsReceive, "POST");
}

etc
12.09.2007, 23:28
Nosferato, отредактируйте свой пост и оформите код тегами .

Nosferato
12.09.2007, 23:42
Nosferato, отредактируйте свой пост и оформите код тегами .

Ок. Отредактировал! :)

etc
12.09.2007, 23:56
А HTML?

И где код register.php?

Nosferato
13.09.2007, 00:14
А HTML?

И где код register.php?

Код к register.php к примеру такой:

<?php

echo "<html><head><title>123</title></head><body><form name=\"form1\" method=\"post\" action=\"http://localhost/site1/register.php\">"
. "<input type=\"text\" name=\"name\">"
. "<input type=\"text\" name=\"age\">"
. "<input type=\"submit\" name=\"Submit\" value=\"Отправить\">"
. "</form>";

if (isset($_POST[Submit]))
{
//обработка переменных....
echo "<p>Спасибо за информацию...., в ближайшее время мы рассмотрим ваш запрос.</p>";
}

echo "</body></html>";
?>


И вот еще что класс "LoadVars.as"


//****************************************************************************
// ActionScript Standard Library
// LoadVars object
//****************************************************************************

dynamic intrinsic class LoadVars
{
var contentType:String;
var loaded:Boolean;
var _customHeaders:Array;

function load(url:String):Boolean;
function send(url:String,target:String,method:String):Boolean;
function sendAndLoad(url:String,target,method:String):Boolean; // target not typed because it could be LoadVars or XML
function getBytesLoaded():Number;
function getBytesTotal():Number;
function decode(queryString:String):Void;
function toString():String;
function onLoad(success:Boolean):Void;
function onData(src:String):Void;
function addRequestHeader(header:Object, headerValue:String):Void; // first param could be String or Array
}


Его нельзя ни как переделать на свой лад так, что бы он считывал не пара=значение, а полностью все содержимое ? Я думал воспользуюсь методами более высшего класса, но так и не понял какие методы он наследует и с какого класса. Вообщем можно было бы собрать свой класс для работы с HTML конентом, но пока опыта не хватает :)

Вообщем разобрался сам :)..... теперь проблема стала в работе с русской кодировкой, она почему-то в поле textarea отобажается квадратиками (

Вообщем разобрался сам :)..... теперь проблема стала в работе с русской кодировкой, она почему-то в поле textarea отобажается квадратиками (

траблу решил )) таким способом: System.useCodepage = true;


Всем спасиб за в нимание. Спокойной ночи!...

Molecula
13.09.2007, 01:30
System.useCodepage = true; - сие означает, что инфа будет грузится в НЕ-Юникоде.

Уберите эту строчку.
А квадратики - потому что в неправильной кодировке записаны данные.

etc
13.09.2007, 01:47
Никаких useCodepage во флеше нигде быть не должно.