如何将本地存储从 JS 发送到 PHP 文件(?)

Posted

技术标签:

【中文标题】如何将本地存储从 JS 发送到 PHP 文件(?)【英文标题】:How to send localStorage from JS to PHP file (?) 【发布时间】:2016-07-21 23:51:49 【问题描述】:

我正在尝试将 localStorage 内容移动到 php 电子邮件文件。 localStorage 是用 javascript 创建的。 thankyou.php 可以使用 JS/jQuery 但电子邮件文件(admin-new-order.php 不能使用 JS 或 jQuery...

这是我正在使用的代码。它无法正常工作:

thankyou.php 上的 JS(第 1 页):

  <script>
      var value = localStorage.totallocal;

      jQuery.post(
            "admin-new-order.php", 
            myKey: value, 
            function(data)
               var value = localStorage.totallocal;
            ).fail(function()
               
                   alert("error");
            );
       
  </script>

admin-new-order.php 上的 PHP(2第 2 页/发送到电子邮件收件箱)。从 thankyou.php 中检索值:

    <p><?php  $value = $_POST["value"]; printf("%u",$value); ?></p>

电子邮件文件显示:0 但来自 localStorage 的值应始终介于 0.01 - 10000.00 之间。我不认为它正在接收 localStorage ......但我不知道我做错了什么。我是 php 新手。

提前致谢!

【问题讨论】:

感谢您的编辑@Santosh 控制台有什么错误吗? 没有错误。在 Chrome 控制台中,它显示 localStorage。不幸的是,它没有携带到 admin-new-order.php(可能是因为它是在电子邮件收件箱中收到的)?再次感谢@SantoshRamKunjir POST 变量是字符串,而不是数字,这对 printf 有影响吗? 【参考方案1】:

您无法通过 PHP 访问 localstorage。您需要编写一些 javascript 将 localstorage 数据发送回脚本。

如果您使用的是 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

<?php
$email = $_POST['email'];
$password = $_POST['password'];
//Handle your login here.  Set session data, etc.  Be sure to sanitize your inputs.
?>

【讨论】:

【参考方案2】:

应该是$_POST["myKey"],而不是$_POST["value"]

<p><?php  $value = $_POST["myKey"]; printf("%u",$value); ?></p>

【讨论】:

谢谢@JagsSparrow。不幸的是,它仍然不起作用。

以上是关于如何将本地存储从 JS 发送到 PHP 文件(?)的主要内容,如果未能解决你的问题,请参考以下文章

如何将数据从 Heroku 上托管的 Node.js 应用程序发送到托管在完全独立(Cpanel)服务器上的 PHP 文件?

如何从 PHP 文件启动 Node.js

如何使用 jquery 将数据从本地存储发送到后端

如何使用 Nuxt.js 将数据存储到本地存储

当用户单击链接时,如何通过请求将身份验证令牌从本地存储发送到后端

React Native - 将图像从本地缓存发送到 Firebase 存储