gpt4 book ai didi

javascript - 我正在尝试使用 php、mysql 和 ajax 制作一个图片上传网站..但我一直没有得到任何输出

转载 作者:行者123 更新时间:2023-11-28 23:21:45 24 4
gpt4 key购买 nike

我正在尝试制作一个图片上传网站,用户可以在其中发布图片,其他登录用户可以回复图片。我正在尝试使用 php、mysql 和 ajax 来实现。我实际上是在学习教程,并且修改了他们的代码以适合我的网站。但是每次我点击提交,页面似乎都刷新了,因为我被重定向到我网站的顶部,新评论没有像我想要的那样发布在旧评论之上,也没有插入信息我数据库中评论表中的新评论。

代码如下:

这是一个 php 文件,我在其中显示图像并打印出评论,并设置了一个文本区域以供用户输入新评论。在这个文件中,我导入了一个 javascript 文件,其中包含一个名为 postcomment() 的函数,该函数执行 ajax 部分。 comments 表有一个名为 commentForImageId 的列,它存储发布特定评论的图像的 ID。

<?php 
//image is displayed above this set of code with all the required data

date_default_timezone_set('Asia/Kolkata');//to set my country's timezone
?>

<form method="post" action="" onsubmit="return postcomment();">
<input type="hidden" id="imageId" value="<?php echo $imageId; ?>">
<input type="hidden" id="datetime" value="<?php echo date('Y-m-d H:i:s'); ?>">
<textarea id="comment" placeholder="Write comment"></textarea><br>
<button type="submit">post comment</button>
</form>

<div id="allcomments">
<?php

$sql= "SELECT * FROM commentstable ORDER BY datetime DESC";
$result=mysqli_query($conn,$sql);
while($row=mysqli_fetch_assoc($result))
{
$commentForImageId=$row['commentForImageId'];

if($commentForImageId==$imageId){
$username=$row['commentByUserName'];
$comment=$row['comment'];
$datetime=$row['datetime'];
?>
<hr>
<div class="comment_div">
<p class="comment"><?php echo $comment; ?></p>
<p class="username">Posted By:<?php echo $username; ?></p>
<p class="datetime"><?php echo $datetime; ?></p>
</div>
<hr>

<?php
}}?>
</div>

这是执行 ajax 部分的函数。 “commentsystem.php”执行将数据存储在数据库中的部分:

function postcomment(){
var comment = document.getElementById("comment").value;
var datetime = document.getElementById("datetime").value;
if(comment && datetime)
{
$.ajax
({
type: 'POST',
url: 'commentsystem.php',
data:
{
comment:comment,
datetime:datetime
},
success: function (response)
{
document.getElementById("allcomments").innerHTML=response+document.getElementById("allcomments").innerHTML;
document.getElementById("comment").value="";
}
});
}

return false;
}

这里是 commentsystem.php。这里,“dbh.php”是建立数据库连接的数据库处理文件:

<?php
session_start();

include 'dbh.php';

if(isset($_SESSION['id'])){//if user has logged in
if(isset($_POST['comment']) && isset($_POST['datetime']) && isset($_POST['imageId']))
{
//if user has submitted the comment
$comment=$_POST['comment'];
$datetime=$_POST['datetime'];
$imageId=$_POST['imageId'];
$username=$_SESSION['username'];
$userId=$_SESSION['id'];

$sql="INSERT INTO commentstable (commentForImageId, commentByUserId, commentByUserName, likes, numberOfReplies, comment, datetime) VALUES ('$imageId', '$userId', '$username', 0, 0, '$comment', '$datetime')";
$result=mysqli_query($conn,$sql);

?>

<div class="comment_div">
<p class="comment"><?php echo $comment; ?></p>
<p class="username">Posted By:<?php echo $username; ?></p>
<p class="datetime"><?php echo $datetime; ?></p>
</div>

<?php
exit;
}
}
else{
header("LOCATION: signup.php");
}
?>

非常感谢您的帮助!我对此很陌生,对出了什么问题完全感到困惑!

再次提前致谢!

最佳答案

我会给按钮一个类,例如 postcomment 和调用这个 $('.postcomment').click( function(){ $.ajax.... return false;})

还要确保你在 commentsystem.php 中设置了 $imageId,你需要设置它

关于javascript - 我正在尝试使用 php、mysql 和 ajax 制作一个图片上传网站..但我一直没有得到任何输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41290584/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com