PHP의 GET URL 매개 변수
php에서 URL 파라미터로 URL을 전달하려고 하는데 이 파라미터를 얻으려고 해도 아무것도 표시되지 않습니다.
다음 URL 폼을 사용하고 있습니다.
http://localhost/dispatch.php?link=www.google.com
나는 그것을 통과시키려 하고 있다:
$_GET['link'];
하지만 아무것도 돌아오지 않았다.뭐가 문제죠?
$_GET
는 함수나 언어구성이 아닙니다.그냥 변수(배열)입니다.시험:
<?php
echo $_GET['link'];
특히 슈퍼글로벌입니다.PHP에 의해 채워지고 모든 범위에서 사용할 수 있는 내장 변수입니다(global 키워드 없이 함수 내부에서 사용할 수 있습니다).
변수가 존재하지 않을 수 있으므로 코드가 다음과 같은 방법으로 알림을 트리거하지 않도록 할 수 있습니다.
<?php
if (isset($_GET['link'])) {
echo $_GET['link'];
} else {
// Fallback behaviour goes here
}
또는 수동 인덱스 검사를 건너뛰고 검증을 추가할 경우 필터 확장을 사용할 수 있습니다.
<?php
echo filter_input(INPUT_GET, 'link', FILTER_SANITIZE_URL);
마지막으로 null 병합 연산자(PHP/7.0 이후 사용 가능)를 사용하여 누락된 매개 변수를 처리할 수 있습니다.
echo $_GET['link'] ?? 'Fallback value';
코드를 올려주세요.
<?php
echo $_GET['link'];
?>
또는
<?php
echo $_REQUEST['link'];
?>
일을 하다
사용방법:
$parameter = $_SERVER['QUERY_STRING'];
echo $parameter;
또는 다음을 사용합니다.
$parameter = $_GET['link'];
echo $parameter ;
모든 종류의 불필요한 코드를 삽입하지 않고 항상 안전한지 확인하려면 FILTER를 사용합니다.
echo filter_input(INPUT_GET,"link",FILTER_SANITIZE_STRING);
php.net 함수 filter_input에 대한 자세한 내용은 다른 필터에 대한 설명을 참조하십시오.
인정된 답변은 좋습니다.그러나 다음과 같은 시나리오가 있는 경우:
http://www.mydomain.me/index.php?state=California.php#Berkeley
명명된 앵커는 다음과 같이 쿼리 문자열로 처리할 수 있습니다.
http://www.mydomain.me/index.php?state=California.php&city=Berkeley
다음으로 다음과 같이 액세스합니다.
$Url = $_GET['state']."#".$_GET['city'];
$Query_String = explode("&", explode("?", $_SERVER['REQUEST_URI'])[1] );
var_dump($Query_String)
어레이 ( [ 0 ] = > link = www.google.com )
난 아무 것도 얻지 못했어$_GET["..."]
(예:print_r($_GET)
빈 어레이를 제공했습니다).$_SERVER['REQUEST_URI']
물건이 있어야 한다는 걸 보여줬죠결국 웹페이지에 접속한 것은 .htaccess가 웹페이지를 리다이렉트하고 있었기 때문입니다(404 핸들러는 같은 .php 파일이며 테스트 시 브라우저에 오타가 있었습니다).
단순히 이름을 바꾼다는 것은 404 리다이렉션이 시작되지 않았을 때 같은 php 코드가 작동했다는 것을 의미합니다.
그래서 방법이 있다. $_GET
php 코드가 정확해도 아무것도 반환할 수 없습니다.
언급URL : https://stackoverflow.com/questions/5884807/get-url-parameter-in-php
'itsource' 카테고리의 다른 글
도커의 nextcloud 및 mariadb(둘 다): SQLSTATE[HY000] [2002] 해당 파일 또는 디렉터리가 없습니다. (0) | 2022.09.28 |
---|---|
SilverStripe PHP Forms - SelectionGroup을 FieldGroup 내에 네스트하면 관련된 SelectionGroup_Items 라디오 박스 중 하나가 표시되지 않습니다.왜요? (0) | 2022.09.28 |
Java Logging 프레임워크의 마커는 무엇이며 마커를 사용하는 이유는 무엇입니까? (0) | 2022.09.27 |
SQL Chemy, to_sql을 사용하여 팬더와 MySQL 데이터베이스에 쓰기 (0) | 2022.09.27 |
Larabel 5 응용 프로그램 키 (0) | 2022.09.27 |