0

行 52、53、54、55 で未定義の変数を取得し続けており、それを修正する方法がわかりません。どんな助けでも大歓迎です。

<table>
            <form name="emailMe" id="emailMe" action="contactMe.php" method="post">

                <tr><th><p>First Name </p></th> <td><p><input type="text" name="firstName" maxlength="10"value="<?php print($fName); ?>" /></p></td></tr>
                <tr><th><p>Last Name </p></th> <td><p><input type="text" name="lastName" maxlength="25"value="<?php print($lName); ?>" /></p></td></tr>
                <tr><th><p>Email </p></th> <td><p><input type="text" name="email" maxlength="50"value="<?php print($email); ?>" /></p></td></tr>
                <tr><th><p>Message </p></th> <td><p><input type="text" name="message" maxlength="250"value="<?php print($message); ?>" /></p></td></tr>
        </table>

                <p><input type="submit" name="submit" value="Submit" />
                <input type="reset" value="Clear Form" /></p>
            </form>

        <?php 

            if(isset($_POST["submit"])){

            $errorCount = 0;
            $fName      = $_POST['firstName'];
            $lName      = $_POST['lastName'];
            $email      = $_POST['email'];
            $message    = $_POST['message'];
4

5 に答える 5

3
<?php print($fName); ?>
<?php print($lName); ?> 
<?php print($email); ?> 
<?php print($message);?>

HTML コード内のそのような変数はすべて、使用する前に宣言されていません。それがエラーの原因です。これらの変数は、出力する前に初期化されていません。HTML の前に PHP コードを配置して、それらを初期化することができます。この例のように

if(isset($_POST["submit"]))
{
 $fName = $_POST['firstName'];
}
else
{
 $fName = "";
}

編集:

このような

<?php 

        if(isset($_POST["submit"])){
        $errorCount = 0;
        $fName      = $_POST['firstName'];
        $lName      = $_POST['lastName'];
        $email      = $_POST['email'];
        $message    = $_POST['message'];
        }
        else
        {
        $fName      = "";
        $lName      = "";
        $email      = "";
        $message    = "";
        }
?>

そして、これはあなたのHTMLの上に行く必要があります

于 2013-02-08T06:05:49.977 に答える
1

次の簡単な手順に従ってください:
これから変更します:
<tr><th><p>First Name </p></th> <td><p><input type="text" name="firstName" maxlength="10" value="<?php print($fName); ?>" /></p></td></tr>

これに:
<tr><th><p>First Name </p></th> <td><p><input type="text" name="firstName" maxlength="10" value="<?php if(isset($fname)) print($fName); ?>" /></p></td></tr>

残りのすべてのステップでこのように繰り返します。

于 2016-05-12T08:42:48.903 に答える
0

<table>内部<form>タグを次のように宣言します。

 <form name="emailMe" id="emailMe" action="contactMe.php" method="post">
<table>
                <tr><th><p>First Name </p></th> <td><p><input type="text" name="firstName" maxlength="10"value="<?php print($fName); ?>" /></p></td></tr>
                <tr><th><p>Last Name </p></th> <td><p><input type="text" name="lastName" maxlength="25"value="<?php print($lName); ?>" /></p></td></tr>
                <tr><th><p>Email </p></th> <td><p><input type="text" name="email" maxlength="50"value="<?php print($email); ?>" /></p></td></tr>
                <tr><th><p>Message </p></th> <td><p><input type="text" name="message" maxlength="250"value="<?php print($message); ?>" /></p></td></tr>
        </table>

                <p><input type="submit" name="submit" value="Submit" />
                <input type="reset" value="Clear Form" /></p>
            </form>
于 2013-02-08T06:07:49.873 に答える
0

宣言する前に変数を使用しています。以下のように変更します。

    <?php 

                if(isset($_POST["submit"])){

                $errorCount = 0;
                $fName      = $_POST['firstName'];
                $lName      = $_POST['lastName'];
                $email      = $_POST['email'];
                $message    = $_POST['message'];

    ?>
<form name="emailMe" id="emailMe" action="contactMe.php" method="post">
    <table>
            <tr><th><p>First Name </p></th> <td><p><input type="text" name="firstName" maxlength="10"value="<?php print($fName); ?>" /></p></td></tr>
                    <tr><th><p>Last Name </p></th> <td><p><input type="text" name="lastName" maxlength="25"value="<?php print($lName); ?>" /></p></td></tr>
                    <tr><th><p>Email </p></th> <td><p><input type="text" name="email" maxlength="50"value="<?php print($email); ?>" /></p></td></tr>
                    <tr><th><p>Message </p></th> <td><p><input type="text" name="message" maxlength="250"value="<?php print($message); ?>" /></p></td></tr>
            </table>
            <p><input type="submit" name="submit" value="Submit" />
            <input type="reset" value="Clear Form" /></p>
</form>

注: フォームで a をチェックしているのがわかります$_POST["submit"]。HTML コードで使用している送信と同じ場合は、私のコードに変更した後でもエラーが発生します。

その場合、フォームが最初に送信されないため、定義されていない変数を使用しているためです。

于 2013-02-08T06:08:28.873 に答える
0

次の行を現在の位置から削除し、それらの行を table タグの前に配置してください。

        if(isset($_POST["submit"])){

        $errorCount = 0;
        $fName      = $_POST['firstName'];
        $lName      = $_POST['lastName'];
        $email      = $_POST['email'];
        $message    = $_POST['message'];
于 2013-02-08T06:10:26.063 に答える