PHP echo 获取值显示 <br> 标签

标签 php jquery ajax

[由于某种原因,该问题已自行解决。]

我已经使用这段代码很长一段时间了,没有任何问题。今天我开始工作,发现了一个未捕获的语法错误,告诉我有一个杂散的“<”。我找到了它,它是一段 JavaScript 代码,可以获取您正在查看的帖子的 id 值(在论坛上)。

该代码用于使用 AJAX 删除帖子。

    $('.deletePost').click(function() {
        var delPost = confirm('Are you sure you want to delete this post?');

        if (delPost == true) {
            var xhttp = new XMLHttpRequest();
            var getId = <?php echo $_GET['id'] ?>

            xhttp.onreadystatechange = function() {
                if (this.readyState == 4 && this.status == 200) {
                    location.replace('index');
                }
            }
            xhttp.open('GET', 'deletepost.php?id=' + getId, true);
            xhttp.send();
        }

        return false;

    });

加载实际网站时,getId变量是 <br >

这段代码位于'footer.php'文件中,我使用include将其显示在网站的每个页面上。

首先,我使用 jQuery click 来执行此操作,因此语法错误在其他页面上实际上不应该成为问题,因为我确保不使用 .deletePost任何其他文件上的任何内容的类。其次,它还需要用户单击“确定”并使变量为 true,所以对我来说这没有任何意义。

最大的问题是它使得它上面和下面的所有其他 javascript 代码都变得毫无用处。

(我不确定是否有更多相关代码,并且我不想让它太长,所以如果我需要包含其他内容,请告诉我。)

ID $_GET['id']生成如下:

`

$sql = '
        SELECT c.cat_name, c.cat_id, c.cat_description, t.topic_id, t.topic_by, t.topic_subject, t.topic_date
        FROM categories c LEFT JOIN topics t ON c.cat_id=t.topic_cat
        WHERE topic_date = ( SELECT MAX(t2.topic_date) FROM topics t2 WHERE t2.topic_cat = t.topic_cat ) AND c.cat_id<4
        ORDER BY t.topic_date DESC
        ';

    $result = mysqli_query($conn, $sql);

    if (!$result) {
        echo 'Could not display categories. Error: ';// . mysqli_error($conn);
    } else {
        if (mysqli_num_rows($result) == 0) {
            echo 'No categories found in the database.';
        } else {
            echo '
                <table>
                <h3>Latest topics in categories</h3>
                <tr>
                    <th>Category</th>
                    <th>Latest Topic</th>
                </tr>
            ';

            while ($row = mysqli_fetch_assoc($result)) {
                echo '<tr>
                    <td class="leftpart">
                        <h3><a href="category?id=' . $row['cat_id'] . '">' . $row['cat_name'] . '</a></h3>' . $row['cat_description'] . '
                    </td>
                    <td class="rightpart">
                        <a href="topic?id=' . $row['topic_id'] . '">' . $row['topic_subject'] . '<br>By <b>' . $row['topic_by'] . '</b></a>
                    </td>
                </tr>
                ';
            }

            echo '</table>';
        }
    }`

这是错误。它出现在F12中。 Error (Displays in F12)

最佳答案

您必须在 php 语句周围使用引号 像这样。并确保在服务器端将 id 值类型转换为整数

var getId = "<?php echo $_GET['id']; ?>";

首先确保 GET 参数正确获取 id 值,检查浏览器中的检查元素,如果您的 Id 从数据库正确填充,则应该是这样的(我不知道您的 Id 和值)

<h3><a href="topic?id=1">correct cat name</a></h3>correct cat_description

并且 GET 参数需要一个键“id”来获取其值。该错误指出 URL 中不存在作为 GET 参数的“id”。

检查 URL 地址是否还应包含“id”参数

如果数据库中的 ID 是某种字符串。将字符串括在 urlencode($row['cat_id']) 函数中。

除此之外我没有看到任何错误。如果我误解了这个问题,请原谅我

关于PHP echo 获取值显示 <br> 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44323031/

相关文章:

php - View 中的 CodeIgniter 调用模型?

javascript - 在 javascript 链接上显示访问过的颜色

javascript - 动态加载表单(jQuery)的行为改变问题

javascript - jQuery ajax 搜索问题

php - 未定义 wordpress myAjax

php - URL 重写规则错误 : The requested URL was not found on this server

javascript - 如何在动态生成的 HTML 表中停止递归

javascript 日期验证不适用于今天的日期

javascript - AJAX 轮询和循环

php - 这个sql表结构会阻止未经授权的sql插入吗?