Javascript 如何使PHP会话变量等于JS变量?
我想问,如何使PHP会话变量等于Javascript值 我试图实现的是:Javascript 如何使PHP会话变量等于JS变量?,javascript,php,session-variables,Javascript,Php,Session Variables,我想问,如何使PHP会话变量等于Javascript值 我试图实现的是: $_SESSION['lat'] = Javascript geolocation latitude value; $_SESSION['lng'] = Javascript geolocation longitude value; 我目前拥有的JS地理定位功能是: <script> function getLocation() { if (navigator.geolocation) { navigator
$_SESSION['lat'] = Javascript geolocation latitude value;
$_SESSION['lng'] = Javascript geolocation longitude value;
我目前拥有的JS地理定位功能是:
<script>
function getLocation()
{
if (navigator.geolocation)
{
navigator.geolocation.getCurrentPosition(showPosition);
}
else{x.innerHTML="Geolocation is not supported by this browser.";}
}
function showPosition(position)
{
document.getElementById('inputfield3').value = position.coords.latitude;
document.getElementById('inputfield4').value = position.coords.longitude;
}
</script>
函数getLocation()
{
if(导航器.地理位置)
{
navigator.geolocation.getCurrentPosition(showPosition);
}
else{x.innerHTML=“此浏览器不支持地理位置。”;}
}
功能显示位置(位置)
{
document.getElementById('inputfield3')。value=position.coords.latitude;
document.getElementById('inputfield4')。value=position.coords.longitude;
}
如何使用getLocation()使$\u会话['lat']和$\u会话['lng']等于纬度和经度
因为我需要$_SESSION['lat']和$_SESSION['lng']在数据库中进行选择。谢谢。我们从对这两种语言的基本理解中了解到
- PHP是服务器端
- JavaScript是客户端的
我们还知道,我们可以通过AJAX调用调用从客户端到服务器的请求。我建议您研究一下,以解决您的问题。正如我们对这两种语言的基本理解所知
- PHP是服务器端
- JavaScript是客户端的
我们还知道,我们可以通过AJAX调用调用从客户端到服务器的请求。我建议您研究一下,以解决您的问题。正如我们对这两种语言的基本理解所知
- PHP是服务器端
- JavaScript是客户端的
我们还知道,我们可以通过AJAX调用调用从客户端到服务器的请求。我建议您研究一下,以解决您的问题。正如我们对这两种语言的基本理解所知
- PHP是服务器端
- JavaScript是客户端的
var httpRequest = null;
function getHttpObject()
{
if (httpRequest != null)
return;
if (window.XMLHttpRequest) { // Mozilla, Safari, ...
httpRequest = new XMLHttpRequest();
} else if (window.ActiveXObject) { // IE 8 and older
httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
}
function getLocation()
{
if (navigator.geolocation)
{
navigator.geolocation.getCurrentPosition(showPosition);
}
else{x.innerHTML="Geolocation is not supported by this browser.";}
}
function showPosition(position)
{
document.getElementById('inputfield3').value = position.coords.latitude;
document.getElementById('inputfield4').value = position.coords.longitude;
getHttpObject();
// I don't know how to get the positions for showPosition, so you may have to change this part.
httpRequest.open("GET", "set_position.php?lat=" + position.coords.latitude + "&lon=" + position.coords.longitude, true);
httpRequest.onreadystatechange = function()
{
if (httpRequest.readyState == 4 && httpRequest.status == 200)
{
// Handle the response here. Show error or success message or whatever...
}
};
httpRequest.send(null);
}
然后在php脚本上,您可以设置会话的值,验证会话并验证值(当然)
注意:已经一个世纪了,我没有用纯JS编写ajax。请警告我有错误
更新:
我已经根据和文档修复了使用getCurrentPosition
回调的方法
更新2:
您可以使用常见的方法,通过表单
将数据发送到数据库。忘掉上面的一切,试试这个:
假设你有这样一个表格:
<form method="post" action="set_positions.php" id="form1">
<input type="text" id="inputField3" />
<input type="text" id="inputField4" />
</form>
因此,您将在PHP脚本中收到这些字段。请注意,如果您不想让用户更改其值,这些字段也可以是隐藏的。您可以使用:
var httpRequest = null;
function getHttpObject()
{
if (httpRequest != null)
return;
if (window.XMLHttpRequest) { // Mozilla, Safari, ...
httpRequest = new XMLHttpRequest();
} else if (window.ActiveXObject) { // IE 8 and older
httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
}
function getLocation()
{
if (navigator.geolocation)
{
navigator.geolocation.getCurrentPosition(showPosition);
}
else{x.innerHTML="Geolocation is not supported by this browser.";}
}
function showPosition(position)
{
document.getElementById('inputfield3').value = position.coords.latitude;
document.getElementById('inputfield4').value = position.coords.longitude;
getHttpObject();
// I don't know how to get the positions for showPosition, so you may have to change this part.
httpRequest.open("GET", "set_position.php?lat=" + position.coords.latitude + "&lon=" + position.coords.longitude, true);
httpRequest.onreadystatechange = function()
{
if (httpRequest.readyState == 4 && httpRequest.status == 200)
{
// Handle the response here. Show error or success message or whatever...
}
};
httpRequest.send(null);
}
然后在php脚本上,您可以设置会话的值,验证会话并验证值(当然)
注意:已经一个世纪了,我没有用纯JS编写ajax。请警告我有错误
更新:
我已经根据和文档修复了使用getCurrentPosition
回调的方法
更新2:
您可以使用常见的方法,通过表单
将数据发送到数据库。忘掉上面的一切,试试这个:
假设你有这样一个表格:
<form method="post" action="set_positions.php" id="form1">
<input type="text" id="inputField3" />
<input type="text" id="inputField4" />
</form>
因此,您将在PHP脚本中收到这些字段。请注意,如果您不想让用户更改其值,这些字段也可以是隐藏的。您可以使用:
var httpRequest = null;
function getHttpObject()
{
if (httpRequest != null)
return;
if (window.XMLHttpRequest) { // Mozilla, Safari, ...
httpRequest = new XMLHttpRequest();
} else if (window.ActiveXObject) { // IE 8 and older
httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
}
function getLocation()
{
if (navigator.geolocation)
{
navigator.geolocation.getCurrentPosition(showPosition);
}
else{x.innerHTML="Geolocation is not supported by this browser.";}
}
function showPosition(position)
{
document.getElementById('inputfield3').value = position.coords.latitude;
document.getElementById('inputfield4').value = position.coords.longitude;
getHttpObject();
// I don't know how to get the positions for showPosition, so you may have to change this part.
httpRequest.open("GET", "set_position.php?lat=" + position.coords.latitude + "&lon=" + position.coords.longitude, true);
httpRequest.onreadystatechange = function()
{
if (httpRequest.readyState == 4 && httpRequest.status == 200)
{
// Handle the response here. Show error or success message or whatever...
}
};
httpRequest.send(null);
}
然后在php脚本上,您可以设置会话的值,验证会话并验证值(当然)
注意:已经一个世纪了,我没有用纯JS编写ajax。请警告我有错误
更新:
我已经根据和文档修复了使用getCurrentPosition
回调的方法
更新2:
您可以使用常见的方法,通过表单
将数据发送到数据库。忘掉上面的一切,试试这个:
假设你有这样一个表格:
<form method="post" action="set_positions.php" id="form1">
<input type="text" id="inputField3" />
<input type="text" id="inputField4" />
</form>
因此,您将在PHP脚本中收到这些字段。请注意,如果您不想让用户更改其值,这些字段也可以是隐藏的。您可以使用:
var httpRequest = null;
function getHttpObject()
{
if (httpRequest != null)
return;
if (window.XMLHttpRequest) { // Mozilla, Safari, ...
httpRequest = new XMLHttpRequest();
} else if (window.ActiveXObject) { // IE 8 and older
httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
}
function getLocation()
{
if (navigator.geolocation)
{
navigator.geolocation.getCurrentPosition(showPosition);
}
else{x.innerHTML="Geolocation is not supported by this browser.";}
}
function showPosition(position)
{
document.getElementById('inputfield3').value = position.coords.latitude;
document.getElementById('inputfield4').value = position.coords.longitude;
getHttpObject();
// I don't know how to get the positions for showPosition, so you may have to change this part.
httpRequest.open("GET", "set_position.php?lat=" + position.coords.latitude + "&lon=" + position.coords.longitude, true);
httpRequest.onreadystatechange = function()
{
if (httpRequest.readyState == 4 && httpRequest.status == 200)
{
// Handle the response here. Show error or success message or whatever...
}
};
httpRequest.send(null);
}
然后在php脚本上,您可以设置会话的值,验证会话并验证值(当然)
注意:已经一个世纪了,我没有用纯JS编写ajax。请警告我有错误
更新:
我已经根据和文档修复了使用getCurrentPosition
回调的方法
更新2:
您可以使用常见的方法,通过表单
将数据发送到数据库。忘掉上面的一切,试试这个:
假设你有这样一个表格:
<form method="post" action="set_positions.php" id="form1">
<input type="text" id="inputField3" />
<input type="text" id="inputField4" />
</form>
因此,您将在PHP脚本中收到这些字段。请注意,如果您不想让用户更改其值,这些字段也可以是
隐藏的字段。这可能会对您有所帮助
您可以将COOKIE与JAVASCRIPT一起使用
请参阅下面的函数
function setCookie(cname, cvalue, exhour)
{
var d = new Date();
d.setTime(d.getTime()+(exhour*60*60*1000));
var expires = "expires="+d.toGMTString();
document.cookie = cname + "=" + cvalue + "; " + "path=/" + "; " + expires;
}
function getCookie(cname)
{
var name = cname + "=";
var ca = document.cookie.split(';');
for(var i=0; i<ca.length; i++)
{
var c = ca[i].trim();
if (c.indexOf(name)==0) return c.substring(name.length,c.length);
}
return "";
}
函数setCookie(cname、cvalue、exhour)
{
var d=新日期();
d、 设置时间(d.getTime()+(exhour*60*60*1000));
var expires=“expires=“+d.togmString();
document.cookie=cname+“=”+cvalue+”;“+”路径=/“+”;“+过期;
}
函数getCookie(cname)
{
变量名称=cname+“=”;
var ca=document.cookie.split(“;”);
对于(var i=0;i可能这将帮助您
您可以将COOKIE与JAVASCRIPT一起使用
请参阅下面的函数
function setCookie(cname, cvalue, exhour)
{
var d = new Date();
d.setTime(d.getTime()+(exhour*60*60*1000));
var expires = "expires="+d.toGMTString();
document.cookie = cname + "=" + cvalue + "; " + "path=/" + "; " + expires;
}
function getCookie(cname)
{
var name = cname + "=";
var ca = document.cookie.split(';');
for(var i=0; i<ca.length; i++)
{
var c = ca[i].trim();
if (c.indexOf(name)==0) return c.substring(name.length,c.length);
}
return "";
}
函数setCookie(cname、cvalue、exhour)
{
var d=新日期();
d、 设置时间(d.getTime()+(exhour*60*60*1000));
var expires=“expires=“+d.togmString();
document.cookie=cname+“=”+cvalue+”;“+”路径=/“+”;“+过期;
}
函数getCookie(cname)
{
变量名称=cname+“=”;
var ca=document.cookie.spl