Повторяя переменные, которые имеют в них

У меня есть это эхо,

echo "<a href = 'showdetails.php?name='$name'&type=movie'> </a>";

это работает как намерение, но если

$name = Gulliver's Travels;

например, я получу Гулливера только на другой странице.

Есть ли способ обойти это?

Спасибо,

Zenshi.

2 ответа

Решение

Я бы пошел на urlencode, потому что вы используете его как часть URL:

echo "<a href = 'showdetails.php?name=".urlencode($name)."&type=movie'> </a>";

Есть много символов, которые не принадлежат URL, поэтому закодируйте их все правильно:

echo '<a href="showdetails.php?name=' . urlencode($name) . '&type=movie"> </a>';

href значение должно быть заключено в двойные кавычки, а не в одинарные, так как одинарные кавычки разрешены в URL, а двойные - нет.

http://php.net/manual/en/function.urlencode.php

Если бы вы помещали это в любой другой тип вывода HTML, кроме ссылки, вы бы хотели использовать htmlspecialchars.

Другие вопросы по тегам