单击后如何获取图像ID?

时间:2019-02-20 18:34:23

标签: php mysql file mysqli upload

我在一个项目的中间。我已将图像存储为对应视频的缩略图。单击图像后,我将不会显示缩略图的视频。但是,将用户带到下一页时,我收到一个错误,

  

通知:未定义索引:v_id

v_id确实存在于视频表中(该表还存储图像和视频名称),所以我不明白为什么会出现此错误。 下面是watchScreen.php,

$v_id = $_SESSION['v_id'];
$query=mysqli_query($link, "SELECT video_name FROM video WHERE v_id='$v_id'");
while($my_video=mysqli_fetch_array($query)){
?>
<video width="60%" height="60%" style="background-color:#585858; border: 4px solid darkorange; border-radius:20px;" controls>
<source src="uploads/<?php echo $my_video['video_name']; ?>" type="video/mp4">
</video>
<?php } ?>

在下面单击图像,

if(isset($_SESSION["loggedin"]) || $_SESSION["loggedin"] == true){
$query=mysqli_query($link, "SELECT * FROM video ORDER BY RAND() LIMIT 5");
while($all_video=mysqli_fetch_array($query)){
?>
<a href="watchScreen.php"><image src="thumbnails/<?php echo $all_video['image_name']; ?>" width="300" height="200"></a>
<?php } } ?>

下面是mySQL代码,

CREATE TABLE video(
v_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
video_name VARCHAR(225) NOT NULL,
id INT NOT NULL,
FOREIGN KEY user_id(id)
REFERENCES users(id)
ON DELETE CASCADE,
n_views INT,
image_name VARCHAR(225) NOT NULL
);

将视频和图像名称添加到第三页上,

mysqli_query($link, INSERT INTO video(video_name, id, image_name) VALUES('$video_path', '$id', '$image_path'))

2 个答案:

答案 0 :(得分:0)

我不使用会话将数据从一页保存或传递到另一页。您必须在链接ex中将视频ID作为参数传递。

<a href="watchScreen.php?video=1">video image </a>

然后在watchScreen.php上,您应该获得视频ID。

<?php

$v_id = $_GET['v_id'];
if(!is_numeric($v_id)){
   header("redirect: previouspage.php");
   exit();
}

// we validated, now we can do the query.

$query=mysqli_query($link, "SELECT video_name FROM video WHERE v_id='$v_id'");
while($my_video=mysqli_fetch_array($query)){
?>
<video width="60%" height="60%" style="background-color:#585858; border: 4px solid darkorange; border-radius:20px;" controls>
<source src="uploads/<?php echo $my_video['video_name']; ?>" type="video/mp4">
</video>
<?php } ?>

hope it helps.



答案 1 :(得分:0)

尝试删除“ $ v_id”附近的引号;

尝试:

"SELECT video_name FROM video WHERE v_id= $v_id";