Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   обработки XML сообщения полученного по POST (https://forum.antichat.xyz/showthread.php?t=106890)

burcev 18.02.2009 23:38

обработки XML сообщения полученного по POST
 
Сразу к делу.
Мне необходимо обработать xml - сообщение, само сообщение передают постом. Кто отправляет я не знаю.
Просто POST- ом передали мне в скрипт хмл, - я его должет обработать .

Как узнать что пришло сообщение в скрипте, как xml засунуть в переменную для парсинга и т.д.
Вообще не имею представление как сделать.

Помогите кто чем может.

З.Ы.: заранее благодарен

.:EnoT:. 18.02.2009 23:46

Узнать что пришло сообщение в скрипте...проверить $_POST.
тупо if(!empty($_POST))

А вот по поводу парсинга могу лишь дать ссылки на ф-ции для работы с xml и json (для php), потому что не ясно как тебе нужно обрабатывать полученный код.

http://www.php.su/functions/?cat=xml
http://ru.php.net/manual/ru/ref.json.php

burcev 18.02.2009 23:59

Спс. сча инфу буду смотреть.

burcev 19.02.2009 02:02

Допустим я передаю данные скрипту вот так:
PHP код:

function callServer() {
var 
obj document.getElementById('clock');

var 
req;


  
// Get the city and state from the Web form
  
var firstName "ffff";
  var 
lastName "aaaaa";
  var 
street "ggggg";
  var 
city "33333l";
  var 
state "ZP";
  var 
zipCode "565677";

  var 
xmlString "<profile>" +
    
"  <firstName>" escape(firstName) + "</firstName>" +
    
"  <lastName>" escape(lastName) + "</lastName>" +
    
"  <street>" escape(street) + "</street>" +
    
"  <city>" escape(city) + "</city>" +
    
"  <state>" escape(state) + "</state>" +
    
"  <zip-code>" escape(zipCode) + "</zip-code>" +
    
"</profile>";

  
// Построим URL для соединения
  
var url "saveAddress.php";


  
if (
window.XMLHttpRequest)    req = new XMLHttpRequest();
else if(
window.ActiveXObject)
{
    try {
        
req = new ActiveXObject('Msxml2.XMLHTTP');  
    } catch (
e){}                                    
    try {                                            
        
req = new ActiveXObject('Microsoft.XMLHTTP');
    } catch (
e){}
}

if (
req
{
    
req.onreadystatechange = function() 
    {
        if (
req.readyState == && req.status == 200)  
        { 
obj.innerHTML req.responseXML; }        
    };  

  
// Откроем соединение с сервером
  
req.open("POST"urltrue);

  
// Сообщим серверу, что вы посылаете данные в формате XML
  
req.setRequestHeader("Content-Type""text/xml");

  
// Установим функцию запуска сервера, когда это выполнено
  //req.onreadystatechange = confirmUpdate;

  // Отправим заказ
  
req.send(xmlString);
  

else 
alert("Браузер не поддерживает AJAX");


как мне в saveAddress.php обработать хил который я передаю? И вообще как определить что я его передал?

.:EnoT:. 19.02.2009 02:10

Собственно:
PHP код:

req.send('field=' xmlString); 

а в самом скрипте получаешь:
PHP код:

<?php

if(!empty($_POST['field'])){
    
    
//Парсишь

}

?>

а дальше парсишь....опять же не знаю что тебе конкретно нужно парсить....вывести как html или ещё что-то

Chaak 19.02.2009 03:12

Енот нафига?

Тс, шли данные напрямую

req.send(xmlString);

А в скрипте:
$xmlData = isset($_POST)?(implode('', $_POST)):(array());

.:EnoT:. 19.02.2009 03:53

не, так не интересно

burcev 19.02.2009 10:58

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

burcev 19.02.2009 11:00

тот скрипт я как пример написал. чтобы был понятно чё мне надо :)

burcev 19.02.2009 11:49

Как поймать XML пакет переданный POST- ом
 
что-то таким методом
PHP код:

$xmlData = isset($_POST)implode(''$_POST))array()); 

не получается поймать XML пакет :( .

Может для этого какой-то сниффер нужен, который будет ловить XML пакеты. А отдельный скрипт будет собирать эти пакеты? или есть другое решение(более простое)?

Помогите, кто чем может.


Время: 13:44