У меня есть переменная:
$name = urlencode('é');
, которая вызывается Twilio:
array("url" => "example.com/test1.php?name=$name")
В test1.php мой TwiML выглядит так:
<Response>
<Gather numDigits="1" method="GET" action="example.com/test2.php?name=<?php echo urlencode($_GET["name"]);?>>
<Say>Hello,<?php echo urldecode($name);?></Say>
<Say>To repeat press 1. To confirm, press 2.</Say>
</Gather>
</Response>
Если я не кодирую $_GET["name"]
в действии, я получаю сообщение об ошибке приложения «Ошибка HTTP-поиска».Я не уверен, почему, потому что это не должно быть уже закодировано?Почему в сообщении отображается расшифрованный символ é, что приводит к ошибке?
Другая проблема, с которой я столкнулся, - echo $_GET["name"];
и echo urldecode($_GET["name"]);
, оба печатают é
вместо é
в test2.php.
Наконец, для обработки повторения, если моя ссылка для перенаправления в test2.php обратно на test1.php содержит urlencoding для $_GET["name"]
?
<Redirect>
example.com/test1.php?name=<?php echo urlencode($_GET["name"]);?
</Redirect>
Я, вероятно, могу понять этоесли я знаю, как исправить мои первые 2 проблемы.