【问题标题】:Pass javascript variable via cookie to another page and retrieve using php通过 cookie 将 javascript 变量传递到另一个页面并使用 php 检索
【发布时间】:2011-11-28 15:08:44
【问题描述】:

我正在使用 Google Maps API v3 设置标记,但无法通过 PHP 将标记坐标提交到 MYSQL 数据库。我正在尝试通过 cookie 将“event.latlng”的 javascript 值传递给提交页面。由于 PHP 是首先在服务器端加载的,所以我不能使用 PHP 通过 URL 将变量传递到提交页面。所以我通过 PHP 将静态变量传递给提交页面。我无法让 cookie 部分正常工作。我认为使用专门用于检索标记的当前坐标并将它们放置在 cookie 中的 javascript 函数,我可以在 href 按钮提交链接中使用 onclick 调用该函数。到目前为止没有运气。 “mapNew4.php”是我有地图的页面,“saveLocation.php”是提交(通过 PHP 到数据库)页面。这是“mapNew4.php”页面的重要部分。我还没有尝试在“saveLocation.php”页面上检索 cookie,因为此代码已经导致“mapNew4.php”页面停止加载。其他一切都可以正常工作,无需添加 javascript 函数和 onclick 调用。

<script type="text/javascript">

function myLatLng()
{
var myLatLng = event.latLng;
setcookie('mapNew4['myLatLng']', time()+(10), '/');
return false;
};

</script>

<?php
<li>
<a href="saveLocation.php/?meetID='. $meetingID .'&courseID='. $courseID .'&groupID='.        $groupID .'" onclick="javascript:myLatLng();"  data-icon="check" data-transition="flip"      style="background: green;">Save</a>
</li>
?>

【问题讨论】:

  • 您可以从 js 和 php 设置和获取 cookie,例如使用 js 设置 cookie 使用名为“simple”的 js 设置 cookie,因此您可以使用 php 获取它,如下所示:$_COOKIE['简单'];

标签: php javascript function cookies


【解决方案1】:

由于myLatLng() 总是返回false 并且它是通过onclick 调用的,所以链接的目标(在href 属性中指定)永远不会被调用。可能还有其他问题,但您的意思是在单击链接时调用saveLocation.php

【讨论】:

    【解决方案2】:

    您的 PHP 代码似乎也有问题。您在 PHP 块中声明 HTML。这个网站甚至加载吗?您的 JS 回调函数使用事件变量。它从何而来。当事件未在其他地方声明时,某些浏览器会在此处使用您的链接的点击事件。

    【讨论】:

    • 抱歉,我在截断版本中遗漏了回声。没有javascript函数也能正常工作。
    • 另外 event.latlng 变量是在上面我遗漏的部分定义的(谷歌地图 api 的默认部分)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多