ドキュメントのヘッダーで、メールアドレスとパスワードを定義しています。ローカルストレージを使用したいのですが。ただし、localstorageからphp変数にアイテムをロードするのに問題があります。
これが私のコードです。
<script>
localStorage.setItem('email', '<?php echo $_SESSION['email'];?>');
localStorage.setItem('password', '<?php echo $_SESSION['password'];?>');
</script>
<?php
$user_email = "<script>document.write(localStorage.getItem('email'));</script>";
$password = "<script>document.write(localStorage.getItem('password'));</script>";
define('XOAUTH_USERNAME', $user_email);
define('XOAUTH_PASSWORD', $password);
?>
<html>
<head></head>
<body></body>
</html>
chromeで、キーと値の両方が正しいため、ローカルストレージを正しく設定していることがわかります。キーの値をdefine()に渡すのに問題があります。私のphpの。
助けてくれてありがとう!
PHP経由でlocalstorageにアクセスすることはできません。ローカルストレージデータをスクリプトに送り返すJavaScriptを作成する必要があります。
JQueryを使用している場合は、次のようにします。
set_page.php
<script>
localStorage.setItem('email', '<?php echo $_SESSION['email'];?>');
localStorage.setItem('password', '<?php echo $_SESSION['password'];?>');
</script>
login_page.php
<script>
var email = localStorage.getItem('email'), password = localStorage.getItem('password');
$.POST('login_response.php', {'email':email,'password':password}, function(data){
alert('Login Successful. Redirect to a different page or something here.');
}
</script>
login_response.php
<?
$email = $_POST['email'];
$password = $_POST['password'];
//Handle your login here. Set session data, etc. Be sure to sanitize your inputs.
?>
人々はローカルストレージにあるものを編集できるので、ユーザー入力を決して信用しないことを忘れないでください。巧妙な侵入者は、login_response.phpページにもデータを投稿し始める可能性があります。
電子メールとパスワード(小さなデータ)を保存するだけでよい場合は、Cookieを使用して、PHPおよびJavaScriptを介してアクセスできます。
PHPでCookieを設定する方法:
setcookie("TestCookie", $value, time()+3600, "/", "example.com");
クッキーを削除する方法:
setcookie("TestCookie", $value, time()-3600, "/", "example.com");
PHPでCookieを取得する方法:
$_COOKIE["TestCookie"]
この例の最後のパラメーター:
setcookie("TestCookie", $value, time()+3600, "/", "example.com", 1);
cookieは、クライアントからの安全なHTTPS接続を介してのみ送信する必要があることを示します。 TRUEに設定すると、Cookieは安全な接続が存在する場合にのみ設定されます。サーバー側では、この種のCookieを安全な接続でのみ送信するのはプログラマーです(たとえば、$ _ SERVER ["HTTPS"]に関して)。
ソース: https://secure.php.net/manual/en/function.setcookie.php
これは誤りです、そうしてください
<script>
localStorage.setItem('email', "<?php echo $_SESSION['email'];?>");
localStorage.setItem('password', "<?php echo $_SESSION['password'];?>");
</script>