当用户点击我的网站时,我会检查我是否在PHP中设置了位置会话.如果没有与用户位置设置的会话,我将它们重定向到www.domain.net/location.在此页面上,有许多选项供用户选择位置.如果浏览器允许,其中一个选项是使用浏览器来设置它.以下代码非常有效.
我遇到的问题是,一旦用户允许浏览器共享该位置,这似乎永远设置.在用户浏览时,他们可能决定更改其位置,然后单击按钮再次转到www.domain.net/location页面.没有任何弹出,它会自动获取浏览器位置并重定向它们.有页面上的其他位置的选项,包括一个可点击的地图,我真正需要的是能够重置,过期,删除,强制的东西让浏览器再次询问用户是否希望使用浏览器设置的位置,或允许用户使用其他选项之一.
我唯一能想到的是将下面的实际Javascript移到另一个页面上,并在www.domain.net/location页面上有另一个按钮,上面写着"使用我的精确位置",然后链接到下面的JS .
有没有人知道重置这个或什么的另一种方式?
<script type="text/javascript" charset="utf-8">
function findLocation()
{
var options = {timeout: 60000};
navigator.geolocation.getCurrentPosition(foundLocation, noLocation, options);
}
function foundLocation(position)
{
var lat = position.coords.latitude;
var lng = position.coords.longitude;
//alert('Found location: ' + lat + ', ' + lng);
window.location = "http://www.domain.net/?lat=" + lat + "&lng=" + lng;
}
function noLocation()
{
alert('Could not find location');
window.location = "http://www.domain.net/location";
}
findLocation();
</script>
Run Code Online (Sandbox Code Playgroud) 我将这个名为'My_Form_validation.php'的类文件放入'application/core'中,我也尝试将它放在'application/libraries'中.
在我的控制器中,我正在使用
$this->form_validation->set_rules('user_postcode', 'Postcode', 'valid_postcode|trim|required|xss_clean');
Run Code Online (Sandbox Code Playgroud)
这在My_Form_validation.php中是什么 - 这里的实际逻辑没有问题,因为我有几个选项来实际验证邮政编码.我需要帮助的是理解为什么它没有加载或被调用!
我的CI版本是define('CI_VERSION','2.0.2');
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Form validation for UK Postcodes
*
* Check that its a valid postcode
* @author James Mills <james@koodoocreative.co.uk>
* @version 1.0
* @package FriendsSavingMoney
*/
class MY_Form_validation extends CI_Form_validation
{
function __construct()
{
parent::__construct();
log_message('debug', '*** Hello from MY_Form_validation ***');
}
function valid_postcode($postcode)
{
/**
*
* UK Postcode validation expression from Wikipedia
* http://en.wikipedia.org/wiki/Postcodes_in_the_United_Kingdom
*
* Note: Remember …Run Code Online (Sandbox Code Playgroud) 我有一个 MySQL 表,其中大约有 2m 行。我正在尝试运行以下查询,每次都需要 5 秒以上才能获得结果。我在列上有一个索引created_at。下面是EXPLAIN输出。
这是预期的吗?
提前致谢。
SELECT
DATE(created_at) AS grouped_date,
HOUR(created_at) AS grouped_hour,
count(*) AS requests
FROM
`advert_requests`
WHERE
DATE(created_at) BETWEEN '2022-09-09' AND '2022-09-12'
GROUP BY
grouped_date,
grouped_hour
Run Code Online (Sandbox Code Playgroud)
codeigniter ×1
datetime ×1
forms ×1
geolocation ×1
html5 ×1
javascript ×1
location ×1
mysql ×1
validation ×1