在两个网站之间获得cURL的返回值

时间:2015-08-27 11:59:11

标签: php curl

我有两个网站,我可以将cURL的字符串从网站1转移到网站2。一切都很好。

但是现在我想将一个安全密钥从网站1转移到网站2,如果密钥位于网站二的数据库中,则检查网站二。

如果是 - >返回true

如果没有 - >返回错误

那是我的代码: 此代码将密钥字符串与cURL一起传输到另一个网站。

function dmd_check_key($arg){
    $curl = curl_init();
    curl_setopt_array($curl, array(
        CURLOPT_RETURNTRANSFER => 1,
        CURLOPT_URL => 'https://example.de/link/key_generator.php?key='.$arg.'',
        CURLOPT_USERAGENT => 'Codular Sample cURL Request'
    ));
    $resp = curl_exec($curl);
    curl_close($curl);
return $resp;
}

此代码位于网站2中,并检查安全密钥是否在数据库中。

function dmd_key_check($key){
    if(isset($_GET['key'])){
        // Initialize
        $database = new medoo([
                'database_type' => 'mysql',
                'database_name' => 'xxx',
                'server' => 'localhost',
                'username' => 'xxx',
                'password' => 'xxx',
                'charset' => 'utf8'
        ]); 

        $datas = $database->select("keys", [
                "dmd_key",
                "id"
        ], [
                "dmd_key[=]" => $key
        ]); 

    if($datas[0]['dmd_key'] == $key){
        print 'true';
    }else{
        print 'false';
    }
    }
}

您可以看到最后一个if子句。如果密钥字符串相等,则数据库集中的字符串返回true ..如果不是..返回false。

现在我的问题是。 如何从网站2获得返回值?

这是我的AJAX表格:

<script type="text/javascript">
jQuery(document).ready(function() {
  //click event f�r submit button
  jQuery('.dmd_admin_buttons').click(function () {

  //Daten von den HTML Feldern in JS-Vars �bersetzen
  var post = jQuery('input[name=post]');
  var page = jQuery('input[name=page]');
  var searchbox = jQuery('input[name=searchbox]');
  var formidable = jQuery('input[name=formidable]');
  var key = jQuery('input[name=key]');

  if ( jQuery( post ).prop( "checked" ) )
      post.val(1); 
  else
      post.val(0);

 if ( jQuery( page ).prop( "checked" ) )
     page.val(1);
 else
     page.val(0);

  if ( jQuery( searchbox ).prop( "checked" ) )
     searchbox.val(1);
 else
     searchbox.val(0);

  if ( jQuery( formidable ).prop( "checked" ) )
     formidable.val(1);
 else
     formidable.val(0);     

  var data = 'post=' + post.val() + '&page=' + page.val() + '&searchbox=' + searchbox.val() + '&formidable=' + formidable.val() + '&key=' + key.val();

  jQuery.ajax({
    url: "<?php echo plugins_url( 'saveData.php', __FILE__ ); ?>",
    type: "POST",
    data: data,
    success: function(data) {
        alert(data);
    }
});
    return false;
    });
});
</script>

1 个答案:

答案 0 :(得分:1)

网站二应该打印一个像

这样的字符串
function dmd_key_check($key){
    if(isset($_GET['key'])){
        // Initialize
        $database = new medoo([
                'database_type' => 'mysql',
                'database_name' => 'xxx',
                'server' => 'localhost',
                'username' => 'xxx',
                'password' => 'xxx',
                'charset' => 'utf8'
        ]); 

        $datas = $database->select("keys", [
                "dmd_key",
                "id"
        ], [
                "dmd_key[=]" => $key
        ]); 

        if($datas[0]['dmd_key'] == $key){
            print json_encode(array('status'=>true));
        }else{
            print json_encode(array('status'=>false));
        } 
    }
}

网站应该检查$ resp

function dmd_check_key($arg){
    $curl = curl_init();
    curl_setopt_array($curl, array(
        CURLOPT_RETURNTRANSFER => 1,
        CURLOPT_URL => 'https://example.de/link/key_generator.php?key='.$arg.'',
        CURLOPT_USERAGENT => 'Codular Sample cURL Request'
    ));
    $resp = curl_exec($curl);
    curl_close($curl);

    $resp = json_decode($resp);
    if($resp['status'] == 'true'){
         //do some thing for true
    }else{
         //do some thing for false
    }

}