Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 获取两个网站之间带有cURL的返回值_Php_Curl - Fatal编程技术网

Php 获取两个网站之间带有cURL的返回值

Php 获取两个网站之间带有cURL的返回值,php,curl,Php,Curl,我有两个网站,我可以将带有cURL的字符串从网站1传输到网站2。都很好 但是现在我想把一个安全密钥从网站一转移到网站二,如果密钥在网站二的数据库中,我就签入网站二 如果是->返回true 如果否->返回false 这是我的代码: 此代码将带有cURL的键字符串传输到其他网站 function dmd_check_key($arg){ $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_RETUR

我有两个网站,我可以将带有cURL的字符串从网站1传输到网站2。都很好

但是现在我想把一个安全密钥从网站一转移到网站二,如果密钥在网站二的数据库中,我就签入网站二

如果是->返回true

如果否->返回false

这是我的代码: 此代码将带有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

现在我的问题是。 如何从网站二获取返回值

这里是我的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>

jQuery(文档).ready(函数(){
//单击事件提交按钮
jQuery('.dmd_管理按钮')。单击(函数(){
//Daten von den HTML Feldern在JS Varsè½bersetzen
var post=jQuery('input[name=post]');
var page=jQuery('input[name=page]');
var searchbox=jQuery('input[name=searchbox]');
var-nervouse=jQuery('input[name=nervouse]');
var key=jQuery('input[name=key]');
if(jQuery(post).prop(“选中”))
邮政增值税(1);
其他的
post.val(0);
if(jQuery(第页).prop(“选中”))
第页val(1);
其他的
第页val(0);
if(jQuery(searchbox).prop(“选中”))
searchbox.val(1);
其他的
searchbox.val(0);
if(jQuery(强大).prop(“选中”))
1.val(1);
其他的
val(0);
var data='post='+post.val()+'&page='+page.val()+'&searchbox='+searchbox.val()+'&forgired='+forgired.val()+'&key='+key.val();
jQuery.ajax({
url:“”,
类型:“POST”,
数据:数据,
成功:功能(数据){
警报(数据);
}
});
返回false;
});
});

网站二应该打印一个字符串,如

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
    }

}

只需将return替换为print'true'或print'false',,然后在第一个站点中检查$resp,,它必须是true字符串或false字符串您通过警报获得的信息??false或true我得到了回复。很高兴知道您解决了问题是的。谢谢你的帮助。祝你有一个愉快的一天。如果我在我的dmd_check_key函数中包含你的If子句,那么我的表单将检查密钥字符串是否出错。请首先使用var_dump($resp)检查你得到的结果,也许我错了。。只需检查返回的值就可以了。如果我包含一个var_转储,我会出错。删除我的If子句,只需键入var_转储,然后告诉我你遇到了什么错误我看到了我的问题!我将表单与ajax结合使用。。如果我关闭ajax,它就会工作。但这对我来说不是个好办法。