Перейти к содержимому



Форма & XML & URL & PHP

#1 Вячеслав

Вячеслав
  • Пользователь
  • 357 сообщений
  • Репутация: 0
0

Отправлено 28 Сентябрь 2009 - 11:22

Привет! Ктонибуть может подсказать как такое реализовать можно?

Необходимо создать форму, которая будет генерировать следующий xml-код:
<message>
<header>
<deviceId>............</deviceId>
<applicationId>.........</applicationId>
<applicationVersion>.......</applicationVersion>
<timestamp>.............</timestamp>
</header>
<body>
<variable1>.........</variable1>
<variable2>.........</variable2>
<variable3>.........</variable3>
<variable4>.........</variable4>
<variable5>.........</variable5>
<variable6>.........</variable6>
</body>
</message>

Вместо многоточий - значения из формы.
Затем паковать(urlencode) весь xml-код в URL и подставлять это как значение переменной MessageBody вместо <ЗДЕСЬ XML>:
[url="http://www.masterwebs.ru/go.php?url=https://queue.amazonaws.com/865474121869/test-sam?Action=SendMessage&MessageBody=&lt;�"]https://queue.amazonaws.com/865474121869/te...dy=<�[/url] [^]�ДЕСЬ XML>&name1=12&Version=2009-02-01

Тоесть я так понимаю, должна быть перемнная:

$xml = "<message><header>
<deviceId>............</deviceId>
<applicationId>.........</applicationId>
<applicationVersion>.......</applicationVersion>
<timestamp>.............</timestamp>
</header>
<body>
<variable1>.........</variable1>
<variable2>.........</variable2>
<variable3>.........</variable3>
<variable4>.........</variable4>
<variable5>.........</variable5>
<variable6>.........</variable6>
</body>
</message>";


Затем кодирую в ней спец имволы с омощью функции Urncode:

urlencode($xml)


Но вот как вмето тоек занети знаения из формы и потом по нажатию кнопки отпраить это чрез переменную в УРЛ - c логикой никак не вьеду :)

 

 

  • 0

#2 FordogeN

FordogeN
  • Пользователь
  • 1 414 сообщений
  • Репутация: 0

Отправлено 28 Сентябрь 2009 - 12:44

Не знаю при чем тут URL, но такое реализовать просто:

Вот пример кода одной из строк
<deviceId>$_POST['deviceId']</deviceId>
Дальше думаю сам поймешь как.
Если не поймешь - отпишись, я закончу.
  • 0

Как настроить выдержку и диафрагму зеркального фотоаппарата



#3 Вячеслав

Вячеслав
    Topic Starter
  • Пользователь
  • 357 сообщений
  • Репутация: 0

Отправлено 28 Сентябрь 2009 - 20:15

FordogeN Cпасибо за ответ, и за то что направил на путь истинный ))) атоб я начал чето искать, хотя поытки уже были )))

Вот что у меня получилось, все работает, но думаю это точно можно сделать красивее и оригиналнее, может подскажите как? Где то нетак и тп...

Файл с формой:

<?php
if (isset($_POST['deviceId'])) {$deviceId = $_POST['deviceId']; if ($deviceId == '') {unset($deviceId);}}
if (isset($_POST['applicationId'])) {$applicationId = $_POST['applicationId']; if ($applicationId == '') {unset($applicationId);}}
if (isset($_POST['applicationVersion'])) {$applicationVersion = $_POST['applicationVersion']; if ($applicationVersion == '') {unset($applicationVersion);}}
if (isset($_POST['timestamp'])) {$timestamp = $_POST['timestamp']; if ($timestamp == '') {unset($timestamp);}}
if (isset($_POST['variable1'])) {$variable1 = $_POST['variable1']; if ($variable1 == '') {unset($variable1);}}
if (isset($_POST['variable2'])) {$variable2 = $_POST['variable2']; if ($variable2 == '') {unset($variable2);}}
if (isset($_POST['variable3'])) {$variable3 = $_POST['variable3']; if ($variable3 == '') {unset($variable3);}}
if (isset($_POST['variable4'])) {$variable4 = $_POST['variable4']; if ($variable4 == '') {unset($variable4);}}
if (isset($_POST['variable5'])) {$variable5 = $_POST['variable5']; if ($variable5 == '') {unset($variable5);}}
if (isset($_POST['variable6'])) {$variable6 = $_POST['variable6']; if ($variable6 == '') {unset($variable6);}}

if(isset($_POST['submit'])){
if(isset($deviceId) && isset($applicationId) && isset($applicationVersion) && isset($timestamp) && isset($variable1) && isset($variable2) && isset($variable3) && isset($variable4) && isset($variable5) && isset($variable6)){

$xml = "<message><header>
<deviceId>".$deviceId."</deviceId>
<applicationId>".$applicationId."</applicationId>
<applicationVersion>".$applicationVersion."</applicationVersion>
<timestamp>".$timestamp."</timestamp>
</header>
<body>
<variable1>".$variable1."</variable1>
<variable2>".$variable2."</variable2>
<variable3>".$variable3."</variable3>
<variable4>".$variable4."</variable4>
<variable5>".$variable5."</variable5>
<variable6>".$variable6."</variable6>
</body>
</message>";

$xml = urlencode($xml);

echo "<html><head><meta http-equiv='Refresh' content='0; URL=view.php?xml=".$xml."'></head></html>";
}else{
echo "Error";
}
}else{
echo <<<HTML
<form name="form1" method="post">
<p><input type="text" name="deviceId" id="deviceId"></p>
<p><input type="text" name="applicationId" id="applicationId"></p>
<p><input type="text" name="applicationVersion" id="applicationVersion"></p>
<p><input type="text" name="timestamp" id="timestamp"></p>

<p><input type="text" name="variable1" id="variable1"></p>
<p><input type="text" name="variable2" id="variable2"></p>
<p><input type="text" name="variable3" id="variable3"></p>
<p><input type="text" name="variable4" id="variable4"></p>
<p><input type="text" name="variable5" id="variable5"></p>
<p><input type="text" name="variable6" id="variable6"></p>

<p><input type="submit" name="submit" id="submit" value="Отправить"></p>
</form>
HTML;
}
?>


Файл в который передается переменная через URL и потом выводится чз echo:

<?php
if(isset($_GET['xml'])){
$xml = $_GET['xml'];
if($xml !== ''){
echo $xml;
}
}


?>

  • 0


Оформление форума – IPBSkins.ru