PHP 페이지 간에 값을 전송하는 6가지 방법

PHP中文网
풀어 주다: 2023-02-28 22:30:02
원래의
4585명이 탐색했습니다.

PHP 페이지 간 값을 전송하는 6가지 방법:

PHP 4 이상 전달된 값을 얻는 방법 ​

일반적으로 페이지에서 값을 전달하는 가장 일반적인 방법은 POST, GET, COOKIE이므로 아래에서는 이들을 중심으로 소개하겠습니다. PHP4 이상에서는 $_POST, $_GET 및 기타 배열을 사용하여 웹 페이지 값을 얻습니다. PHP3.0 이하에서는 $HTTP_POST_VARS, $HTTP_GET_VARS 등의 배열을 사용하며, 구체적인 코드는 다음과 같습니다.

echo $_POST['dopost'];
?>

< form action="weste_net.php" method="post" name=&#39;form1&#39; id="form1">
< input type="text" name="dopost" value="hello weste.net!" />
< input type="submit" name="weste" value="提交" />
< /form>
로그인 후 복사

2. 이전 버전의 PHP3에서 사용되는 값 전달 방법

위에서 언급한 것처럼 $HTTP_POST_VARS, $HTTP_GET_VARS, $HTTP_COOKIE_VARS 등의 배열을 사용하여 읽을 수 있습니다. 이전 버전의 PHP에서는 $dopost와 같은 메소드를 사용하여 전달된 값을 직접 얻을 수도 있습니다. 이 방법은 웹 페이지의 전달된 값을 얻는 다음 방법 중 실제로 $를 사용하는 방법에 중점을 둡니다. dopost.웹페이지에서 전달된 값을 가져옵니다.

3. PHP.ini 파일 구성 수정

또 다른 질문은 PHP3과 PHP4 이상이 호환되지 않는 이유입니다. 실제로 매우 중요한 이유는 PHP4 이후에는 PHP.ini 파일의 Register_globals가 기본적으로 Off로 설정되어 있다는 것입니다. 따라서 $dopost를 사용하여 웹페이지의 가치를 직접적으로 구하는 이전 방법은 사용할 수 없습니다.

register_globals 값을 확인하는 쉬운 방법

echo &#39;register_globals = &#39; . ini_get(&#39;register_globals&#39;);
?>
로그인 후 복사

register_globals=Off인 경우,register_globals=또는register_globals=0을 표시

register_globals=On인 경우,register_globals=1을 표시합니다

register_globals를 On으로 수동으로 수정하세요. 제출된 양식에 "dopost"라는 변수가 포함되어 있으면 $dopost를 사용하여 PHP에서 변수를 가져올 수 있습니다. 하지만 가상호스트를 사용한다면 여전히 php.ini 파일을 수정하기는 어렵습니다. 여기에는 한 가지 방법이 있습니다.

4. import_request_variables 함수 사용

import_request_variables 함수는 GET, POST 및 Cookie 변수를 전역 범위로 가져오는 것이지만 이 함수는 일부 전역 변수를 사용하려는 경우 유용합니다.

구문:

bool import_request_variables(string $types[, string $prefix])
로그인 후 복사

첫 번째 매개변수는 g, p 또는 c일 수 있으며 이는 GET, POST 및 COOKIE 변수의 첫 글자이며 의미는 매우 명확합니다. 🎜>

두 번째 매개변수는 가져온 변수 접두사입니다. 원하는 대로 작성할 수 있습니다.

간단한 예:

import_request_variables("p","p_");
echo $p_dopost;
?>
로그인 후 복사
HTML 부분은 방법 1을 참조하고, 얻은 값은 dopost 입력 상자 변수입니다.

5. 추출 함수 사용

PHP extract() 함수는 배열의 변수를 현재 기호 테이블로 가져옵니다. 배열의 각 요소에 대해 키 이름은 변수 이름으로 사용되고 키 값은 변수 값으로 사용됩니다. 두 번째 매개변수 유형은 변수가 이미 존재하고 배열에 동일한 이름을 가진 요소가 있는 경우 extract() 함수가 이러한 충돌을 처리하는 방법을 지정하는 데 사용됩니다.

구문:

extract(array,extract_rules,prefix)
로그인 후 복사
사용법:

if(!empty($_POST)) extract($_POST);
echo $dopost;
?>
로그인 후 복사
이 방법이 매우 간단합니까? 매우 실용적입니다.

6. Dedecms에서 사용하는 메소드

그리고, 미리 Register_globals 값을 판단하세요

. , On이면 바로 사용이 가능합니다. 구체적인 코드는 다음과 같습니다. common.inc.php 파일에 있습니다.

//检查和注册外部提交的变量
foreach($_REQUEST as $_k=>$_v)
{
if( strlen($_k)>0 && eregi(&#39;^(cfg_|GLOBALS)&#39;,$_k) && !isset($_COOKIE[$_k]) )
{
exit(&#39;Request var not allow!&#39;);
}
}
function _RunMagicQuotes(&$svar)
{
if(!get_magic_quotes_gpc())
{
if( is_array($svar) )
{
foreach($svar as $_k => $_v) $svar[$_k] = _RunMagicQuotes($_v);
}
else
{
$svar = addslashes($svar);
}
}
return $svar;
}
foreach(Array(&#39;_GET&#39;,&#39;_POST&#39;,&#39;_COOKIE&#39;) as $_request)
{
foreach($$_request as $_k => $_v) ${$_k} = _RunMagicQuotes($_v);
}
로그인 후 복사
위 코드를 공개 PHP 페이지에 넣으세요. 나중에 웹에서 값을 전달할 때만 사용하면 됩니다. 페이지.

위 내용은 PHP 페이지 간 값을 전송하는 6가지 방법에 대한 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