0

私のロジックは、2 つのテキスト フィールドを検証して検証し (具体的には、エラー文字列を確認してください)、フラグを使用してオフにすると、ユーザーを元のフォームに戻して、最新のデータがまだフィールドに書き込まれているようにすることです。そしてラジオボックスは最後の選択にチェックを入れました(デフォルトは赤でなければなりません)。

entry.phpをロードしようとするとすぐに、完全に空白になります。top.phpは問題ありませんが、送信をクリックするたびにどこにも移動せず、(奇妙にランダムに?) テキストエリアのデフォルト文字列をインデントし続けます。

無限の称賛と事前の皆様に感謝します!

ソースコード:

(エントリー.php)

<?php
        if($_POST){
            $rchecked = "";
            $ychecked = "";
            $bchecked = "";
            $errormsgs = [];
            $valid = true;

            if(!preg_match("/^[-a-zA-Z0-9' ]{1,50}$/", $_POST['btitle'])){
                $errormsgs += "Your a need to fill in a blog title
                 that is no longer than 50 characters with only these
                 acceptable characters: Upper/lower case letters, spaces,
                 hyphens, and digits!";
                $valid = false;
            }
            if(!preg_match("/^[-a-zA-Z0-9<>' ]{1,500}$/", $_POST['bentry'])){
                $errormsgs += "You blog entry can't be empty or filled with
                only spaces, and can only use upper or lower case letters,
                spaces, hyphens, single quote marks, <> and digits. Lastly, it
                can't exceed 500 characters in length.";
                $valid = false;
            }

            if($valid){
    ?>
                <table border="1">
                    <font color="<?php echo $_POST['color']; ?>">
                    <tr>
                    <td>Blog Title:</td>
                    <td><?php echo $_POST['btitle']; ?></td>
                    </tr>
                    <tr>
                    <td>Blog Post:</td>
                    <td><?php echo $_POST['bentry']; ?></td>
                    </tr>
                    </font>
                </table>
    <?php
            }
            else{
                    include('top.php');
                    function selected($rchecked, $ychecked, $bchecked){
                        if ($_POST['color'] == "") $rchecked = "checked";
                        if ($_POST['color'] == "Yellow") $ychecked = "checked";
                        if ($_POST['color'] == "Blue" ) $bchecked = "checked";
                    }            
                }
        }
    ?>

(top.php)

    <?php include 'header.php' ?>
        <font color=#EEEED1>
        <form method="POST">
            <center>
                Your Blog Title:
                <input type=text name=btitle value="<?php echo $_POST['btitle'] ?>" ><?php echo $errormsgs[0]; ?><br>
                <textarea name=bentry cols="80" rows="20">
                    <?php echo isset($_POST['bentry']) ? $_POST['bentry'] : "What's on your mind?"; ?>
                </textarea><br><br>
                <?php echo $errormsgs[1]; ?>
                <table class="t1">
                    <tr><td>
                        <input type=radio name=color value="Red" <?php echo $rchecked; ?> ><font color="Red"> Red</font>
                    </td></tr>
                    <tr><td>
                        <input type=radio name=color value="Yellow" <?php echo $ychecked; ?> ><font color="Yellow"> Yellow</font>
                    </td></tr>
                    <tr><td>
                        <input type=radio name=color value="Blue" <?php echo $bchecked; ?> ><font color="Blue">  Blue</font><br><br>
                    </td></tr>
                </table>
                <input type=submit value="Create Blog!">
            </center>
        </form>
        </font>
    <?php include 'footer.php' ?>
4

1 に答える 1