Я делаю плагин в WordPress. Я установил PHP-SDK с моим плагином. Я инициализирую свой анализ настройкой плагина. Моя проблема в том, что мне нужно каждый раз инициализировать анализ, отправив запрос с моей формой. Я хочу, чтобы анализ был инициализирован один раз, пока пользователь не изменит app_id, rest_api и master_key. Как сохранить инициализацию разбора один раз. Я хочу заполнить форму только один раз, пока сам пользователь не изменится.
Код моей формы:
<form method="post"action="http://.../wp-content/plugins/wp-link-with-parse/php-sdk/test.php">
<?php settings_fields( 'wp-parse-settings-group' ); ?>
<?php do_settings_sections( 'wp-parse-settings-group' ); ?>
<table class="form-table">
<p class="wp_parse_required_fields">* Required Field</p>
<tr valign="top">
<th scope="row">Application ID* </th>
<td><input type="text" required name="app_id" value="<?php $options['app_id'] ?>/>
</td>
</tr>
<tr valign="top">
<th scope="row">REST API Key* </th>
<td><input type="text" required name="rest_api" value="<?php $options['rest_api'] ?>" />
</td>
</tr><tr valign="top">
<th scope="row">Master Key</th>
<td><input type="text" name="master_key"value="<?php $options['master_key'] ?>" /></td>
</tr></table>
<input name="submit" type="submit" class="button-primary" value="save options" />
</form>
test.php, куда отправляется эта форма
<?php
require 'vendor/autoload.php';
use Parse\ParseClient;
if(isset($_POST['submit']))
{
$app_id = $_POST['app_id'];
$rest_api = $_POST['rest_api'];
$master_key = $_POST['master_key'];
ParseClient::initialize($app_id, $rest_api, $master_key);
header("location:http://....com/?page_id=40");
}
use Parse\ParseUser;
if(isset($_POST['login']))
{
$username = $_POST['username'];
$password = $_POST['password'];
try {
$user = ParseUser::logIn($username, $password);
header("location:http://...com/?page_id=2");
// Do stuff after successful login.
} catch (ParseException $error) {
// The login failed. Check error to see why.
echo "Something getting Wrong";
}
}
?>
Мой второй вопрос:
Если я успешно инициализировать анализ. Как я буду поддерживать мой пользовательский сеанс в WordPress для парсинга пользователя. По сути, я хочу получить данные из анализа, используя мой плагин WordPress.
Заранее спасибо. Я надеюсь, что вы поймете мой вопрос.
Чтобы сохранить сессию, вы можете следовать учебнику Parse, но чтобы быть уверенным, что вы сохранили сессию, сначала нужно установить ParseSessionStorage. Окончательный результат будет:
require 'assets/vendor/autoload.php';
session_start(); // Make Sure you Put the session_start(); after you put the Autoload !
use Parse\ParseClient;
use Parse\ParseUser;
use Parse\ParseSessionStorage;
ParseClient::initialize('xxx', 'xxx', 'xxx');
//The Parse PHP docs are not that well covered and they missed a very important part. you should setup the storage before. This is the Answer
ParseClient::setStorage( new ParseSessionStorage() );
//You get the current User
$user = ParseUser::getCurrentUser();
//You can then get the session token as follows:
$sessionToken = ParseUser::getCurrentUser()->getSessionToken();
Других решений пока нет …