PHP无法为空字段生成错误消息


PHP Unable to Generate Error Message For Empty Field

这学期我要做的是noobie PHP编码。我有一个作业,它在php文件中包含所有html。我将添加if语句,如果任何字段为空,并且在数字字段中输入了负数,则该语句将生成错误消息。

这真的很简单,答案最好很简单。没有数组或类似的东西。只要是直接的if/else之类的。我也很肯定,这是一件非常明显和简单的事情,我只是没有得到;我充其量只是SQL之外的一个笨拙的程序员。你可以看到我试图让错误消息保持不变,尽管它不起作用,但我还是留下了。希望这能引导我的错误思维走向何方。

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Product Discount Calculator</title>
    <link rel="stylesheet" type="text/css" href="main.css" />
</head>
<body>
    <div id="content">
        <h1>Product Discount Calculator</h1>
        <form action="display_discount.php" method="post">
            <?php $error_message = " "; ?>
            <div id="data">
                <label>Product Description:</label>
                <input type="text" name="product_description"/><br />
                <?php if ( empty($product_description) ) {$error_message = 'This field cannot be blank'}; ?>
                <span class="error">* <?php echo $error_message;?></span>
                <label>List Price:</label>
                <input type="text" name="list_price"/><br />
                <label>Discount Percent:</label>
                <input type="text" name="discount_percent"/>%<br />
            </div>
            <div id="buttons">
                <label>&nbsp;</label>
                <input type="submit" value="Calculate Discount" /><br />
            </div>
        </form>
    </div>
</body>
</html>

因此,这里需要指出几点。

HTML是客户端。PHP是服务器端。因此,通常情况下,您会将表单提交给一些PHP代码,找出提交的字段是否会导致错误,然后设置一些变量来显示错误。

当提交表单时,想要知道表单中的值是什么,您需要在输入元素上使用ID。这将允许您与$_POST数组对话(我知道您说过没有数组,但这就是向PHP提交表单的方式)。

话虽如此,通常我们根本不允许他们在输入中输入无效数据。通常会使用一些JavaScript来警告用户他们的输入无效,从而获得更好的用户体验。

至于这是一项家庭作业,请查看php中的$_POST,并决定是否可以/希望使用javascript在错误发生之前停止错误。(有很多文章/帖子可以帮助解决以上两个问题)