如何使用在文本框中输入的变量来搜索TinySong api?我尝试使用一些变量但无济于事。这是我试过的:
<?php
if(isset($_POST['submit'])) {
echo ' ', htmlspecialchars($_POST['something']);
}
?>
<?php
require_once 'tinysong.php';
$api_key = 'MY API KEY';
$query = '$something ';
$tinysong = new Tinysong($api_key);
$result = $tinysong
->search($query)
->execute();
echo "<pre>";
print_r($result);
echo "</pre>";
?>
我不明白为什么没有查询文本框的值。我需要改变它才能工作?谢谢
答案 0 :(得分:3)
假设您已禁用register_globals(我希望您有!),您需要使用$_POST["something"]
代替$something
。
另外,为什么'$something'
- PHP中的单引号意味着不会解析字符串的内容。您无法从内部引用变量。你不能只是做一些事情:
$tinysong->search($_POST["something"])->execute();
如果您使用'$something'
,字符串的内容将为"$something"
- 我认为这不是您想要的。
答案 1 :(得分:0)
您没有变量$something
。您有$_POST['something']
,但除非register_globals
已启用(它不应该是),否则您从未填充$something
。因此,您无需查询。
$query = $_POST['something'];
顺便提一下,你在这里也使用了单引号,这不会导致变量被插值。插值需要双引号:
// This would have needed double quotes if it wasn't incorrect anyway...
$query = '$something ';
$query = "$something ";