即使使用urlencode,我也会收到用户密码丢失错误。。我也读过很多解决方案,但都无法解决。我使用表单从用户那里获取数据,然后使用curl创建用户。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 SDKhttps://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;