我有一个按钮,当点击播放歌曲时。 我想要做的是当点击按钮时,图片显示“正在播放”,同时歌曲播放,然后页面重新加载完成。
发生的事情是当点击按钮时播放歌曲,然后当页面重新加载时图像显示“正在播放”。
如何在播放歌曲之前让它显示“正在播放”的图形?
代码
<?php
if (isset($_POST['PlaySong']))
{
echo ("<img src='/images/nowplaying.png'>");
exec ("/usr/bin/sudo /home/pi/scripts/song.sh");
header ('Location: '.$_SERVER['REQUEST_URI']);
?>
答案 0 :(得分:0)
这是我必须要做的才能让它发挥作用。请注意,播放歌曲需要50秒。
<?php
if (isset($_POST['PlaySong']))
{
echo ("<img src='/images/nowplaying.png'>");
shell_exec ("/usr/bin/sudo /home/pi/scripts/song.sh > /dev/null 2>/dev/null &");
header ('Refresh: 50; URL=http://myurl');
}
?>
答案 1 :(得分:-1)
设置Location
标头时,浏览器会向页面发出GET
请求(在您的情况下,同一个请求)。因此,重定向后$_POST
数组为空是正常的。
相反,请使用GET参数。
替换header ('Location: '.$_SERVER['REQUEST_URI']);
与
header ('Location: '.$_SERVER['REQUEST_URI']."?PlaySong=1");
和
isset($_POST['PlaySong'])
与
isset($_GET['PlaySong'])
你应该没事。
编辑:纠正语法错误。