[PHP] URL로 변수(파라미터)를 받을 때 &에서 끊기지 않게 하려면?
안녕하세요.
PHP 에서 URL로 변수(파라미터)를 받으려고 합니다.
예를 들어 http://www.aaa.com/test.php?url=http://www.aaa.com/bbs/board.php?table=info&wr_id=18394&page=1 라는 식으로 사이트 주소를 url 이라는 변수명으로 받으려고 하는데요..
문제는 받으려고 하는 변수값이 사이트 주소이다보니 &표시가 포함되어 있어서
&가 파라미터를 구분하는 구분자로 역할을 하기 때문에 전체 사이트주소를 변수로 받지 못하더라구요..
즉 위의 주소대로 입력하면 <?php echo $_GET['url']; ?> 을 입력했을 때
url 이라는 변수에 http://www.dealbada.com/bbs/board.php?bo_table=info_siren 라는 변수만 받아오고 & 표시 뒤인 wr_id=18394&page=1 를 받아오지 못합니다ㅠ
아마 &표시로 인해서 다른 변수값으로 인지해서 그런거 같더라구요..
받으려는 변수가 저거 하나라고 가정했을 때 &를 포함해서 http://www.dealbada.com/bbs/board.php?bo_table=info_siren&wr_id=18394&page=1 를 모두 변수로 받아오려면 어떻게 해야 하나요?
- $full_url = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
도움이 되시면 좋겠네요.
출처: https://stackoverflow.com/questions/6768793/get-the-full-url-in-php
https://www.php.net/manual/en/function.urlencode.php
주소에 GET으로 넘길 때에는 그 값을 반드시 urlencode함수로 인코딩을 해야 합니다.
&뿐만 아니라 다른 글자도 인코딩 해서 넘겨야 합니다.
<?php echo '<a href="test.php?url=... 코드블럭 기능에 문제가 좀 있는 것 같네요