0

PHPの if および else ステートメントフォーム検証を実践するコードを書いています。

基本的な考え方は次のとおりです。名前、DOB、および電子メールを入力して送信ボタンをクリックした後、入力したDOBに基づいて、ボタンは次のリードにつながります。

- 飲むには若すぎることを知らせるページ(notwelcome.php)

また

-飲み物を注文できることを伝えるページ(welcome.php)

2 つのページ(notwelcome.php とwelcome.php)は、次のように保存されたaction.phpという別のファイルから取得されます。

<?php
include('welcome.php');
include('notwelcome.php');
?>

これは私が試してきたものです..しかし、うまくいきません。何も起こらない.. if else コードが存在しないかのように :(

<?php

if ($_POST['submit']) {

    $dob = $_POST['dob'];

    if (isset ($_POST['dob'] )> 12/31/1992) {
        header("Location: notwelcome.php");
} else {
        header("Location: welcome.php");}
}
?>

ヘルプ。私は初心者で、コードの途中で小さな隆起にぶつかりました。

追加情報:

HTML コードは次のようになります。

    <div style="text-align: center;">

        <h2>FORM & PHP</h2>

        <h3>WHINE & DINE</h3>
        <form action="action.php" method="post">
           Full Name: <input type="text" name="name"><br>
           Date of Birth: <input type="date" name="dob"><br>
            E-mail: <input type="text" name="email"><br>
            <input type="submit" data-inline="true" value="Submit">

        </form>
        </div>
    </div>
        </form>
4

3 に答える 3

1

これを試して。また、includeフォームを処理する前にページに表示する必要がない限り、これらのファイルは必要ありません。相対パスが正しいことを確認するためにチェックします。また、ユーザーが正しい形式で DOB を入力できるようにすることもできます。

<?php

if (isset($_POST['dob'])) {

    $dob = $_POST['dob'];

    if ($dob > date("m/d/Y", mktime(0, 0, 0, date('m'), date('d'), date('Y') - 21))) {
        header("Location: notwelcome.php");
    } else {
        header("Location: welcome.php");}
}
?>
于 2013-11-09T22:11:49.363 に答える
0

これを試すことができます。PHP コードでは、if 条件を追加して、範囲の有効性を確認できます。

<?php
if (isset($_POST['date']) && isset($_POST['month']) && isset($_POST['year']) ) 
{
    $dob = date_format (date_create ($_POST['year']."-".$_POST['month']."-".$_POST['date']), "Y-m-d");
    if ($dob > date("Y-m-d", mktime(0, 0, 0, date('m'), date('d'), date('Y') - 21)))
      {
        header("Location: notwelcome.php");
      } 
    else 
      {
        header("Location: welcome.php"); 
      }
}
?>

<html>
<head></head>
<body>
<div style="text-align: center;">

        <h2>FORM & PHP</h2>

        <h3>WHINE & DINE</h3>
        <form action="r.php" method="post">
           Full Name: <input type="text" name="name"><br>
           Date of Birth: <select name="month">
<option value="01">January</option><option value="02">February</option><option value="03">March</option>
<option value="04">April</option><option value="05">May</option><option value="06">June</option>
<option value="07">July</option><option value="08">August</option><option value="09">September</option>
<option value="10">October</option><option value="11">November</option><option value="12">December</option></select> <select name="date" >
<option value="1">01</option><option value="2">02</option><option value="3">03</option>
<option value="4">04</option><option value="5">05</option><option value="6">06</option>
<option value="7">07</option><option value="8">08</option><option value="9">09</option>
<option value="10">10</option><option value="11">11</option><option value="12">12</option>
<option value="13">13</option><option value="14">14</option><option value="15">15</option>
<option value="16">16</option><option value="17">17</option><option value="18">18</option>
<option value="19">19</option><option value="20">20</option><option value="21">21</option>
<option value="22">22</option><option value="23">23</option><option value="24">24</option>
<option value="25">25</option><option value="26">26</option><option value="27">27</option>
<option value="28">28</option><option value="29">29</option><option value="30">30</option><option value="31">31</option>
</select> <input name="year" type="text" id="year" size="4" maxlength="4"> <span>(YYYY)</span>
<br>
E-mail: <input type="text" name="email"><br>
<input type="submit" data-inline="true" value="Submit">
</form>
</div>          
</body>     
</html>
于 2013-11-10T01:52:49.030 に答える