2011-07-18 42 views
2

我試圖做用戶和當前的日期和這裏選擇日期的服務器端驗證是我所:梳理電話號碼,但沒有將它們添加在PHP

$day = $_POST['day']; 
$month = $_POST['month']; 
$year = $_POST['year']; 
$dateval = $year + $month + $day; 

if ($dateval - $today < 0) { 
$datepassed = 'no'; 
} 
else { 
$datepassed = 'yes';  
} 

現在據我知道,除了事實上$ dateval變量只是將所有數字相加而不是將它們放在一起以形成用戶選擇的日期這一事實以外,所有內容都完美無缺地工作。例如20110719返回2037.我怎樣才能做出一個可靠的結合數字而不添加它們?任何幫助表示讚賞。

回答

4

如果你連接字符串,你應該使用連接符,.

$dateval = $year . $month . $day; 

否則,PHP將是聰明和convert your strings to integers,弱類型的後果由PHP實現語言。

+0

哇。我是一個小菜鳥。過多的Java腳本會對你做這些事情。 –

+0

感謝您的更正! –

3

PHP concatination使用.而不是+。加號表示JavaScript(以及其他語言)如何連接字符串。

$dateval = $year . $month . $day; 
1

它們必須是字符串,使用.

6

,如果你想將它們連接起來作爲字符串,使用點(。)

$dateval = $year . $month . $day; 

但是,因爲你是使用日期,可以考慮使用mktime功能

$dateval = mktime(0, 0, 0, $month, $day, $year) 
+0

對'mktime'建議+1。 – You

2

只需更換+(加)與.(連接)。

$dateval = $year.$month.$day; 
2

您需要將其添加爲字符串。 A 點運算符這樣做。

還要確保今天$ dateval的格式類似於$的格式(即包括破折號如果需要的話):

$dateval = $year.'-'.$month.'-'.$day;