我想拉生日,以獲得用戶登錄我的網頁與Facebook的年齡。我一直試圖用我的個人資料登錄,但它給了我錯誤的年齡。下面是我在process_facebook.php代碼(我有一個叫做「年齡」字段接受一個int數據庫):Facebook的權限「生日」給我錯誤的年齡
function getAge($birthday) {
$dt = strtotime($birthday);
// convert the birthday to a standard format (UNIX epoch)
$a = gmdate('Y') - gmdate('Y',$dt);
// find the difference of years
$a = (int)$a;
return $a; // return the age.
}
在典型process_facebook.php框架,我有這樣的:
$birthday = $me['birthday'];
$age = getAge($birthday);
我知道我的生日是1987年1月4日在Facebook上(應該在$生日中以字符串「01/04/1987」的形式提取)。但是當我的數據庫中的字段填充時,它的編號爲43.
我試着運行代碼,將它分別作爲$生日的「01/04/1987」運行,並且它吐出了26個罰款。
我不確定發生了什麼事(Facebook可以通過我不正確的生日?)感謝您的幫助提前。
自1970年以來已經43年了......這意味着strtotime()失敗並返回0,即1970年1月1日,所以你的43實際上是一個「適當」的年齡。例如檢查什麼劇本是真的返回,爲什麼strtotime窒息它。 – 2013-02-08 19:14:46
對不起,但我怎麼會看到這個變量?它在process_facebook.php中;如果我打印變量,它出現在哪裏?或者我如何在瀏覽器控制檯中查看它,等等...... – user1072337 2013-02-08 19:53:54
堅持'var_dump($生日); die()'到你的getAge()函數中,這樣腳本就會吐出Facebook發送的內容,然後中止。 – 2013-02-08 20:50:43