Я думаю, что это придет из вашего HTML.Вы не указали метод формы, поэтому он отправляет данные методом get.
И вы показываете что-то, только если у вас есть post.
Попробуйте сделать в форме method = "post"
Edit
Бобби, главная проблема в том, что у вас нет одной проблемы, а несколько в этом коде.Во-первых, если вы не выполните
<FORM NAME="form1" METHOD="POST" ACTION="shortner.php">
, то if (isset($_POST['url']))
никогда не вернет true, потому что переменная, отправленная формой, будет GET (или if (isset($_GET['url']))
).
Во-вторых, вы вызываете функцию с помощью { $response = shortenUrl('$url'); }.
Здесь вы отправляете не значение url, а строку «$ url».Таким образом, ваша переменная $ longUrl всегда равна '$ url'.
В-третьих, вы не используете sprintf так, как должны.
echo sprintf(
$response['longUrl'],
$response['id']
);
Sprintf должен принимать формат строки:
echo sprintf("%s %s" // for example
$response['longUrl'],
$response['id']
);
Но знаете ли вы, что вы можете сделать напрямую
echo $response['longUrl'] . ' ' . $response['id'];
Вы можете объединить строку непосредственно с.в php