当前位置: 首页 > 知识库问答 >
问题:

将HTML5本地存储值传递给PHP错误[重复]

章乐逸
2023-03-14

我使用html5本地存储,我试图读取它并将其传递给一个php变量:

代码如下:

$myphpvar = "<script>document.write(localStorage.getItem('myjsvar'));</script>"; 

当我这样做时:

echo $myphpvar;

该值看起来是正确的(在左边)

到目前为止,一切看起来都不错,但当我添加以下代码时:

$sql="INSERT INTO `pending` (`id`, `myfield`) VALUES ('', '$myphpvar')";

然后我得到这个错误:

错误:您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,了解要使用的正确语法。。

错误指向这里:

$myphpvar = "<script>document.write(localStorage.getItem('myjsvar'));</script>";

有什么想法为什么?

共有3个答案

蓝昊天
2023-03-14

php是一种后端编程语言。它与服务器通信并编译代码。localstorage是在用户浏览器上工作的前端对象。不能将该值作为php变量获取。

但作为一个线索,您可以将其作为隐藏输入放在表单上,并模拟表单帖子。在提交文章时,您可以将该值作为表单数据或查询字符串发送。所以你可以从那里得到它。

以你的方式,这是不可能的。

傅皓君
2023-03-14

您不应该这样做,因为Php在服务器端工作,而html5在客户端工作。您当然应该将js与ajax结合使用。

郑旭
2023-03-14

更新:

这不起作用,因为:

$myphpvar = "<script>document.write(localStorage.getItem('myjsvar'));</script>"; 

现在,您的PHP$myphpvar变量包含:

  <script>document.write(localStorage.getItem('myjsvar'));</script>

当你echo时,这就像:

echo "<script>document.write(localStorage.getItem('myjsvar'));</script>"

这将显示Js变量,因为它在浏览器上运行。

但当您在SQL中执行此操作时:它如下所示:

$sql="INSERT INTO `pending` (`id`, `myfield`) VALUES ('', '<script>document.write(localStorage.getItem('myjsvar'));</script>')";

为了实现这一点,你必须将你的localstore值传递给URL,并在PHP上获得它,或者使用AJAX发布!

window.location.href = window.location.href+"?local="+localStorage.getItem('myjsvar'));
 类似资料:
  • 问题内容: 除了是非持久性的并且仅限于当前窗口之外,会话存储与本地存储相比是否还有其他好处(性能,数据访问等)? 问题答案: localStorage和sessionStorage都扩展了Storage。除了的预期的“非持久性”外,它们之间没有区别。 也就是说,存储在中的数据将 一直保留到明确删除为止 。所做的更改将被保存,并且可用于当前和将来对该站点的所有访问。 对于, 更改仅在每个选项卡上可用

  • 问题内容: 我有3个文件main.php,action.js和ajax.php,我在javascript文件中通过ajax调用成功地将某些div单击的内容从main.php更改为ajax.php的内容。看起来像这样: 现在,我需要从action.js中的ajax.php中的函数返回值,因为我想迭代直到该值(请参见上面的代码)。如何将此值从ajax.php传递到action.js。我很困惑我需要什么

  • 问题内容: 我需要将字符串数组作为参数传递给MySQL存储例程。该数组可能很长,其元素数量不是固定的。然后,我想将字符串值放入具有一列的内存表中,以便可以处理数据。我不知道这是否可以在MySQL中完成。也许需要肮脏的解决方法。 例如,我有字符串值: 现在,我想从MySQL 表中获取有关这些水果的数据。伪代码: Microsoft SQL Server允许您使用数据类型并将数组作为XML字符串提交,

  • 问题内容: 此代码无法正常工作。我想要的只是将变量发送到 正确的方法是什么?: 脚本 问题答案: myFile.php:

  • 问题内容: 这个问题已经在这里有了答案 : 如何将变量和数据从PHP传递到JavaScript? (20个答案) 5年前关闭。 我正在尝试将PHP数组变量转换为JavaScript变量。 这是我的代码: 我无法获得PHP数组的价值。 我该如何解决这个问题? 问题答案: 在下面的示例中,您具有一个PHP数组,然后首先通过一个PHP数组创建一个JavaScript数组:

  • 我调用test.sh从PHP使用shell_exec方法。 然而,命令行脚本说它只收到一个参数: /tmp/my_script.php 当我将呼叫更改为: 代码: 它说它收到了3个参数,但是argv[1]和argv[2]是空的。 当我将呼叫更改为: 代码: 脚本最终按预期接收所有3个参数。 您是否总是必须随脚本发送仅引用的文本,并且不允许发送$var之类的变量?或者你有没有什么特殊的方式发送$va