그래서 내 사용자 시스템에 PHP와 함께 Parse.com을 사용하고 있지만 예상대로 작동하지 않습니다. signUp()
메서드를 호출하면 새 사용자가 Parse DB에 성공적으로 저장되고 로그인되었지만 다른 페이지로 이동 ParseUser::getCurrentUser()
하면 현재 사용자를 가져 오지 않는 것 같습니다. ParseUser::logIn()
방법도 마찬가지입니다 . 내 코드의 일부는 다음과 같습니다.
<?php
require 'vendor/autoload.php';
use Parse\ParseClient;
ParseClient::initialize('*, *, *');
use Parse\ParseUser;
use Parse\ParseException;
use Parse\ParseSessionStorage;
function showForm() {
echo "
<form action='user.php' method='POST'>
Όνομα (χωρίς #)<br />
<input type='text' name='name' required><br /><br />
Κωδικός πρόσβασης<br />
<input type='password' name='password' required><br /><br />
<input type='submit' name='login' value='Σύνδεση'> <input type='submit' name='register' value='Εγγραφή'>
</form>
";
}
if ($_SERVER['REQUEST_METHOD'] == "POST") {
if (isset($_POST['login'])) {
try {
$user = ParseUser::logIn($_POST['name'], $_POST['password']);
echo "<a href='add.php'>Continue</a>";
$currentUser = ParseUser::getCurrentUser();
echo $currentUser->getUsername();
} catch (ParseException $error) {
echo "Error: " . $ex->getCode() . " " . $ex->getMessage();
showForm();
}
} else if (isset($_POST['register'])) {
$user = new ParseUser();
$user->set("username", $_POST['name']);
$user->set("password", $_POST['password']);
try {
$user->signUp();
echo "Εγγραφήκατε επιτυχώς!";
$currentUser = ParseUser::getCurrentUser();
echo $currentUser->getUsername();
} catch (ParseException $ex) {
echo "Error: " . $ex->getCode() . " " . $ex->getMessage();
showForm();
}
}
} else {
showForm();
}
?>
문제는 내가 넣어 깜빡이었다 session_start();
후 require 'vendor/autoload.php';
모든 페이지에서 내가 세션을 필요로했다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다