PHP验证-表单未验证

PHP验证-表单未验证,php,forms,form-submit,Php,Forms,Form Submit,我是一个Java爱好者,开始学习PHP。这是我关于PHP的第一个问题 玩表格。我没能成功。表单只是没有进行验证和静默提交。我可能犯了什么错 错误消息没有打印出来 <html> <head> <title></title> <link href="css/program-07.css" rel="stylesheet" type="text/css"/> <div id

我是一个Java爱好者,开始学习PHP。这是我关于PHP的第一个问题

玩表格。我没能成功。表单只是没有进行验证和静默提交。我可能犯了什么错

错误消息没有打印出来

<html>
    <head>
        <title></title>
        <link href="css/program-07.css" rel="stylesheet" type="text/css"/>
            <div id="requirements" style="margin: 0 auto; text-align:justify; width:850px;">
                <h1></h1>
        </head>
        <body>
            <nav class="sidenav">
                <header class="w3-container">
                <h3>Navigation</h3>
                </header>
                    <a href="http://lineofcode.com/itse2302-002/itse2302-002-007/">Home</a>     
                    <a href="index.php">Program07</a>
                    <a target="_blank" href="selfprocessor.php">Self Processor</a>
                    <a target="_blank" href="validatecontrols.php">Validate Controls</a>
            </nav>

            <div id="main" style="margin-left:25%">

            <?php
                echo "<h2>Requirement 01 - Datalists + Navigation</h2>";
                echo "<h3>To the left are navigation links to the files in this program, and below (not visible) datalists of the days of the week and months of the year that will be used in requirement 2.";            ?>


                    <datalist id="daysweek">
                        <option value="Monday">
                        <option value="Tuesday">
                        <option value="Wednesday">
                        <option value="Thursday">
                        <option value="Friday">
                        <option value="Saturday">
                        <option value="Sunday">
                    </datalist>

                    <datalist id="monthsyear">
                        <option value="January">
                        <option value="February">
                        <option value="March">
                        <option value="April">
                        <option value="May">
                        <option value="June">
                        <option value="July">
                        <option value="August">
                        <option value="September">
                        <option value="October">
                        <option value="November">
                        <option value="December">
                    </datalist>

            <?php           
                echo "<hr>";

                echo "<h2>Requirement 02 - Datalists</h2>";
                echo "<h3>The two datalists from above are now incorporated into a form that the user can see and interact with.</h3>";
                echo "Input a day of the week and a month of the year.";
            ?> 
                    <form action="daymonth.php" method="get">
                      <input list="daysweek" name="days">
                        <datalist id="day">
                          <option value="Monday">
                          <option value="Tuesday">
                          <option value="Wednesday">
                          <option value="Thursday">
                          <option value="Friday">
                          <option value="Saturday">
                          <option value="Sunday">
                        </datalist>

                        <input list="monthsyear" name="months">
                            <datalist id="month">
                                <option value="January">
                                <option value="February">
                                <option value="March">
                                <option value="April">
                                <option value="May">
                                <option value="June">
                                <option value="July">
                                <option value="August">
                                <option value="September">
                                <option value="October">
                                <option value="November">
                                <option value="December">
                              </datalist>
                        <input type="submit">
                    </form>

            <?php                 
                echo "<hr>";

                echo "<h2>Requirement 03 - Form Processor</h2>";
                echo "<h3>A form processor file named daymonth was created for the form data in requirement 2.  A function called test_input checks the data for safety.</h3>";

                echo "<hr>";

                echo "<h2>Requirement 04 - Favorites Form</h2>";
                echo "<h3>This form includes required fields.</h3>";

                $nameErr = $movieErr = $foodErr = $seasonErr = "";
                $name = $movie = $food = $season = $comment = "";

                if ($_SERVER["REQUEST_METHOD"] == "POST") {
                   if (empty($_POST["name"])) {
                     $nameErr = "Please tell us your name!";
                   } else {
                     $name = test_input($_POST["name"]);
                   }

                   if (empty($_POST["movie"])) {
                     $movieErr = "Please tell us your favorite movie!";
                   } else {
                     $email = test_input($_POST["movie"]);
                   }

                   if (empty($_POST["food"])) {
                     $foodErr = "Please tell us your favorite food!";
                   } else {
                     $website = test_input($_POST["food"]);
                   }

                    if (empty($_POST["season"])) {
                     $seasonErr = "Please tell us your favorite season!";
                   } else {
                     $gender = test_input($_POST["season"]);
                   }

                   if (empty($_POST["comment"])) {
                     $comment = "";
                   } else {
                     $comment = test_input($_POST["comment"]);
                   }
                }

            ?>
                <p><span class="error">* required field.</span></p>
                <form method="post" action="favorites.php"> 
                    Name: <input type="text" name="name">
                    <span class="error">* <?php echo $nameErr;?></span>
                    <br><br>
                    Favorite Movie: <input type="text" name="movie">
                    <span class="error">* <?php echo $movieErr;?></span>
                    <br><br>
                    Favorite Food: <input type="text" name="food">
                    <span class="error">* <?php echo $foodErr;?></span>
                    <br><br>
                    Favorite Season:
                    <input type="radio" name="season" value="Spring">Spring
                    <input type="radio" name="season" value="Summer">Summer
                    <input type="radio" name="season" value="Fall">Fall
                    <input type="radio" name="season" value="Winter">Winter
                    <span class="error">* <?php echo $seasonErr;?></span>
                    <br><br>
                    Comments:<br />
                    <textarea name="comment" rows="5" cols="40"></textarea>
                    <br><br>
                    <input type="submit" name="submit" value="Submit"> 
                </form>

               <?php     
                echo "<hr>";

                echo "<h2>Requirement 05 - </h2>";
                echo "<h3></h3>";


                echo "<hr>";

                echo "<h2>Requirement 06 - </h2>";
                echo "<h3></h3>";


                echo "<hr>";

                echo "<h2>Requirement 07 - </h2>";
                    echo "<h3></h3>";


                echo "<hr>";

                echo "<h2>Requirement 08 - </h2>";
                echo "<h3></h3>";

                echo "<hr>";

                echo "<h2>Requirement 09 - </h2>";
                echo "<h3></h3>";


                echo "<hr>";


            ?>
                </div>
            </div>
        </body>
