2015-10-04 41 views
-2

我試圖驗證信用卡號碼輸入至少16位數字。我的代碼似乎不工作。我對我的語法不太自信。任何幫助?...謝謝。php strlen驗證用戶輸入至少16位數字

<form name="ccard" action="validate.php" method=post> 
CC Type 
<select name="cc_type"> 
<option value="mc">Master Card</option> 
<option value="visa">Visa</option> 
</select><br> 
Creditcard number: 
<input type=number name="ccard_num" value="num"><br> 
Exp Year: 
<input><br> 
Exp Month: 
<input> 
</form> 

PHP代碼

<?php 
$cc_length = $_POST['ccard_num']; 

if (strlen($cc_length == 15) { 
echo "Valid"; 
} 
elseif (strlen($cc_length != 15) { 
echo "Invalid entry"; 
} 
?> 
+0

的錯誤是顯而易見的,如果你有錯誤報告打開PHP會告訴你什麼是錯的。 –

+0

strlen上的RTM http://php.net/manual/en/function.strlen.php你的答案在那裏;-) –

+0

你還應該檢查它是否是數字。如果你期望數字。使用'filter_input'或'filter_input_array' –

回答

-1

If條件的,沒有右括號,它很明顯的。

1

strlen返回字符串的長度。你需要比較這個函數的返回值。 現在,您將字符串值與數字進行比較,然後將此布爾值傳遞給strlen函數。 更改您的代碼:

<?php 
$cc_length = $_POST['ccard_num']; 

    if (strlen($cc_length) == 15) { 
    echo "Valid"; 
} 
    elseif (strlen($cc_length) != 15) { 
    echo "Invalid entry"; 
} 
?>