[英]Php sending isset to the ajax and the inner of the ajax is not reading that isset
我想知道如何对视图进行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>
然后我有一个带有innerhtml的ajax。
ajax.js
var content = document.getElementById("result_para");
content.innerHTML = content.innerHTML+response;
问题是内部不打印php的if(isset ...
这是AJAX调用
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>
设置会话$_SESSION['user']
, if (isset($_SESSION['user']))
也将发送到AJAX。
$_SESSION['user'] = 'julekgwa'; // after commenting out this line in the results file, the if (isset($_SESSION['user'])) will be executed
只有在设置了$_SESSION['user']
,这部分代码才会执行,您需要在使用session_start();
使用会话的页面上启动会话session_start();
在您的代码之前。
<?php
if (isset($_SESSION['user'])) {
?>
<a href="php/delete_post.php?id=<?php echo $row['id']
?>" class="label__delete">Elimina entrada</a>
<?php
}
?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.