Проверьте, вошел ли пользователь в другой домен - PullRequest
2 голосов
/ 16 декабря 2011

Благодаря stackoverflow я запустил свой маленький проект, но мне снова нужны некоторые советы.Я хотел бы проверить, зарегистрирован ли пользователь на domain1.com, и вернуть сообщение на domain2.Код намного больше.Ниже я привел основной пример этого.

index.php на http://domain2.com

<script type="text/javascript" src="http://domain1.com/test.php?js"></script>

test.php на http://domain1.com.

<?php
if (isset($_GET['js'])){
header("Content-type:text/javascript");
?>

function doAjax(){
$.getJSON("http://domain1.com/index.php/home/callback.php?name=name&callback=?",
function(message) {
alert("Data Saved");
});
}

document.write('<button onclick="doAjax();">Submit</button>');
<?php } ?>

<?php exit; } ?>

callback.php включен http://domain1.com. Здесь я хотел бы проверить, вошел ли пользователь в систему или нет.Если пользователь вошел в систему, файл записывается, если нет, я хочу отправить сообщение на domain2.com с просьбой войти в систему.

<?php
$callback = $_GET['callback'];

$name = $_GET['name'];

$myFile = "txt/tester.txt";
$fh = fopen($myFile, 'a') or die("can't open file");
fwrite($fh, $name);
fclose($fh);

header("Content-Type: application/javascript");
?>

<?php echo $callback; ?>("Message from the server");

Эта последняя часть я получила из предыдущего вопроса.<?php echo $callback; ?>("Message from the server"); Если это сообщение для domain2, как мне его назвать?

1 Ответ

0 голосов
/ 16 декабря 2011

Итак, в основном, домен 2 ожидает объект JSONP из callback.php в домене 1. Чтобы отформатировать ваше сообщение в объекте JSON, заключите его в ассоциативный массив (например, $msg = array('message' => 'This is the callback message');, а затем передайте его обратнодля домена 2 с помощью echo $_GET['callback'].'('.json_encode($msg).')'; Кроме того, установите Content-Type в объявлении header() на application/json.

...