我正在学习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