У меня есть этот скрипт Twitter API, который извлекает твиты от указанного пользователя.
Я хотел бы знать, как я могу изменить его, чтобы я мог иметь текстовое поле вместо фиксированного имени пользователя.
вот код
else {$user = "twitterusername";}
я связать else {$user = "twitterusername";}
с текстовым полем с кнопкой отправки?
<?$url = "https://api.twitter.com/1.1/statuses/user_timeline.json";
$requestMethod = "GET";
if (isset($_GET['user'])) {$user = $_GET['user'];} else {$user = "twitterusername";}
if (isset($_GET['count'])) {$user = $_GET['count'];} else {$count = 20;}
$getfield = "?screen_name=$user&count=$count";
$twitter = new TwitterAPIExchange($settings);
$string = json_decode($twitter->setGetfield($getfield)
->buildOauth($url, $requestMethod)
->performRequest(),$assoc = TRUE);
if($string["errors"][0]["message"] != "") {echo "<h3>Sorry, there was a problem.</h3><p>Twitter returned the following error message:</p><p><em>".$string[errors][0]["message"]."</em></p>";exit();}
foreach($string as $items)
{
echo "Tweet: ". $items['text']."<br />";
echo "retweets: ". $items['retweet_count']."<br />";
}
?>
Что у вас здесь:
if (isset($_GET['user'])) {$user = $_GET['user'];} else {$user = "twitterusername";}
Имя пользователя фиксируется только в том случае, если вы не передаете значение GET (aka. Querystring) для user
.
Если вы посетили страницу с ?user=someOtherUsername
она ?user=someOtherUsername
данные для этого пользователя.
Таким образом, чтобы форма передала это значение из текстового поля, вы могли бы иметь что-то такое же простое, как это в том же файле PHP:
<form method="GET" action="">
<input type="text" name="user" /><input type="submit" value="Submit" />
</form>
То же самое и с вашим значением count
. Вы можете контролировать это, используя другое значение GET с count
имени.
Из внешнего вида этого файла он будет использовать любой пользователь, который передается через $ _GET. Поэтому, если вам нужна форма с текстовым вводом, чтобы выбрать нового пользователя, вам нужно будет поместить ее на страницу, отправив ее с помощью формы с методом = "получить".