Сразу к делу. Мне необходимо обработать xml - сообщение, само сообщение передают постом. Кто отправляет я не знаю. Просто POST- ом передали мне в скрипт хмл, - я его должет обработать . Как узнать что пришло сообщение в скрипте, как xml засунуть в переменную для парсинга и т.д. Вообще не имею представление как сделать. Помогите кто чем может. З.Ы.: заранее благодарен
Узнать что пришло сообщение в скрипте...проверить $_POST. тупо if(!empty($_POST)) А вот по поводу парсинга могу лишь дать ссылки на ф-ции для работы с xml и json (для php), потому что не ясно как тебе нужно обрабатывать полученный код. http://www.php.su/functions/?cat=xml http://ru.php.net/manual/ru/ref.json.php
Допустим я передаю данные скрипту вот так: 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 == 4 && req.status == 200) { obj.innerHTML = req.responseXML; } }; // Откроем соединение с сервером req.open("POST", url, true); // Сообщим серверу, что вы посылаете данные в формате XML req.setRequestHeader("Content-Type", "text/xml"); // Установим функцию запуска сервера, когда это выполнено //req.onreadystatechange = confirmUpdate; // Отправим заказ req.send(xmlString); } else alert("Браузер не поддерживает AJAX"); } как мне в saveAddress.php обработать хил который я передаю? И вообще как определить что я его передал?
Собственно: PHP: req.send('field=' + xmlString); а в самом скрипте получаешь: PHP: <?php if(!empty($_POST['field'])){ //Парсишь } ?> а дальше парсишь....опять же не знаю что тебе конкретно нужно парсить....вывести как html или ещё что-то
Енот нафига? Тс, шли данные напрямую req.send(xmlString); А в скрипте: $xmlData = isset($_POST)?(implode('', $_POST))array());
мне действительно нужно напрямую передавать, без ключей . Это не я передаю (мне в скрипт некий сервер бросаем хмл, я его должен отпарсить(бла-бла-бла) и ответить ему тоже хмл-сообщение)
Как поймать XML пакет переданный POST- ом что-то таким методом PHP: $xmlData = isset($_POST)implode('', $_POST))array()); не получается поймать XML пакет . Может для этого какой-то сниффер нужен, который будет ловить XML пакеты. А отдельный скрипт будет собирать эти пакеты? или есть другое решение(более простое)? Помогите, кто чем может.
Только в php6 его не будет, пишите свои бажные скрипты, потом засоряйте форум тупыми вопросами почему не работает. P.S обновил свой пост, скрипт не работал из-за смайлов обнови.
Это ты с разрабами уже договорился? Глобалсов может и не будет в шестёрке, а предопределённая переменая $HTTP_RAW_POST_DATA будет всегда, ну если, конечно, always_populate_raw_post_data в php.ini включен.