Javascript Php将isset发送到ajax,而ajax的内部没有读取该isset

Javascript Php将isset发送到ajax,而ajax的内部没有读取该isset,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我想知道如何为视图创建一个可读取的isset 我的代码: fetch.php while($row = mysqli_fetch_array($result,MYSQLI_ASSOC)) { <div class="blog-entry"> <div class="label__title"><?php echo $row['title'];?></div> <div class="label__description">&l

我想知道如何为视图创建一个可读取的isset

我的代码:

fetch.php

while($row = mysqli_fetch_array($result,MYSQLI_ASSOC))
 {
<div class="blog-entry">
  <div class="label__title"><?php echo $row['title'];?></div>
  <div class="label__description"><?php echo $row['text'];?></div>
  <div class="label__time"> <div class="calendar-icon"></div> <?php echo 
   $row['date'];?></div>
   <?php
     if(isset($_SESSION['user'])) {
   ?>
   <a href="php/delete_post.php?id=<?php echo $row['id'] 
   ?>" class="label__delete">Elimina entrada</a>
   <?php
     }
   ?>
 </div>
问题是内部没有打印php调用的if(isset…)

function getInfo() {
    var xhttp = new XMLHttpRequest();
    xhttp.onreadystatechange = function () {
        if (this.readyState == 4 && this.status == 200) {
            var content = document.getElementById("result_para");
            content.innerHTML = content.innerHTML + this.responseText;
        }
    };
    xhttp.open("GET", 'results.php', true);
    xhttp.send();
}
我的测试
PHP
文件
results.PHP

<?php
session_start();
// $_SESSION['user'] = 'julekgwa'; test before setting session
$conn = mysqli_connect("localhost", "root", "000000", "ng_app");

// Check connection
if (mysqli_connect_errno()) {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
    die();
}
$result = $conn->query('SELECT * FROM `blog`');
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) : ?>
<div class="blog-entry">
    <div class="label__title"><?php echo $row['title']; ?></div>
    <div class="label__description"><?php echo $row['text']; ?></div>
    <div class="label__time">
        <div class="calendar-icon"></div> <?php echo $row['date']; ?></div>
    <?php if (isset($_SESSION['user']))  : ?>
        <!-- this part will only be visible only, if the user $_SESSION['user'] is set -->
        <a href="php/delete_post.php?id=<?php echo $row['id']; ?>" class="label__delete">Elimina entrada</a>
    <?php endif; ?>
    <?php endwhile; ?>
</div>
这就是结果

这部分代码仅在设置为
$\u SESSION['user']
时才会执行,您需要在代码之前在使用会话的页面上启动会话

<?php
if (isset($_SESSION['user'])) {
    ?>
    <a href="php/delete_post.php?id=<?php echo $row['id']
    ?>" class="label__delete">Elimina entrada</a>
    <?php
}
?>


很抱歉,但是没有完全错误。我在fetch.php示例中编写的代码包含了您在那里编写的所有代码(最后一个在循环中除外)但是我没有粘贴它,因为我想说明主要问题在哪里。Fetch php与db连接,通过select查询获取一些数据,然后用它打印所有条目,然后我将其发送到ajax.js(带有内部的ajax将在dom中打印).所以我写了这篇文章,因为我想知道如何避免在while循环中使用isset,因为当ajax获得此dom数据转义时,我忘记了编写会话\ u start()。抱歉,我是新来的。你是什么意思?你应该通过检查会话id是否与ajax请求一起正确传递来开始调试。
$_SESSION['user'] = 'julekgwa'; // after commenting out this line in the results file, the if (isset($_SESSION['user'])) will be executed
<?php
if (isset($_SESSION['user'])) {
    ?>
    <a href="php/delete_post.php?id=<?php echo $row['id']
    ?>" class="label__delete">Elimina entrada</a>
    <?php
}
?>