• 15-11-2013, 08:25:32
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Merhaba,

    Sistemin kurulu olduğu A sitesinin veritabanına B sitesinden işlem yaptırmak istiyorum. Nasıl yapacağım konusunda birkaç örnek buldum sanırım ancak başarılı bir sonuç alamadım.

    Basit halde kısaca yapmak istediğimi anlatayım.

    A sitesindeki dosyalar:
    - db.php (veritabanı bağlantı sayfası)
    - giris.php (üye giriş sayfası)
    - ekle.php (üye girişinden sonra yönlenen veritabanı sorgusu ekleme sayfası)
    şeklinde olsun.

    B sitesinde:
    - giris.php
    - ekle.php
    şeklinde olsun.

    B sitesinde A sitesinin tüm işlevini gören bir yapı nasıl oluşturabilirim.

    @saintx; başka bir konuda aşağıdaki gibi örnek göstermiş, işime yarayabilir mi? (denedim başaramadım.)

    slimframework adında bir api'li framework buldum ancak o kadar karmaşık hale getirmeme gerek var mı?

    oauth da var ancak o daha da karmaşık hale sokuyor sanırım.

    En basit yoldan ne yapmamı önerirsiniz.

    Şimdiden çok teşekkür ederim

    saintx adlı üyeden alıntı: mesajı görüntüle
    <?php
    	
    	# VERİ GÖNDEREN BETİK
    	
    	$remote_site_url = "http://remote-site.tld/process.php";
    	
    	$get_fields = array("r10" => "01r");
    	
    	$query_vars = "";
    	
    	foreach($get_fields as $key => $value)
    		$query_vars .= "&" . $key . "=" . $value;
    	
    	$remote_site_url .= "?" . rtrim($query_vars, "&");
    	
    	$response = file_get_contents($remote_site_url);
    	
    	print_r($response);
    <?php
    	
    	# VERİ ALAN YAPI
    	
    	if($_GET) {
    		/* 
    		 * BU KISIMDA GELEN VERİLERLE İLGİLİ İSTEDİĞİNİZ
    		 * 
    		 * İŞLEMLERİ YAPABİLİRSİNİZ.
    		 */
    	}
  • 15-11-2013, 09:55:35
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Akşam eve geçtiğimde detaylı bi' örnek hazırlayıp konuya eklerim.
  • 15-11-2013, 10:01:01
    #3
    Üyeliği durduruldu
    Json cikti veren bir sayfa oluşturup, diğer sayfanizda bunu kullanabilirsiniz. Vaktim olursa bir ara bir ornek eklerim

    GT-I9300 cihazımdan Tapatalk kullanılarak gönderildi
  • 15-11-2013, 10:49:58
    #4
    saintx adlı üyeden alıntı: mesajı görüntüle
    Akşam eve geçtiğimde detaylı bi' örnek hazırlayıp konuya eklerim.
    BTHN adlı üyeden alıntı: mesajı görüntüle
    Json cikti veren bir sayfa oluşturup, diğer sayfanizda bunu kullanabilirsiniz. Vaktim olursa bir ara bir ornek eklerim

    GT-I9300 cihazımdan Tapatalk kullanılarak gönderildi
    Bekliyorum, umarım basit bir yolu vardır. Slimframework ile deneme yapıyorum şuan ama işi daha da karmaşık hale getiriyor
  • 15-11-2013, 12:02:31
    #5
    yapacağınız işlemleri fonksiyonlandırıp json ile yapabilirsiniz.

    kısa bir örnek vermek gerekirse ;

    json_dnm isimli bir veritabanı açalım ve
    makaleler isimli bir tablo ekleyelim

    icinde de
    id | baslik | icerik
    şeklinde alanlar olsun.


    1. site (db ile bağlı kaynak site)

    dosya adı : makale_getir_id.php
     <?php   
    /* DB ayarlar */ 
    $mysqli = new mysqli("localhost", "root", "", "json_dnm");
    if ($mysqli->connect_errno) {
        echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
    }
    /* DB ayarlar */ 
     
     
     /* fonksyionlar */
     function makale_bul_id($id){
     global $mysqli;
    $mysqli->real_query("SELECT * FROM makaleler where id = $id");
    
    $res = $mysqli->use_result();
    
    return   $res->fetch_assoc() ;
     
     
    } 
     /* fonksyionlar */
     
    /*ekrana json yazdırma*/
    
    $id = isset(  $_GET['id'] ) ?  $_GET['id'] : 1;
    
    echo json_encode(  makale_bul_id( $_GET['id']) )  ;
    ?>
    2. site ( diger site)
    dosya adı : kaynak_siteye_baglan.php

     <?php   
     function orjinal_siteden_makale_getir_id($id) { 
      $veri = file_get_contents("http://localhost/dnm/json/makale_getir_id.php?id=". $id ); 
     return json_decode($veri);
     }
     
     
      $id = isset(  $_GET['id'] ) ?  $_GET['id'] : 1;
      
     
    $gelen_veri = orjinal_siteden_makale_getir_id( $id);
     
     echo $gelen_veri->id  .'<br>';
     echo $gelen_veri->baslik.'<br>';
     echo $gelen_veri->icerik.'<br>';
     ?>

    gibi...

    adres satırına

    www.siteadi.com/kaynak_siteye_baglan.php?id=2
    şeklinde yazarsanız makale verilerini aldığınızı göreceksiniz.
    çok temel bir örnektir, bu işlemler için çeşitli güvenlik önlemlerini de almanız gerekmektedir.
  • 15-11-2013, 13:15:29
    #6
    uysal_rockci adlı üyeden alıntı: mesajı görüntüle
    yapacağınız işlemleri fonksiyonlandırıp json ile yapabilirsiniz.

    kısa bir örnek vermek gerekirse ;

    json_dnm isimli bir veritabanı açalım ve
    makaleler isimli bir tablo ekleyelim

    icinde de
    id | baslik | icerik
    şeklinde alanlar olsun.


    1. site (db ile bağlı kaynak site)

    dosya adı : makale_getir_id.php
     <?php   
    /* DB ayarlar */ 
    $mysqli = new mysqli("localhost", "root", "", "json_dnm");
    if ($mysqli->connect_errno) {
        echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
    }
    /* DB ayarlar */ 
     
     
     /* fonksyionlar */
     function makale_bul_id($id){
     global $mysqli;
    $mysqli->real_query("SELECT * FROM makaleler where id = $id");
    
    $res = $mysqli->use_result();
    
    return   $res->fetch_assoc() ;
     
     
    } 
     /* fonksyionlar */
     
    /*ekrana json yazdırma*/
    
    $id = isset(  $_GET['id'] ) ?  $_GET['id'] : 1;
    
    echo json_encode(  makale_bul_id( $_GET['id']) )  ;
    ?>
    2. site ( diger site)
    dosya adı : kaynak_siteye_baglan.php

     <?php   
     function orjinal_siteden_makale_getir_id($id) { 
      $veri = file_get_contents("http://localhost/dnm/json/makale_getir_id.php?id=". $id ); 
     return json_decode($veri);
     }
     
     
      $id = isset(  $_GET['id'] ) ?  $_GET['id'] : 1;
      
     
    $gelen_veri = orjinal_siteden_makale_getir_id( $id);
     
     echo $gelen_veri->id  .'<br>';
     echo $gelen_veri->baslik.'<br>';
     echo $gelen_veri->icerik.'<br>';
     ?>

    gibi...

    adres satırına

    www.siteadi.com/kaynak_siteye_baglan.php?id=2
    şeklinde yazarsanız makale verilerini aldığınızı göreceksiniz.
    çok temel bir örnektir, bu işlemler için çeşitli güvenlik önlemlerini de almanız gerekmektedir.
    Bu da işime yarayacak başka bir aşamada ancak bunun tam tersini arıyorum. Veritabanına veri eklemeye çalışıyorum şuan. Bu kodlar tersten yazılınca çalışıyor mu acaba?
  • 15-11-2013, 14:26:05
    #7
    veri eklemek için çok fazla ekstra işleme gerek yok.
    normal bir şekilde form oluşturun, action kısmındaki adrese kaynak sitedeki dosya adresini yazın.
    gelen bilgileri veritabanına kayıt edecektir.