Created
January 25, 2012 10:30
-
-
Save neave/1675764 to your computer and use it in GitHub Desktop.
Mobile phone headers PHP example
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<html lang="en"> | |
<head> | |
<meta charset="utf-8"> | |
<meta name="viewport" content="width=device-width, user-scalable=yes, minimum-scale=1.0"> | |
<title>And your phone number is...</title> | |
<style> | |
body { | |
font: 17px sans-serif; | |
color: #444; | |
margin: 20px; | |
} | |
</style> | |
</head> | |
<body> | |
<?php | |
$headers = apache_request_headers(); | |
foreach ($headers as $header => $value) { | |
if ($header == 'x-up-calling-line-id') { | |
$phone_number = $value; | |
break; | |
} | |
} | |
if (isset($phone_number)) { | |
echo "<p>Your phone number is:</p><h1>$value</h1><p>Did you know that this number is sent to <strong>every</strong> website you visit (when not using Wi-Fi)?</p>"; | |
} else { | |
echo '<p>No phone number found. Make sure Wi-Fi is turned off and <a href="./">try again</a>.</p>'; | |
} | |
?> | |
<p><a href="http://www.thinkbroadband.com/news/4990-o2-shares-your-mobile-phone-number-with-every-website-you-visit.html">More info here</a>.</p> | |
<p>Try <a href="http://lew.io/headers.php">this demo</a> by <a href="http://twitter.com/lewispeckover">@lewispeckover</a>.</p> | |
<p><a href="https://gist.github.com/1675764">Source code for this page</a>.</p> | |
</body> | |
</html> |
The sentence:
$headers = apache_request_headers(); foreach ($headers as $header => $value) { if ($header == 'x-up-calling-line-id') { $phone_number = $value; break; } }
Is not guaranteed it will work.
You can simply do:
$header = apache_request_headers(); if(isset($header['x-up-calling-line-id']) && !empty($header['x-up-calling-line-id'])){ $phone_number = $header['x-up-calling-line-id']; }else{ $error_phone_number = "Phone number missing...!"; }
Using this technique, saves time, does not fail when comparing 2 strings.
By the way, a safer and more proper way to compare 2 strings is to use strcmp. It returns 0 if both strings are identical, otherwise, return 1.
Regards,
Cristian
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
this is pretty scary...
PS: I believe you can just do like so
if ( !empty($headers['x-up-calling-line-id']) ) $phone_number = $value;