-1

この次のコードで問題が発生しています.83行目に未定義のインデックスがあります.2番目の問題は、出力中に必要なフォームを埋めるテキストとフォームの入力テキストボックスの間に大きなギャップがあることです.助けてください.Theコードは以下に掲載されています。

<html>
    <head>
        <style>
            .error {color: #FF0000;}
        </style>
    </head>
    <body>
        <?php
            $firstnameErr = $lastnameErr = $emailErr = "";
            $firstname = $lastname = $email = "";

            if ($_SERVER["REQUEST_METHOD"] == "POST")
            {
                if (empty($_POST["firstname"]))
                {
                    $firstnameErr = "Name is required";
                }
                else
                {
                    $firstname = test_input($_POST["firstname"]);
                }

                if (empty($_POST["lastname"]))
                {
                    $lastnameErr = "Name is required";
                }
                else
                {
                    $lastname = test_input($_POST["lastname"]);
                }
                if (empty($_POST["email"]))
                {
                    $emailErr = "Email is required";
                }
                else
                {
                    $email = test_input($_POST["email"]);
                }
            }

            function test_input($data)
            {
                $data = trim($data);
                $data = stripslashes($data);
                $data = htmlspecialchars($data);
                return $data;
            }         
        ?>
        <div text align =center><h1>Eventous Info</h1></div>
        <h3>Fill the Required Form:</h3>
        <p><span class="error">*required field</span></p>
        <table>
            <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> 
                <tr><?php// echo htmlspecialchars($_SERVER["PHP_SELF"]);?>
                    <td>Firstname:</td>
                    <td><input type="text" name="firstname" ></td>
                    <td><span class="error">* <?php echo $firstnameErr;?></span></td><br><br>
                </tr>
                <tr>
                    <td>Lastname:</td>
                    <td><input type="text" name="lastname" ></td>
                    <td><span class="error">* <?php echo $lastnameErr;?></span></td><br><br>
                </tr>
                <tr>
                    <td>Email</td>
                    <td><input type="text" name="email"></td>
                    <td><span class="error">* <?php echo $emailErr;?></span></td><br><br>
                </tr>
                <tr>
                    <td>Phone:</td>
                    <td><input type="text" name="number"><td><br><br>
                </tr>
            </table>
            <input type="submit" >
        </form>

        <?php
            $con = mysql_connect("localhost","ashu123","bangalore");
            if (!$con)
            {
                die('Could not connect: ' . mysql_error());
            }
            mysql_select_db("evantus", $con);

            $sql="INSERT INTO employee (firstname, lastname, email, phone )
              ***LINE-83***
            VALUES
            ('$_POST[firstname]','$_POST[lastname]','$_POST[email]','$_POST[number]')";

            $sql = "select * from employee";
            $query = mysql_query( $sql );


            echo "<table>";
            echo "<tr><th>firstname</th>";

            echo "<th>lastname</th>";

            echo "<th>email</th>";

            echo "<th>phone</th></tr>";
            while( $row = mysql_fetch_assoc($query) )
            {
                echo "<tr><td>$row[firstname]</td>";
                echo "<td>$row[lastname]</td>";
                echo "<td>$row[email]</td>";
                echo "<td>$row[phone]</td></tr>";
            }

            echo "</table>";

            if (!mysql_query($sql,$con))
            {
                die('Error: ' . mysql_error());
            }
            mysql_close($con)
        ?>
  </body>
</html>
4

2 に答える 2

0

挿入クエリが正しくないように感じます。以下のクエリを試してください。

$sql="INSERT INTO employee (firstname, lastname, email, phone ) VALUES ('".$_POST['firstname']."','".$_POST['lastname']."','".$_POST['email']."','".$_POST['number']."')";
于 2013-10-21T10:58:38.923 に答える