Textarea验证

vle*_*sha 1 html php

除非用户将某些数据输入textarea控件,否则我的脚本不应该提交HTML表单.但是,无论如何都会提交表单,并且不会显示用户的任何消息.谁能看到我做错了什么?

这是我的HTML:

<textarea name="description" id="description" rows = "4" cols = "25">
    <?php echo $description?>
    </textarea>
Run Code Online (Sandbox Code Playgroud)

对于PHP,这不是:

if ($_POST['description'] == "") {
            $errors .= 'Please enter a description of your invention.<br/><br/>';
        }
Run Code Online (Sandbox Code Playgroud)

或这个:

if (empty($_POST['description'])) {
            $errors .= 'Please enter a description of your invention.<br/><br/>';
        }   
Run Code Online (Sandbox Code Playgroud)

工作.

mel*_*oon 8

那是因为文本区域不是空的!请注意,您在<?php echo $ description?>之前放置了一个标签,这意味着文本区域至少会包含一个标签.

将验证代码更改为以下内容:

if (trim($_POST['description']) == "") {
Run Code Online (Sandbox Code Playgroud)

  • 是的,要么完全删除空格,要么在进入数据库的路上修剪它,否则每次编辑描述时它都会获得越来越多的前导/尾随空格.(另请注意,您需要在`$ description`上使用`htmlspecialchars()`以避免HTML注入导致潜在的XSS安全问题.) (2认同)