2011-11-14 174 views
1

我有media_main.php从一个MySQL数据库获取数据。其中一个获得的数据是使用mySQL SELECT语句的“文件名”。在media_main.php上,有一个打开player.php的链接,其中嵌入了Flash MP3播放器。打开新窗口中的链接如下:将MySQL数据从一个php页面传递到另一个

<a href="javascript:;" onclick="return popitup('player.php')" title="Listen"> 

我想“文件名”从media_main.php传递到player.php页面。我想我需要使用GET或POST,但不知道如何处理,因为数据不是直接来自表单。

+0

'return popitup('player.php?filename = your_file_name');' – bensiu

回答

0

您可以通过在player.php上读取$_GET['file']并将其设置在media_main.php上来实现此目的。

media_main.php你可以使用PHP,使链路动态:

<a href="javascript:;" onclick="return popitup('player.php?file=<?php echo $Data['filename']; ?>')" title="Listen"> 

这将导致:

<a href="javascript:;" onclick="return popitup('player.php?file=dynamic_file.mp3')" title="Listen"> 

然后在player.php,你将回声$_GET['file']你想要的文件被包括在内。

此外,一定要验证所有数据。为了安全地在您的网站上显示,您可以使用htmlentities()包装$_GET['file'],以便用户不能使用$_GET['file']在您的网站上显示HTML。

+0

当点击player.php链接时,MP3会在新标签中打开并开始流式传输,而不是在弹出式窗口中打开? – Nick

0

最简单的方法是将它传递给查询字符串。换句话说,该popitup功能可以做到这一点:

onclick="popitup('player.php?song=songname.mp3');" 

然后player.php可以读取查询字符串并获得歌曲的名字,并开始播放它。

+0

我应该提到有一些其他的数据片段我也想通过,不需要做文件名。 – Nick

+0

@Nick:它不一定只是一个参数;你可以通过:'player.php?song = songname.mp3&onemore = otherparam&foo = bar'等。 – Icarus

+0

当点击player.php链接时,MP3会打开一个新标签并开始流式传输,而不是在popitup窗口打开? – Nick

0

这可以通过查询字符串传递的文件名给被叫页前完成:

<a href="javascript:;" onclick="return popitup('player.php?file_name=test.mp3')" 
    title="Listen"> 

这里请将test.mp3是一个前:这应该是你是从数据库中获取文件名。 和@ player.php您将通过使用$ _REQUEST ['file_name']获取file_name;

+0

数据正在传递,但是我无法在player.php页面上显示该数据。这就是我所拥有的:'code'

<?php $ _REQUEST ['file_name']; ?>

Nick

+0

哦,我的...我错过了回声。谢谢你的时间!! – Nick

+0

** <?php echo $ _REQUEST ['file_name']; ?> ** – punit

0

作为一般规则,您不应该将已存在的数据传递给服务器。

因此,只传递标识符,并在player.php中执行数据库请求并获取文件名。

+0

这是很棒的信息。如果我只通过标识符,在player.php页面上获取数据的最佳方法是什么? – Nick

+0

一个常规的SQL查询。只需从歌曲表中选择一个文件名,其中id =传递的标识符。在将其放入查询之前,请不要忘记对此标识符进行清理。 –

相关问题