1

フォームがあります...

<form action="response.php" method="get" name="titles">
<p><input id="titles" onclick="this.select()" type="text" name="titles" value="Live Now! DJ Name - Show Name" /> <input type="submit" value="Submit" /></p>
</form>

変数 $titles を response.html に配信します。ただし、正しく動作していません。

私のresponse.php出力の形式は...

http://adminusername:adminpassword@mysite.com:8000/admin/metadata?mount=/mountname&mode=updinfo&song=$myvariableforminputhere

これがresponse.htmlです。フォームは機能しているようですが、変数を含めることに問題があります。私はちょっとしたハックで申し訳ありませんが、他の人のコードを少し借りています:/

<html>
<head>
<title>PHP Form Variables Example</title>
</head>
<body>

<?php
{
//simply copy and paste this code block for each server you need to add
$serv["host"][] = "mysite.com"; //ip or hostname the server is running on. Don't include http://
$serv["port"][] = "8000"; //port the server is running on
$serv["mount"][] = "/mymount"; //this format: /mount
$serv["user"][] = "user"; //icecast server username
$serv["passwd"][] = "pass"; //icecast server password
echo $_GET["titles"];

    {
        $mysession = curl_init();
        curl_setopt($mysession, CURLOPT_URL, "http://".$serv["host"][$count].":".$serv["port"][$count]."/admin/metadata?mount=".$serv["mount"][$count]."&mode=updinfo&song=test".$titles);
        curl_setopt($mysession, CURLOPT_HEADER, false);
        curl_setopt($mysession, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($mysession, CURLOPT_POST, false);
        curl_setopt($mysession, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
        curl_setopt($mysession, CURLOPT_USERPWD, $serv["user"][$count].":".$serv["passwd"][$count]);
        curl_setopt($mysession, CURLOPT_FOLLOWLOCATION, true);
        curl_setopt($mysession, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6");
        curl_setopt($mysession, CURLOPT_CONNECTTIMEOUT, 2);
        curl_exec($mysession);
        curl_close($mysession);
    }

    echo "song updated";
}
?>

<p><a href="javascript:history.go(-1)">Back</a></p>

</body>
</html> 

編集:

User: byf-ferdy のおかげで、以下の response.php が上記のフォーム コードで動作するようになりました。元のコードについてhttp://forum.loudcity.net/viewtopic.php?id=4160のAudioprobe にも感謝します!

<html>
<head>
<script>
//Set up java for back button
function goBack()
  {
  window.history.back()
  }
</script>
</head>
<body>

<?php

//simply copy and paste this code block for each server you need to add
$serv["host"][] = "mysite.com"; //ip or hostname the server is running on. Don't include http://
$serv["port"][] = "8000"; //port the server is running on
$serv["mount"][] = "/mymount"; //this format: /mount
$serv["user"][] = "user"; //icecast server username
$serv["passwd"][] = "pass"; //icecast server password

$encoded = urlencode($_GET['titles']); //Make sure '+' and spaces are sent correctly by encoding all +'s to be %2B

        $mysession = curl_init();
        curl_setopt($mysession, CURLOPT_URL, "http://".$serv["host"].":".$serv["port"]."/admin/metadata?mount=".$serv["mount"]."&mode=updinfo&song=".$encoded);
        curl_setopt($mysession, CURLOPT_HEADER, false);
        curl_setopt($mysession, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($mysession, CURLOPT_POST, false);
        curl_setopt($mysession, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
        curl_setopt($mysession, CURLOPT_USERPWD, $serv["user"].":".$serv["passwd"]);
        curl_setopt($mysession, CURLOPT_FOLLOWLOCATION, true);
        curl_setopt($mysession, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6");
        curl_setopt($mysession, CURLOPT_CONNECTTIMEOUT, 2);
        curl_exec($mysession);
        curl_close($mysession);

    echo "Titles updated: ";
    echo $_GET["titles"];

?>
<!--Implement back button-->
<p><input type="button" value="Back" onclick="goBack()"></p>
</form>

</body>
</html> 
4

1 に答える 1

1

コメントで既に書いたように、中括弧はコードで廃止されているため、削除する必要があります。また、すべての行で削除します

$serv["host"][] = "budgiecollective.dyndns.org";

その[]ため、行は次のようになります。

$serv["host"] = "budgiecollective.dyndns.org"; 

[$count]その後、変数が使用されなくなったため、コード内の の出現をすべて削除します。最後に、次の行の$titlesを toに変更します。$_GET['titles']

curl_setopt($mysession, CURLOPT_URL, "http://".$serv["host"][$count].":".$serv["port"][$count]."/admin/metadata?mount=".$serv["mount"][$count]."&mode=updinfo&song=test".$titles);
于 2013-06-18T09:54:42.073 に答える