>我正在建立一个网站,用户可以在其中上传视频,并对已上传的视频发表评论。 我有一个有效的php函数可以上传视频,但现在我想在视频下方包含一个链接,该链接引用该特定视频以添加评论。
这是我显示视频的 php 代码:
<?php
$sql="SELECT * FROM video";
$result=mysqli_query($db,$sql);
$rows=$result->fetch_all(MYSQLI_ASSOC);
foreach ($rows as $row) {
?>
<div class="col-md-4">
<div class="service">
<video id="<?= $row["v_id"] ?>" width="350" height="315" controls="controls">
<source src="uploads/<?= $row["video_name"] ?>" type="video/mp4">
Your browser does not support HTML5 video.
</video>
<a href="#" data-toggle="modal" data-target="#comments">View/Add Comments</a>
</div>
</div>
<?php
}
?>
"查看/添加评论"链接到以下模式:
<div class="modal fade" id="comments" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="text-center">
<div class="modal-content modal-popup2">
<h3 class="grey">Comments</h3>
<?php
$sql="SELECT * FROM comments";
$result=mysqli_query($db,$sql);
$rows=$result->fetch_all(MYSQLI_ASSOC);
foreach ($rows as $row) {
?>
<div class="bold black">
<?php echo $row["author"] ?> says:
<p>
<?php echo $row["comment"] ?>
</p>
</div>
<?php
}
?>
<h3 class="grey">Write a comment</h3>
<form method="post" action="comments.php">
<fieldset>
<input id="author" name="author" type="text" class="form-control form-grey" placeholder="Enter name">
<textarea id="comment" name="comment" class="form-control form-grey" placeholder="Enter comment" cols="30" rows="3"></textarea>
<button type="submit" value="Submit" class="btn btn-submit">Submit</button>
</fieldset>
</form>
</div>
</div>
</div>
</div>
这将显示数据库中的注释,并允许用户添加自己的注释。但是,这是所有视频的通用功能,并非特定于单个v_id。我不知道从哪里开始,我对 php 很陌生!
我知道我需要使用 v_id 添加到我的评论数据库表中,并使用评论v_id更新评论.php文件,所以任何关于入门的建议都会很棒!
如果您还有其他问题或需要查看代码,请告诉我!
谢谢!
必须
扩展$sql="SELECT * FROM comments";
才能将查询限制为特定v_id。请参阅有关要选择的 WHERE 参数 http://dev.mysql.com/doc/refman/5.7/en/select.html。
请注意,SQL 查询的任何值都应使用占位符传递。将值直接插入查询具有很高的风险,因为它通常会导致 SQL 注入漏洞*。向 Google 询问有关 SQL 注入的更多信息。
您的mysqli_query可能不适用于占位符。有关此内容的更多详细信息,请参阅 http://php.net/manual/de/pdo.prepared-statements.php。
PS: * 即使查询中有值,经验丰富的开发人员也可以避免这种情况,但简单安全的解决方案是:始终(!) 使用占位符。