페이스 북으로 내 페이지에 로그인 한 사용자의 나이를 얻기 위해 생일을 맞으려고합니다. 나는 계속 내 프로필로 로그인하려고 노력하고 있지만 잘못된 나이를주고 있습니다. 아래는 내가 process_facebook.php에있는 코드 (내가 int를한다 "나이"라는 필드와 데이터베이스가)된다페이스 북의 허락을받은 "생일"
: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 일 (페이스 북에서 $ birthday에 "01/04/1987"문자열로 지정되어야 함)임을 알고 있습니다. 그러나 데이터베이스에 필드가 채워지면 숫자는 43이됩니다.
"01/04/1987"을 $ birthday로 별도로 실행하려고 시도했지만 26 번 괜찮습니다.
나는 무슨 일이 일어나고 있는지 잘 모르겠다. (페이스 북이 나에게 잘못된 생일을 넘길 수 있었 을까?) 미리 도움을 주셔서 감사합니다.
1970 년 이래로 43 년이되었습니다 ... strtotime()이 실패하고 0을 반환하고, 1970 년 1 월 1 일을 반환하므로 43이 실제로 "적절한"나이입니다. 예 : 어떤 드라마 북이 정말로 돌아 왔는지 그리고 왜 strtotime이 그것에 질식하는지 확인하십시오. –
죄송하지만이 변수는 어떻게 볼 수 있습니까? 그것은 process_facebook.php에 있습니다; 변수를 출력하면 어디에 나타 납니까? 또는 브라우저 콘솔 등에서 그것을 어떻게 볼 수 있습니까? – user1072337
'var_dump ($ birthday); die()'를 getAge() 함수에 추가합니다. 그러면 스크립트는 페이스 북이 보낸 것을 뱉어 내고 중단합니다. –