</html>

航行
*必填字段

姓名: *

最喜欢的电影: *

喜爱的食物: *

最喜欢的季节: 春天 夏天 落下 冬天 *

评论:


还有我的最爱

<head>
    <title>Program 07 - Nicola Stewart</title>
    <link href="css/program-07.css" rel="stylesheet" type="text/css"/>
        <div id="daymonth" style="margin: 0 auto; text-align:justify; width:850px;">
</head>

<body>
    <nav class="sidenav" style="width:25%">
        <header class="w3-container">
        <h3>Navigation</h3>
        </header>
        <a href="http://lineofcode.com/itse2302-002/itse2302-002-007/">Home</a>     
        <a href="index.php">Program07</a>           
  </nav>

    <div id="main" style="margin-left:25%">

        <h2>Requirement 04 - Favorites Form</h2>

        <header class="container">
        <h1>Welcome!</h1>
        </header>
        <div class="container">

        <?php
            $name = $movie = $food = $season = $comment = "";

            if ($_SERVER["REQUEST_METHOD"] == "POST") {
                $name = test_input($_POST["name"]);
                $movie = test_input($_POST["movie"]);
                $food = test_input($_POST["food"]);
                $season = test_input($_POST["season"]);
                $comment = test_input($_POST["comment"]);

            }

            function test_input($data) {
               $data = trim($data);
               $data = stripslashes($data);
               $data = htmlspecialchars($data);
               return $data;
            }

            echo "<h2>You selected:</h2>";
            echo "<h3>";
            echo "<br>";
            echo $name;
            echo "<br>";
            echo $movie;
            echo "<br>";
            echo $food;
            echo "<br>";
            echo $season;
            echo "<br>";
            echo $comment;
            echo "</h3>";
        ?>

        </div>
    </div>

</body>

节目07-尼古拉·斯图尔特
航行
要求04-收藏夹表格
欢迎

您正在将表单数据发布到
收藏夹.php

<form method="post" action="favorites.php"> ... </form>
请注意,当您在另一个PHP文件中包含一个PHP文件时,变量是共享的,这意味着您可以使用/覆盖这些变量

(您也可以对网站的页眉和页脚进行包含)

编辑(回复评论) 更新测试数据():

您可以这样使用它:

$season = test_input("season");
从帖子或GET获取数据的个人收藏夹:


这是
favorites.php
的代码吗?@grim这是我的index.php。考虑到faviourates.php。我已经对我的答案做了一些更新。格里姆,出于某种原因,当我现在单击“提交”时,favorites.php上的错误是
注意:未定义的索引:C:\wamp\www\program-07\favorites.php第65行“
上的seasure=test\u input($\u POST[“seasure”]);@s中的seasureᴜʀᴇsʜᴀᴛᴛᴀ 你有带有属性的
name=“seasure”
标签吗?如果没有,请将其添加到你的表单中。你也可以使用来确保你的
$\u POST
有一个特定的索引(即
If(isset($\u POST['seasure']
)啊..让我试试。谢谢你的帮助。将为此提供奖励:)@sᴜʀᴇsʜᴀᴛᴛᴀ 我还添加了一个从帖子中获取输入的个人建议。您可以在
test\u input()
函数中使用它。让我们来看看。
include 'form.php'
function test_input($index) {
  if (isset($_POST[$index])) {  // make sure that the index exists in $_POST
    $data = $_POST[$index];
    $data = trim($data);
    $data = stripslashes($data);
    $data = htmlspecialchars($data);
    return $data;
  }
  return null;  // or any default value
}
$season = test_input("season");
$season = filter_input(INPUT_POST, 'season', FILTER_SANITIZE_SPECIAL_CHARS);