Получить возвращаемое значение с CURL между двумя сайтами

1

У меня есть два веб-сайта, и я могу передавать строки cURL с веб-сайта на веб-сайт два. Все в порядке.

Но теперь я хочу перенести ключ безопасности с сайта один на сайт два и проверить на сайте два, если ключ находится в базе данных сайта два.

Если да → return true

Если no → return 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;
}

Этот код находится на веб-сайте два и проверьте, находится ли ключ безопасности в базе данных.

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. If not.. return 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>
  • 0
    просто замените return на print 'true' или напечатайте 'false' ,,,, затем на первом сайте проверьте $ resp ,, это должна быть строка true или строка false
  • 0
    что вы получаете по тревоге ??
Показать ещё 3 комментария
Теги:
curl

1 ответ

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
    }

}
  • 0
    Если я включу ваше условие if в мою функцию dmd_check_key, моя форма для проверки строки ключа наталкивается на ошибку.
  • 0
    Пожалуйста, сначала var_dump ($ resp), чтобы проверить, что вы получаете, может быть, я ошибаюсь .. просто проверьте возвращаемое значение
Показать ещё 7 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню