[Linux-programlama] Re: $HTTP_RAW_POST_DATA

---------

[Linux-programlama] Re: $HTTP_RAW_POST_DATA

From: Hasan Sertçelik <hasan_at_sertcelik.net>
Date: Fri, 27 Mar 2009 14:40:28 +0200
Message-ID: <49CCC93C.4010104@sertcelik.net>

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-bounces_at_liste.linux.org.tr
> [mailto:linux-programlama-bounces_at_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_at_liste.linux.org.tr
>> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
>>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Linux-programlama mailing list
> Linux-programlama_at_liste.linux.org.tr
> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
>

_______________________________________________
Linux-programlama mailing list
Linux-programlama_at_liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama
Received on Fri 27 Mar 2009 - 13:22:21 EET

---------

Bu arsiv hypermail 2.2.0 tarafindan uretilmistir.