我在localtorage内部有一些价值。 例如,像这样的代码设置了localStorage:
<script>
localStorage.setItem('jeton', 'toto');
localStorage.setItem('cle', 'l1s7T4O7p79XDS9UwfG4YTBhkjoybjHBydC74VxgmXk=')
</script>
然后文件control.php要访问本地存储:
<?php
$token2 = JWT::decode(
$jeton,
$cle , // The signing key
array('HS512')
);
问题在于$ jeton et $ cle没有价值
如何将localStorage.getItem('jeton')放入$ jeton中?
最诚挚的问候。
答案 0 :(得分:0)
此问题的答案是,无法在PHP上访问localStorage
,因为localStorage
仅保留在客户端,并且没有数据传输到服务器端。
此外,您只能使用JavaScript获取数据,并且只能使用Ajax将其发送到服务器端。
另一种选择是使用cookies
(如果它是一个简单的字符串),因为cookie是通过请求标头发送到服务器的,并且可以通过PHP进行访问
答案 1 :(得分:0)
Javascript
在客户端运行,而PHP
在服务器运行。他们无法在不同的环境中进行访问。
唯一方法是使用请求。您应该使用javascript
中的php
将值从ajax
发送到jQuery
使用jQuery的示例:
$.ajax({
url: "/file.php",
type: "post",
data: { name: localStorage.getItem('jeton') }
});
然后在file.php
中,您将获得如下所示的值:
$name = $_POST['name'];
您可以阅读关于here的有关ajax的更多信息。
答案 2 :(得分:0)
因此在control.php内部:
<script>
//var jeton = localStorage.getItem('jeton');
//var cle = localStorage.getItem('cle');
$.ajax({
url: "/control.php",
type: "post",
data: { jeton: localStorage.getItem('jeton') }
});
</script>
然后在php中:
$jeton = $_POST['jeton'];
但是当我执行此操作时,出现错误: 未定义的索引:第42行的C:\ inetpub \ wwwroot \ menergie-client \ control.php中的jeton。
好像未设置$ _POST ['jeton']。
是否可以将javascript和php放在同一文件中?