Javascript, IP address-based lookup:
Google
<script src="http://www.google.com/jsapi"></script>
<script>
var l = google.loader.ClientLocation;
console.log(l.address.city);
console.log(l.address.region);
console.log(l.address.country);
console.log(l.latitude);
console.log(l.longitude);
</script>
London, Surrey, United Kingdom
51.5, -0.117
MaxMind
<script src="http://j.maxmind.com/app/geoip.js"></script>
<script>
console.log(geoip_city());
console.log(geoip_region_name());
console.log(geoip_country_name());
console.log(geoip_latitude());
console.log(geoip_longitude());
</script>
London, London, United Kingdom
51.5000, -0.1167
Comments
All fields are optional, email address will not be shown; no HTML, URLs are automatically hyperlinked.

Some Dating Tips
Getting a date is never hard, the hard part is making sure that the two of you continue dating and loving each other long after your first date. Then hopefully get married and still look back and say you love each other.