function initialize() {
var mapOptions = {
zoom: 8,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP,
backgroundColor: '#FFF',
disableDefaultUI: true,
draggable: true,
scaleControl: false,
scrollwheel: false,
styles: [
{
"featureType": "water",
"elementType": "geometry",
"stylers": [
{ "visibility": "off" }
]
},{
"featureType": "landscape",
"stylers": [
{ "visibility": "off" }
]
},{
"featureType": "road",
"stylers": [
{ "visibility": "off" }
]
},{
"featureType": "administrative",
"stylers": [
{ "visibility": "off" }
]
},{
"featureType": "poi",
"stylers": [
{ "visibility": "off" }
]
},{
"featureType": "administrative",
"stylers": [
{ "visibility": "off" }
]
},{
"elementType": "labels",
"stylers": [
{ "visibility": "off" }
]
},{
}
]
};
var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
我想知道为什么第一次运行它会出现“我们的生日计算器说你是2017年”。
在确定实际日期之后,php正常工作。
非常感谢任何帮助。
答案 0 :(得分:1)
因为第一次运行代码,$ birthday设置为1,然后通过calculate_age()函数传递。
该函数需要一个以正斜杠/.// p>分隔的日期的字符串表示
你没有传递它所期望的功能,所以它会返回乱码。
扩展解决方案:除非您有日期,否则不要进行计算:
$finalBirthday = false;
if(isset($_POST["birthday"]))
$birthday = $_POST["birthday"];
list($day, $month , $year) = explode("/", $birthday);
$day_diff = date("d") - $day;
$month_diff = date("m") - $month;
$year_diff = date("Y") - $year;
if($month_diff < 0){
$year_diff--;
}
else if(($month_diff == 0) && ($day_diff < 0)){
$year_diff--;
}
else if (($month_diff == 0) && ($day_diff == 0)){
echo "<script type='text/javascript'>alert('Happy
Birthday!!!');</script>";
}
$finalBirthday=$year_diff;
}
...
<?php
if ($finalBirthday) {
echo "Our Birthday Calculator says you are " .$finalBirthday;
}
?>
答案 1 :(得分:0)
因为生日= 1天= 1,月= null,年= null。
这有点相当于你的生日是1/0/00让你2017年