当前位置: 代码迷 >> PHP >> 新人啊关于表单的
  详细解决方案

新人啊关于表单的

热度:41   发布时间:2016-04-28 18:11:59.0
新人求助啊!关于表单的
我做了个简单的留言板,只写了一小部分,可是规则写了,比如我不输标题,在前台还是无法显示错误,求帮助
------------------------------------------这是留言板模板:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
  a{margin-left:10px}
</style>
</head>
<body>
    <h2 style="border:1px;" align="center">留言板</h2>   
    <form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="post" style="border:1px solid #ddd; width:500px; margin-left:370px">
        <br></br>
        <a>姓名:</a>
        <input type="text" value="" name="name">
        <?php echo "$nameError";?>
        <br></br>
        <a>标题:</a>
        <input type="text" value="" name="title">
        <?php echo "$titleError";?>
        <br></br>
        <label>
            <a>评论:</a>
            <textarea cols="40" rows="5" name="content">
            <?php echo "$contentError";?></textarea>
            <input type="submit" value="留言" name="submit">
            <h2><a>留言区:</a><h2>
            <br></br>
            <br></br>
            <br></br>
            <br></br>
            <br></br>
        </label>
    </form>
</body>
</html>
------------------------------------------这是验证部分:
<?php
//留言板验证规则
if($_SERVER["REQUEST_METHOD"] == "POST"){

if(empty($_POST["name"])){
$nameError = "用户名不能为空";
}else{
    $name = test_input($_POST["name"]);
}

    if(empty($_POST["title"])){
     $titleError = "标题不能为空";
    }else{
        $title = test_input($_POST["title"]);
    }

if(empty($_POST["content"])){
$contentError = "评论内容不能为空";
}else{
    $content = test_input($_POST["content"]);
}

}


//去除空格及反斜线方法
function test_input($data){
$data = trim($data);
$data = stripslashes($data);
    $data = htmlspecialchars($data);
    return $data;
}
------解决思路----------------------
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
  a{margin-left:10px}
</style>
</head>
<body>
<?php $nameError = $titleError= $contentError = "";?>
<!--  这是验证部分: -->
<?php
//留言板验证规则
if($_SERVER["REQUEST_METHOD"] == "POST"){
if(empty($_POST["name"])){
$nameError = "用户名不能为空";
}else{
$name = test_input($_POST["name"]);
}

    if(empty($_POST["title"])){
     $titleError = "标题不能为空";
    }else{
        $title = test_input($_POST["title"]);
    }
if(empty($_POST["content"])){
 $contentError = "评论内容不能为空";
}else{ 
$content = test_input($_POST["content"]);
}
}


//去除空格及反斜线方法
function test_input($data){
$data = trim($data);
$data = stripslashes($data);
    $data = htmlspecialchars($data);
    return $data;
}

?>
    <h2 style="border:1px;" align="center">留言板</h2>   
    <form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="post" style="border:1px solid #ddd; width:500px; margin-left:370px">
        <br></br>
        <a>姓名:</a>
        <input type="text" value="" name="name">
        <?php echo "$nameError";?>
        <br></br>
        <a>标题:</a>
        <input type="text" value="" name="title">
        <?php echo "$titleError;"?>
        <br></br>
        <label>
            <a>评论:</a>
            <textarea cols="40" rows="5" name="content"><?php echo "$contentError";?>
            </textarea>
            <input type="submit" value="留言" name="submit">
            <h2><a>留言区:</a><h2>
            <br></br>
            <br></br>
            <br></br>
            <br></br>
            <br></br>
        </label>
    </form>
</body>
</html>
  相关解决方案