+ Yanıtla
Toplam 4 sonuçtan 1 ile 4 arası olanlar

Konu Başlığı: şifreli alandaki xmlden php sayfaya veri çekmek

  1. #1

    şifreli alandaki xmlden php sayfaya veri çekmek

    Arkadaşlar;
    şimdi şifreli bir alan var ve burada ornek.XML.ASP şeklinde bir XML var.

    Ben şifrelerini biliyorum bu sitenin, başka bir siteye bu xmlden veri çekip PHP sayfaya yazdırmak istiyorum. Şifresiz alan olsa kolay da...

    Kullanıcı adı ve şifreyi gönderip sessionla diğer siteden veri almak mümkün mü?
    http://www.limonsuz.com
    Sert Çocukların Yeri

  2. #2

    Re: şifreli alandaki xmlden php sayfaya veri çekmek

    Merhaba,

    Sifreleme teknigi onemli .htaccess ile sifrelenmis ise adresi http://kullaniciadi:sifre@sitenizin.....com/dosya.xml seklinde yazarak XML dosyasinin icerigini cekebilirsiniz.

    Cookie kullanilan bir session management sistemi ise kullanici adi ve sifresini sizin post ile gondermeniz gerekiyor. Sonra donen datayi analiz ederek yaratilmak istenen cookienin icergini ogrenmeniz gerekiyor. XML i cekmek icin gonderdiginiz request de bu cookie bilgilerinide gonderirseniz sorun cozulur.

    Tum bunlari fsockopen fonksiyonu ile yapabilirsiniz.
    dusk till dawn // Jazz Whiskey Cigar // over and overloaded again // coding... quaking...

    Minimal Code - Sayfalar.com

  3. #3

    Re: şifreli alandaki xmlden php sayfaya veri çekmek

    TEŞEKKÜRLER;

    curl(); kütüphanesiyle işlerin halledileceğine dair şu link işe yarar herhalde. Şimdilik şifreli alana gerek kalmadı da; yanlız şu sorun var.

    Normal XML yapısından veri çekiyorum.
    ****************
    <item>
    <urun>urunadi</urun>
    <uid>urunadi</uid>
    <adet>122</adet>
    </item>
    şeklinde olursa.
    <?
    $veri = array();
    $kaynak = file_get_contents("orn.XML");

    $temp = split("<item>",$kaynak);

    for ($i=1;$i<=count($temp);$i++){
    if(trim($temp[$i])==''){continue;}
    preg_match('/<uid>(.*)<\/uid>/i', $temp[$i], $uid);
    preg_match('/<adet>(.*)<\/adet>/i', $temp[$i], $adet);
    array_push($veri,array($uid[1],$adet[1]));

    if("urunadi"==$uid[1]) echo "-<font color=red>".$adet[1]."</font><br>";
    }
    ?>
    Bu şekilde almak ve adeti yazmak kolay.


    ***************
    Fakat şu yapıdan nasıl alırım.
    <item>
    <Urun Urun_Kod="A111" Urun_Ad="urun1" Fiyat="12"/>
    <Urun Urun_Kod="A111" Urun_Ad="urun12" Fiyat="122"/>
    <Urun Urun_Kod="A111" Urun_Ad="urun13" Fiyat="123"/>
    </item>
    <?
    $veri = array();
    $kaynak = file_get_contents("orn.XML");

    $temp = split("<Urun",$kaynak);

    for ($i=1;$i<=count($temp);$i++){
    if(trim($temp[$i])==''){continue;}
    split('/Urun_Kod=\"(.*)\"/i', $temp[$i], $aid);
    split('/Urun_Ad=\"(.*)\"/i', $temp[$i], $ad);
    array_push($veri,array($aid[1],$ad[1]));

    if("A111"==$aid[1]) echo "-<font color=red>".$ad[1]."</font><br>";
    }
    //XML veri sonu
    ?>

    şeklinde denedim yemedi.
    Help.
    ***************
    http://www.limonsuz.com
    Sert Çocukların Yeri

  4. #4

    Re: şifreli alandaki xmlden php sayfaya veri çekmek

    Bu problemide şöyle çözdüm aynen yazayım;

    simplexml() fonksiyonunu kullanmak en kolay nçözüm yöntemi bu tarz xmllleri çözümlemek için. Fakat PHP 5 öncesi versiyonlarda simple XML element veya children() (tam olarak bilmiyorum) fonksiyonunu desteklemediğinden çalışmayabilir.

    Kullanımı:
    ?grup=A, B, C, seklinde grupları listeler.
    <?
    $xmlstr = file_get_contents("liste.XML");

    $XML = new SimpleXMLElement($xmlstr);

    if($XML) {
    foreach ($XML->children() as $item) {
    if($item['Urun_Kod']==$_GET['grup']){
    echo "AnaGrup_Kod:".$item['Urun_Kod']."<br>";
    echo "Urun Ismi:".$item['Urun_Ad']."<br>";
    echo "Fiyat Son Kullanici:".$item['Fiyat']."<hr>";
    }
    }
    }
    ?>
    http://www.limonsuz.com
    Sert Çocukların Yeri

+ Yanıtla

Bu konu başlığı için etiketler

Mesaj Seçenekleri

  • Yeni başlık açamazsınız
  • Cevap yazabilirsiniz
  • Dosya ekleyemezsiniz
  • Mesajlarınızı değiştiremezsiniz