Я получаю ошибку пароля пользователя, даже если я использую urlencode.. Я также прочитал множество решений, но не смог его решить. Я использую форму для получения данных от пользователя, а затем использую завиток для создания пользователя. Помощь plzz
здесь мой код
$ data = array();
$data['username'] = $_POST['username'];
$data['mobile'] = $_POST['mobile'];
$data['password'] = $_POST['password'];
$data['email'] = $_POST['email'];
$post_str = '';
foreach($data as $key=>$val)
{
$post_str .= urlencode($key).'='.urlencode($val).'&';
}
echo $post_str = substr($post_str, 0, -1);
$url = 'https://api.parse.com/1/users';
$appId = 'apikey';
$restKey = 'rest key';
$headers = array(
"Content-Type: application/json",
"X-Parse-Application-Id: " . $appId,
"X-Parse-REST-API-Key: " . $restKey
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url );
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_FRESH_CONNECT, FALSE);
curl_setopt($ch,CURLOPT_HTTPHEADER,$headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($post_str) );
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$result = curl_exec($ch);
curl_close($ch);
echo $result;
Почему бы вам просто не использовать предоставленный Parse PHP SDK https://github.com/parseplatform/parse-php-sdk?
В вашем коде вы не должны пытаться использовать urlencode()
данные, просто передайте его как массив в json_encode()
:
<?php
// ...
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url );
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_FRESH_CONNECT, false);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$result = curl_exec($ch);
curl_close($ch);
echo $result;