Повторяя переменные, которые имеют в них
У меня есть это эхо,
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.