我使用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>";
有什么想法为什么?
php是一种后端编程语言。它与服务器通信并编译代码。localstorage是在用户浏览器上工作的前端对象。不能将该值作为php变量获取。
但作为一个线索,您可以将其作为隐藏输入放在表单上,并模拟表单帖子。在提交文章时,您可以将该值作为表单数据或查询字符串发送。所以你可以从那里得到它。
以你的方式,这是不可能的。
您不应该这样做,因为Php在服务器端工作,而html5在客户端工作。您当然应该将js与ajax结合使用。
更新:
这不起作用,因为:
$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