我正在學習PHP,現在我正在學習如何驗證表單和客戶端輸入。PHP生成WSOD,雖然已打開,但沒有錯誤報告
很明顯,我拼錯了,寫了一些與PHP無關的東西或類似的東西,因爲我什麼也沒有,只是一個白色的屏幕,但我無法找到錯誤產生的地方。
一個奇怪的事情是,即使我已經把錯誤報告和錯誤我得到的顯示是所謂的WSOD(死亡的白色屏幕)
這是PHP代碼:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 'On');
if (array_key_exists('_submit_check', $_POST)) {
if (validate_form()) {
process_form();
} else {
show_form();
}
} else {
show_form();
}
function process_form() {
print "Hello, " . $_POST['my_name'];
}
function show_form() {
print<<<HTML
<form method="POST" action="$_SERVER[PHP_SELF]">
Your name: <input type="text" name="my_name">
<br>
<input type="submit" value="Say HEEELLOOO!">
<input type="hidden" name="_submit_check" value="1">
</form>
HTML;
}
function validate_form() {
if (strlen($_POST['my_name'] < 3) {
return false;
} else {
return true;
}
}
?>
請沒有「你爲什麼要這麼做服務器端?唧唧歪歪」,它只是一個「鍛鍊; Tibial」
如果你能發現在那裏我做了錯誤,請讓我知道,如果你可以告訴我爲什麼我什麼都得不到當我犯了一個錯誤的白色屏幕,請讓我知道! :)謝謝
是不是 if(strlen($ _ POST ['my_name'])<3){...?因爲strlen()是一個函數...所以基本上它是 如果(strlen(東西)小於三){然後返回false ... – Latze 2010-08-08 20:22:21
真夠了......我確定了缺少的括號,但是在錯誤的位置,當我發佈迴應....編輯更正 – 2010-08-08 20:57:55
謝謝你:) – Latze 2010-08-08 21:06:21