0

我无法在我的代码中的文本框之后放置这个 astrik(*)。其次,我的表单显示为向下。我无法找出问题所在。请你帮帮我。请尝试提供更多尽快解释。

<style>
.error {color: #FF0000;}
</style> 

<?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 action="insert.php" method="post">
          <tr>
                 <td>Firstname</td><td>:</td> <td><input type="text" name="firstname" >                  
      </td>
       <span class="error">* <?php echo $firstnameErr;?></span><br><br>
   </tr>
       <tr>
      <td>Lastname</td><td>:</td><td><input type="text" name="lastname" ></td>
        <span class="error">* <?php echo $lastnameErr;?></span><br><br>
        </tr>
           <tr>
         <td>Email</td><td>:</td><td><input type="text" name="email"></td>
       <span class="error">* <?php echo $emailErr;?></span><br><br>
      </tr>
     <tr>
         <td>Phone</td><td>:</td><td><input type="text" name="number"><td><br><br>
            </tr>
         </table>
        <input type="submit" >
            </form>`
4

2 回答 2

1

你必须在<span class="error">* <?php echo $firstnameErr;?></span>里面放一个表格单元格,比如<td>my content</td>。表格中的单元格之外不允许有对象。

此外,表格单元格只允许在行内。表的结构应该是这样的:

<table>
    <tr>
        <td>Row 1 Cell A</td>
        <td>Row 1 Cell B</td>
        <td>Row 1 Cell C</td>
    </tr>
    <tr>
        <td>Row 2 Cell A</td>
        <td>Row 2 Cell B</td>
        <td>Row 2 Cell C</td>
    </tr>
</table>

如果您将对象放置在表格中的其他任何位置,浏览器将不知道将它们放在哪里。通常,这些对象只是放在桌子的正上方或下方。

于 2013-10-18T12:52:33.663 回答
1

带有星号的<span>元素需要位于表格单元格 ( td) 内。如果您希望它在下一个单元格中,请将其包装在另一个<td>标签中;如果您希望将其与输入一起放在字段中,请将其放在输入之后和之前</td>

您将冒号包裹在自己的单元格中的方式让我想知道您是否也正确设置了表格。我会考虑将表格保持为每行三个单元格:

<tr>
  <td>Firstname:</td>
  <td><input type="text" name="firstname" /></td>
  <td><span class="error">* <?php echo $firstnameErr;?></span></td>
</tr>
于 2013-10-18T12:53:28.800 回答