Gamze Tepe yazmış:
Denememistim.
DOMDocument::loadXML() expects parameter 1 to be string hatasini veriyor.
"print_r($_POST);" kodunu ; çıktıyı inceleyip verinin gelip
gelmediğini görmeniz için verdim. Bu şekilde zaten hata verecektir.
$HTTP_RAW_POST_DATA; yazan yeri $_POST olarak değiştirdiğinizde array
olarak post verisine ulaşırsınız ancak sizin scriptiniz büyük ihtimalle
yine çalişmayacaktır.
Size Post içindeki datalar gerekli sanırım.
implode($_POST); veya
implode(",",$_POST); ile datalari stringe cevirebilirsiniz ama bununda
işinize yarayacagından emin değilim kodunuzu inceleyip ona göre çözüm
bulmak gerekebilir.
Kolay gelsin.
Hasan Sertçelik.
------------------------------------------------------------------------
*Von:* linux-programlama-boun...@liste.linux.org.tr
[mailto:linux-programlama-boun...@liste.linux.org.tr] *Im Auftrag von
*Hasan Sertçelik
*Gesendet:* Freitag, 27. März 2009 13:11
*An:* Özgür yazılımlarla çeşitli dillerde yazılım geliştirme
*Betreff:* [Linux-programlama] Re: $HTTP_RAW_POST_DATA
$HTTP_RAW_POST_DATA işlenmemiş post verisini tutar.
print_r($_POST) ile veriye ulaşmayı denedinizmi.
Gamze Tepe yazmış:
Merhaba,
Daha önce PHP 4.3.11 üzerinde calisan bir uygulamayi PHP 5.1.2 yüklü
olan bir makinaya almak zorunda kaldik. Su an bazi degiskenler
calismiyor.
Bunlardan ilki
$HTTP_RAW_POST_DATA;
DOMXML'in de PHP 5 ile calismadigini gördüm. Bunun icin ara bir php
scripti buldum. Daha sonra baska bir hata mesaji ile karsilastim.
DOMDocument::loadXML() [<a
href='function.loadXML'>function.loadXML</a>]: Empty string supplied
as input in
/sites/incentro/ips/htdocs/iPS/domxml-php4-to-php5.php</b> on line
<b>72</b><
domxml-php4-to-php5.php dosyasi benim internette buldugum ara kod.
Bu hata mesajini su scriptten aliyorum:
<?php
require_once("common.php");
require_once("common/request_xml.php");
function get_session(&$error)
{
global $config, $log;
global $HTTP_RAW_POST_DATA;
$log->write(LOG_SEVERITY_INFO, "Received 'get_session' request from
'{$_SERVER["REMOTE_ADDR"]}:{$_SERVER["REMOTE_PORT"]}':"
. str_replace("\n", "\n ", "\n$HTTP_RAW_POST_DATA"));
header("Content-type: text/xml");
$request = new RequestXML();
if ($request->create($HTTP_RAW_POST_DATA, $error) === false)
return (false);
.
.
.
......
?>
request.php
<?php
function create($xml,&$error)
{
if (($dom = domxml_open_mem($xml)) === false) {
$error = new Error(E_REQUEST_PARSE_XML);
return (false);
}
........
?>
Hatanin sebebi $HTTP_RAW_POST_DATA degerinin bos olmasi. Bu degeri
nasil elde edebilirim?
php.ini dosyasinda
always_populate_raw_post_data
<http://at.php.net/manual/en/ini.core.php#ini.always-populate-raw-post-data> degiskenini
On yapip apache'yi restart ettim ama calismadi.
$GLOBALS['HTTP_RAW_POST_DATA'] = file_get_contents("php://input");
denedim olmadi.
Bir fikri olan var mi?
------------------------------------------------------------------------
_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama
------------------------------------------------------------------------
_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama
_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama