下面是一個例子,你應該如何爲你的任務做:
<!DOCTYPE html>
<html>
<head>
<script>
function validateForm()
{
var age = document.forms["myForm"]["age"].value;
if (age == null || age == "")
{
alert("Enter your age.");
return false;
}
}
</script>
</head>
<body>
<form name="myForm" action="age.php" onsubmit="return validateForm()" method="POST">
Age: <input type="text" name="age">
<input type="submit" value="Submit">
</form>
</body>
</html>
像這是檢查客戶端的機器使用Javascript上輸入任務的常用方法。然而,客戶端的輸入不應該被信任(他可以犯錯誤,他可以嘗試提供不正確的數據,他可以嘗試執行像SQL注入這樣的攻擊),所以你應該總是再次檢查他的輸入,但是在服務器上已經。
基本邏輯:
1)。檢查客戶端機器上的客戶端輸入。如果有問題 - 給他一個警報/寫一個錯誤。如果檢查完成沒有任何錯誤 - 接受用戶輸入並將其發送到服務器。 (由Javascript/JQuery執行)
2)。在使用此輸入執行服務器邏輯之前,請再次在服務器端檢查用戶輸入(防止SQL注入和其他潛在危險的客戶端操作)。 (由後端語言執行,PHP就是你的情況)。
至於你的任務,你可以用你的提醒功能回顯腳本部分。但是,這種做法是完全錯誤的,因爲:
- 它增加了服務器的負載,以及當編程網站正試圖減少用戶的請求到服務器,以最小你的主要目標。要做到這一點,你應該做盡可能多的客戶端計算和檢查儘可能(同時保持你的安全。不要忘記,用戶可以檢查腳本來源,看看他的方面如何計算數據。)
- 它仍然使用JavaScript,那麼爲什麼不從客戶的網頁開始呢?
- 它創造的代碼更爲複雜,更難讀,組織化程度較低
所以你只是進行不必要的服務器請求,並應避免。
基本上,檢查客戶端的輸入,執行您的業務邏輯(沒有人應該看到)和數據庫在服務器端的工作。
此外,我會建議你閱讀一些基本的PHP /網絡開發書籍,學習與用戶交互的基本邏輯,它將爲您節省很多時間。
是否有任何理由想要做這個服務器端?爲什麼不使用JavaScript來做到這一點? –
@Aristos謝謝你指出,我不知道! –
如何(服務器端與否)無關緊要,我想盡可能地做到這一點。 – user1822263