我的网站有一项功能,允许用户创建缩短的网址。为了处理URL缩短,我使用YOURLS(一个开源URL缩短器),我在我的另一台服务器上运行,并通过API调用连接这两个站点。
我创建了一个带有自定义YOURLS plugin的API actions,因此当用户创建一个短网址时,它会将他们的用户ID从我的网站附加到yourls_url表格,如下所示:
当用户访问“我的链接”页面时,我需要进行API调用以返回该用户创建的所有短URL。要做到这一点,它应该就像为“api_result_stats”创建过滤器一样简单。
这是我创建的过滤器,它假设只返回指定用户创建的URL:
yourls_add_filter( 'api_result_stats', 'separate_users_api_stats' );
function separate_users_api_stats() {
global $ydb;
$user = ( isset( $_REQUEST['user'] ) ? $_REQUEST['user'] : '' );
$table = YOURLS_DB_TABLE_URL;
$result = $ydb->query("SELECT * FROM `$table` WHERE `user` = '" . $user . "'");
return $result > 0;
}
为了测试这个,我可以尝试http://example.com/yourls-api.php?action=stats&user=test123&limit=10&filter=last&signature=xxxxxxxxxx
但不幸的是我收到的是:
我对PHP / MYSQL不太熟悉,所以我已经坚持了很长一段时间了,如果有人对我出错的地方有任何想法或者可以提供一个例子,我将不胜感激!
答案 0 :(得分:1)
以下是为我解决的问题:
... = undefined