**已关闭。**此问题需要调试详细信息。它目前不接受答案。
**想要改进此问题?**更新问题,使其位于堆栈溢出主题上。
20小时前关门了。
改进这个问题
我正试图建立一个网站,人们可以张贴“张贴”
我想给每个用户一个机会,他/她可以报告另一个帖子。
所以,所有的东西都保持干净,错误的帖子可以被管理员识别。
所以我有dashboard.php,它为具有隐藏值的报表生成表单。你可以看到下面。
<?php
$sql = "SELECT * FROM post ORDER BY id DESC LIMIT 1,5";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
$post_id = $row['id'];
$post_fname = $row['fname'];
$post_lname = $row['lname'];
$about_post = $row['about_post'];
$post_image = $row['post_image'];
$post_time = $row['timing'];
$posted_by_unique_id = $row['unique_id'];
$my_image = $row['img'];
?>
<?php
if ($unique_id === $posted_by_unique_id) {
?>
<!--delete post only when my one-->
<form action="post/delete_post.php" method="POST">
<input name="post_id" value="<?php echo $post_id;?>" hidden>
<input name="post_image" value="<?php echo $post_image;?>" hidden>
<button class="btn btn-danger" type="submit"><i class="fa fa-trash" aria-hidden="true"></i></button>
</form>
<?php
} else { ?>
<!--report button-->
<script>
</script>
<form id="myform" method="POST">
<input id="post_id" name="post_id" value="<?php echo $post_id;?>" hidden>
<input id="posted_by_unique_id" name="posted_by_unique_id" value="<?php echo $posted_by_unique_id;?>" hidden>
<button id="button" class="btn btn-danger" title="report post"><i class="fa fa-bug"></i></button>
</form>
<?php
}
}}
?>
<!--report js-->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('#button').click(function(event){
event.preventDefault();
var post_id = $('#post_id').val();
var posted_by_unique_id = $('#posted_by_unique_id').val();
$.ajax({
type: "POST",
url: "post/report_post.php",
data: { post_id:post_id, posted_by_unique_id:posted_by_unique_id },
dataType: "json",
success: function(result){
}
});
});
});
</script>
在这里,我通过会话获取唯一的_id,并尝试与post所有者的唯一id匹配,以生成显示delet或report的逻辑。
我的报告如下所示。
<?php
session_start();
include_once "fetching_data.php"; //stored data
if (isset($_SESSION['unique_id'])) {
$unique_id = $_SESSION['unique_id'];
$post_id = $_POST['post_id'];
$posted_by_unique_id = $_POST['posted_by_unique_id'];
}else{
header("Location:login.php");
die();
}
$sql = "SELECT * FROM report where post_id='$post_id' AND reported_by_unique_id='$unique_id'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
echo 'already reported';
// means this user have already reporeted same post
}else{
$conn->query("INSERT INTO report (post_id,reported_by_unique_id) VALUES ('$post_id','$unique_id')");
$conn->query("UPDATE users SET report_count=report_count+1 WHERE unique_id='$posted_by_unique_id'");
echo 'succedd';
echo '<script type="text/javascript">';
echo ' alert("Reported!")'; //not showing an alert box.
echo '</script>';
//header("Location:dashboard.php");
}
?>
只能成功提交第一个表单值。虽然我尝试在刷新后再做一次,但什么也没发生。(可能是因为旧值,我真的不知道!)
请忽略php注入,我将很快使其成为注入证明!
暂无答案!
目前还没有任何答案,快来回答吧!