启动表中显示的标记em

时间:2014-10-26 09:33:54

标签: php html5

我正在编写php并在尝试使用HTM5验证器时看到此错误。但事情是我的整个档案中没有。有什么建议吗?

Error Line 27, Column 4: Start tag em seen in table.
<em><br />

编辑注释:我很少想在这里添加此代码,因为它很长并且与错误无关(就像我上面说的那样,html中没有标记)

<section>
    <table>

        <?php
            include("./settings.php");

            $conn = @mysqli_connect($host, $user, $pwd, $sql_db);

            if (!$conn) {
                echo "<p>Databse connection error</p>";
            } else {
                $eoinumber = trim($_POST["num"]);
                $lname = trim($_POST["lname"]);

                $query = "SELECT * FROM eoi WHERE EOInumber = $eoinumber AND lname = '$lname'";

                $result = mysqli_query($conn,$query);
                if (!$result) {
                    echo "<p>There is something wrong with the $query</p>";
                } else {
                    $temp = mysqli_num_rows($result);
                    if ($temp == 0) {?>
                        <p>0 enquiry found. Please check again your EOInumber and last name</p>
                    <?php } else {
                        ?>
                        <thead>
                            <tr>
                                <th>EOI number</th>
                                <th>Job ID</th>
                                <th>First Name</th>
                                <th>Last Name</th>
                                <th>Date of Birth</th>
                                <th>Gender</th>
                                <th>Street</th>
                                <th>Town</th>
                                <th>State</th>
                                <th>Postcode</th>
                                <th>Mail</th>
                                <th>Telephone</th>
                                <th>Skills</th>
                                <th>Other Skills</th>
                            </tr>
                        </thead>
                        <?php
                        while ($row = mysqli_fetch_assoc($result)) {
                            echo "<tbody>";
                            echo "<tr>";
                            echo "<td>",$row["EOInumber"],"</td>";
                            echo "<td>",$row["job_num"],"</td>";
                            echo "<td>",$row["fname"],"</td>";
                            echo "<td>",$row["lname"],"</td>";
                            echo "<td>",$row["bday"],"</td>";
                            echo "<td>",$row["gender"],"</td>";
                            echo "<td>",$row["street"],"</td>";
                            echo "<td>",$row["town"],"</td>";
                            echo "<td>",$row["state"],"</td>";
                            echo "<td>",$row["postcode"],"</td>";
                            echo "<td>",$row["mail"],"</td>";
                            echo "<td>",$row["tele"],"</td>";
                            echo "<td>",$row["skill"],"</td>";
                            echo "<td>",$row["other"],"</td>";
                            echo "</tr>";
                            echo "</tbody>";
                            // echo "<p>Sucess</p>";
                        }
                        ?>
</table>

2 个答案:

答案 0 :(得分:2)

无论是否存在<em>标记,您都会遇到问题,因为您正在打开表标记,然后可能会在其中直接放置<p>或其他元素,是非法的(您可以将<thead><tbody><caption><tr><tfoot>元素放在<table>内。如果在检查查询是否成功运行后打开表会更好,例如:

<section>
        <?php
            include("./settings.php");

            $conn = @mysqli_connect($host, $user, $pwd, $sql_db);

            if (!$conn) {
                echo "<p>Databse connection error</p>";
            } else {
                $eoinumber = trim($_POST["num"]);
                $lname = trim($_POST["lname"]);

                $query = "SELECT * FROM eoi WHERE EOInumber = $eoinumber AND lname = '$lname'";

                $result = mysqli_query($conn,$query);
                if (!$result) {
                    echo "<p>There is something wrong with the $query</p>";
                } else {
                    $temp = mysqli_num_rows($result);
                    if ($temp == 0) {
                       echo "<p>0 enquiry found. Please check again your EOInumber and last name</p>";
                    } else {
                    echo "<table>";
                    ... echo the table header...
                    while ($row = mysqli_fetch_assoc($result)) {
                    ... echo table results...
                    }
                    echo "</table>";
                }
            } 
      ?>

答案 1 :(得分:1)

您错过了一些}

所以这应该有效:

<section>
    <table>

    <?php
        include("./settings.php");

        $conn = @mysqli_connect($host, $user, $pwd, $sql_db);

        if (!$conn) {
            echo "<p>Databse connection error</p>";
            exit;
        }

        $eoinumber = trim($_POST["num"]);
        $lname = trim($_POST["lname"]);

        $query = "SELECT * FROM eoi WHERE EOInumber = $eoinumber AND lname = '$lname'";
        $result = mysqli_query($conn,$query);

        if (!$result) {
            echo "<p>There is something wrong with the $query</p>";
            exit;
        } else {
            $temp = mysqli_num_rows($result);
        }

        if ($temp == 0) { ?>
            <p>0 enquiry found. Please check again your EOInumber and last name</p>
        <?php } else { ?>
            <thead>
                <tr>
                    <th>EOI number</th>
                    <th>Job ID</th>
                    <th>First Name</th>
                    <th>Last Name</th>
                    <th>Date of Birth</th>
                    <th>Gender</th>
                    <th>Street</th>
                    <th>Town</th>
                    <th>State</th>
                    <th>Postcode</th>
                    <th>Mail</th>
                    <th>Telephone</th>
                    <th>Skills</th>
                    <th>Other Skills</th>
                </tr>
            </thead>

            <?php
            while ($row = mysqli_fetch_assoc($result)) {
                echo "<tbody>";
                echo "<tr>";
                echo "<td>",$row["EOInumber"],"</td>";
                echo "<td>",$row["job_num"],"</td>";
                echo "<td>",$row["fname"],"</td>";
                echo "<td>",$row["lname"],"</td>";
                echo "<td>",$row["bday"],"</td>";
                echo "<td>",$row["gender"],"</td>";
                echo "<td>",$row["street"],"</td>";
                echo "<td>",$row["town"],"</td>";
                echo "<td>",$row["state"],"</td>";
                echo "<td>",$row["postcode"],"</td>";
                echo "<td>",$row["mail"],"</td>";
                echo "<td>",$row["tele"],"</td>";
                echo "<td>",$row["skill"],"</td>";
                echo "<td>",$row["other"],"</td>";
                echo "</tr>";
                echo "</tbody>";
                // echo "<p>Sucess</p>";
            }

        }


                ?>
    </table>
<!--...-->