我的PHP会话变量传递的信息比我的变量多


My PHP Session variable is passing more than my variable

我在使用php会话将url传递给php中的视频播放器时遇到问题。这是我想通过url 的页面代码

PHP代码第1页;

while($row = mysql_fetch_assoc($llenadoTabla))
{
    $f1 = $row['rutaPortada'];
    $f2 = $row['titulo'];
    $f3 = $row['rutaPelicula'];
    echo '<tr>';
    echo '<td><img src="'.$f1.'" /></td>';
    echo '<td>' . $f2. '</td>';
    echo '<td> <a href="player2.php" role="button" class="btn btn-link btn-large" value ="';
    echo $_SESSION['url'] = $f3;
    echo '">Reproducir</a> </td>'; 
}  

该值通过按钮传递到另一个页面PHP代码第2页

<video width="100%" height="100%" controls id="videoplayer">
   <?php echo '<source src="'.$f3.'" type ="video/mp4">'; ?>
</div>

这次会议的结果是:

<video width="100%" height="100%" controls id="videoplayer">
  <source src="192.168.5.161/Peliculas/movie.mp4"> "Reproducir"  type="video/mp4">  
</video

我认为在编辑之前,您的原始代码是这样的:

echo '<td> <a href="player2.php" role="button" class="btn btn-link btn-large" value ="'.$_SESSION['url'] = $f3.'">Reproducir</a> </td>';

我认为这可以解释为什么您的输出是192.168.5.161/Peliculas/movie.mp4"> "Reproducir" type="video/mp4">。上述代码相当于:

$_SESSION['url'] = $f3.'">Reproducir</a> </td>';
echo '<td> <a href="player2.php" role="button" class="btn btn-link btn-large" value ="'.$_SESSION['url'];

我假设您的<?php echo '<source src="'.$f3.'" type ="video/mp4">'; ?>实际上是原始代码中的<?php echo '<source src="'.$_SESSION['url'].'" type ="video/mp4">'; ?>,因为您指的是传递会话变量。在这种情况下,您的输出实际上是

<source src="192.168.5.161/Peliculas/movie.mp4">Reproducir</a> </td>" type="video/mp4">

但在浏览器渲染的输出中,您看不到隐藏的</a></td>标记。页面视图源应该显示真实的输出。所以我认为你的代码应该是:

echo '<td> <a href="player2.php" role="button" class="btn btn-link btn-large" value ="' . ($_SESSION['url'] = $f3) . '">Reproducir</a> </td>';

或更好的名称:

$_SESSION['url'] = $f3;
echo '<td> <a href="player2.php" role="button" class="btn btn-link btn-large" value ="'.$_SESSION['url'].'">Reproducir</a> </td>';