php 함수 인수. 관리 부분에 대한 액세스 권한을 차별화하기 위한 메커니즘 구현. 기본 옵션




매개 변수는 함수 정의에서 괄호 안에 지정되며 로컬 변수입니다. 매개 변수가 여러 개인 경우 본문에서만 볼 수 있으며 쉼표로 구분되어 표시됩니다. 호출될 때 함수는 매개변수가 초기화되는 인수를 받을 수 있습니다.

우리는 매개 변수가 무엇인지 고려했으며 이제 매개 변수가 초기화되는 값에 대해 배웁니다. 매개 변수에 할당되는 값을 인수라고 합니다. 예를 들어 문자열 또는 정수 리터럴, 변수 또는 변수와 연산자로 구성된 좀 더 복잡한 표현식이 될 수 있지만 PHP에서 평가할 수 있습니다. 매개변수가 초기화될 값을 얻기 위한 인터프리터. 간단히 말해서 인수는 함수에 전달되는 값입니다.

인수 전달

PHP는 함수 인수를 전달하는 두 가지 방법을 지원합니다. 첫 번째는 값으로 인수를 전달하고(기본적으로 작동) 두 번째는 참조로 인수를 전달합니다. PHP는 기본값도 지원합니다. 이제 세 가지 옵션을 모두 자세히 살펴보겠습니다.

기본적으로 인수는 값으로 함수에 전달됩니다(즉, 함수 내에서 매개변수 값을 변경하면 전달된 값이 함수 외부에서 동일하게 유지됨):

$color color"; // 변수 값이 변경되었나요?>

함수가 외부에서 전달된 인수를 수정하도록 허용하려면 참조로 전달해야 합니다. 인수를 참조로 전달하려면 함수 정의에서 매개변수 이름 앞에 &(앰퍼샌드) 기호를 지정해야 합니다.

함수는 기본 인수 값을 정의할 수 있습니다. 기본값을 설정하려면 함수 정의에서 매개변수를 원하는 값으로 설정하기만 하면 됩니다.

\n"; ) echo tea(); // 기본값 출력 echo tea("black"); ?>

참고: 기본 인수 값이 있는 모든 매개변수는 기본값이 없는 인수의 오른쪽에 있어야 합니다. 그렇지 않으면 코드가 예상대로 작동하지 않을 수 있습니다.

함수 반환 값

함수가 끝나면 함수를 호출한 프로그램에 일부 값(함수의 결과)을 반환할 수 있습니다. 함수 내부의 return 문은 함수가 반환하는 값을 결정하는 데 사용됩니다. 반환 값은 모든 유형이 될 수 있습니다. 다음과 같은 구문이 있습니다.

반환 식;

return 문은 함수의 아무 곳에나 배치할 수 있습니다. 제어가 도달하면 함수는 값(지정된 경우)을 반환하고 실행을 종료합니다. 반환 문이 지정되지 않았거나 반환 값이 지정되지 않은 경우 함수는 NULL 을 반환합니다. 반환 값을 사용하려면 함수 실행 결과를 변수에 할당할 수 있습니다. 예를 들면 다음과 같습니다.

"; // => 16. function foo($num) ( if($num === 10) return "$num is equal to 10"; else return "$num is not equal to 10"; echo "hello" ; // 이 코드 줄은 절대 실행되지 않습니다 ) echo foo(6); ?>

가입자

함수 인수

함수 인수란 무엇입니까?

함수 인수정의되는 함수의 이름 뒤에 괄호 안에 쉼표로 구분되어 나열되며 해당 지역 변수입니다.

인수 값은 처리를 위해 함수에 전달되고 평가될 수 있는 모든 표현식이 될 수 있습니다. 이 경우 함수는 인수를 전혀 사용하지 않을 수 있지만 인수가 있으면 왼쪽에서 오른쪽으로 평가됩니다.

값 및 참조로 함수 인수 전달

기본 인수는 값으로 함수에 전달됩니다.뿐만 아니라 지원 참조로 인수 전달및 기본값.

인수를 값으로 전달할 때 외부 변수의 원래 값은 함수 내부의 인수 값이 변경될 때 일정하게 유지됩니다. 함수가 외부 변수의 값에 영향을 줄 수 있어야 하는 경우 참조로 인수를 전달해야 합니다. 이는 함수 설명에서 인수 이름 앞에 앰퍼샌드 기호 "&"를 사용하여 수행됩니다(예제 번호 1 참조).

예 #1. 값 및 참조로 함수 인수 전달

함수 인수 기본값

또한 PHP에서는 다음에 사용할 수 있습니다. 기본 함수 인수, 함수가 호출될 때 주어진 인수에 값이 전달되지 않은 경우 사용되는 값입니다. 인수의 기본값을 설정하려면 함수 정의에서 이 인수에 원하는 값을 할당해야 합니다(예제 2번 참조). 이 경우 기본값은 값으로 전달된 인수와 참조로 전달된 인수를 모두 가질 수 있습니다. 그러나 어떤 경우에도 기본값이 할당된 모든 인수는 목록에서 기본값이 없는 인수 뒤에 나타나야 합니다. 또한 배열과 NULL 뿐만 아니라 상수 표현식만 기본값으로 사용할 수 있습니다. 예를 들어 변수나 함수 호출을 사용할 수 없습니다.

예 #2. 기본 인수 값 사용

가변 길이 인수 목록

함수에 전달된 인수의 정확한 개수를 미리 알 수 없는 경우 다음을 사용할 수 있습니다. 가변 길이 인수 목록. 이러한 목록은 줄임표 "..."가 앞에 오는 특수 변수를 사용하여 구성됩니다. 결과적으로 인수는 지정된 변수에 배열로 전달됩니다(예제 #3 참조).

예 #3. 가변 길이 인수 목록 사용

줄임표 앞에 일반 인수를 지정할 수 있지만 함수에 전달되는 다른 모든 인수는 배열에 입력됩니다. 또한 줄임표 앞에 배열에 입력할 수 있는 인수 유형과 참조로 인수를 전달하기 위한 앰퍼샌드 기호 "&"를 지정할 수 있습니다(예제 4번 참조).

"; //값을 참조로 함수에 //전달한 후 함수에 의해 10으로 변경되었기 때문에 10이 출력됩니다. echo $a_1; ?>

예 번호 4. 가변 길이 인수 목록 사용의 특징

줄임표 "..."를 사용하여 함수 인수로 전달된 배열을 요소 형식의 함수 인수로 확장할 수 있습니다(예제 #5 참조).

"; //배열을 변수에 할당 $a_3=; //함수에 전달된 배열 확장 //출력 3 echo m_sum_2(...$a_3); ?>

예제 번호 5. 호출 시 함수에 전달된 인수 배열 확장

인수 액세스 함수

  • func_get_args()- 함수 인수로 구성된 배열을 반환합니다.
  • func_get_arg(n)- 지정된 함수 인수를 반환합니다. 여기서 n=0,1,2,... - 0부터 시작하는 목록의 인수 번호(인수는 왼쪽에서 오른쪽으로 계산됨).
  • func_num_args()- 실제로 함수에 전달된 인수의 수를 반환합니다.

"; //함수에 전달된 세 번째 인자의 값을 표시 echo func_get_arg(2); //함수 인자의 합을 반환합니다. return $sum; ) //함수를 호출합니다. 38, 즉 전달된 인자의 수를 표시합니다. 3, //3번째 인수 값은 8(요소 번호는 0부터 시작) m_sum(1,2,8); ?>

예제 번호 6. 특수 함수를 사용하여 인수 작업

함수 인수는 특수 함수를 사용하여 액세스할 수도 있습니다. 특히 함수가 받을 것으로 예상되는 것보다 더 많은 인수를 사용하는 경우(예제 #6 참조):

다른 페이지로 빠르게 이동

http://웹사이트 저작권 © Petr Romanovsky, 민스크, 2016-2019.

사용자 지정 함수에 인수 전달

함수를 선언할 때 함수에 전달할 수 있는 매개 변수 목록을 지정할 수 있습니다. 예를 들면 다음과 같습니다.

기능 funct ($a , $b , /* ..., */ $z ) { ... };
?>

funct() 함수를 호출할 때 전달되는 모든 매개변수는 필수이므로 지정해야 합니다. PHP에서 사용자 정의 함수는 선택적 또는 기본 매개변수를 가질 수 있지만 나중에 자세히 설명합니다.

확립된 전통에 따르면 모든 프로그래밍 언어에는 두 가지 유형의 함수 인수가 있습니다.

  • 값 매개변수;
  • 매개변수-변수.

함수는 값 매개변수를 변경할 수 없습니다. 즉, 함수에 대해 읽기 전용으로 사용할 수 있습니다. 사용할 수 있지만 더 이상 사용할 수 없습니다. 변수를 값 매개변수로 지정할 필요는 없으며 값 자체를 지정할 수 있으므로 이름 - 값 매개변수를 지정할 수 있습니다.

기본적으로 함수에 대한 인수는 값으로 전달됩니다(즉, 함수 내부에서 인수 값을 변경해도 외부 값은 동일하게 유지됨). 예를 들면 다음과 같습니다.

함수($문자열)
{
에코 "

매개변수 = $문자열

" ;
}

$str = 777 ;
함수(777);
함수( $str);

// 함수 "funct"는 문자열 "Parameter = 777"을 두 번 출력합니다.

?>

값 매개변수와 달리 변수 매개변수는 함수가 실행되는 동안 변경할 수 있습니다. 여기서는 더 이상 값을 전달할 수 없으며 변수를 전달해야 합니다. PHP는 가변 매개변수를 선언하기 위해 참조별 변수 메커니즘을 사용합니다.

함수가 인수를 수정하도록 허용하려면 참조로 전달해야 합니다.

인수가 항상 참조로 전달되도록 하려면 함수 선언에서 인수 이름 앞에 앰퍼샌드(&)를 포함해야 합니다.

함수 (& $string )
{
$string .= "이것은 안에 있습니다." ;
}
$str = "이 줄은 함수 밖에 있습니다. ";
함수($str);
에코 $str ; // "이 줄은 함수 밖에 있고, 이 줄은 안에 있습니다."를 출력합니다.
?>

기본 옵션

프로그래밍할 때 가변 개수의 매개변수를 사용하여 함수를 생성해야 하는 경우가 종종 있습니다. 여기에는 두 가지 이유가 있습니다.

  • 매개변수가 너무 많습니다. 이 경우 매번 모든 매개변수를 지정하는 것은 의미가 없습니다.
  • 함수는 매개변수 집합에 따라 다른 유형의 값을 반환해야 합니다.

PHP에서 함수는 전달된 매개변수에 따라 모든 값을 반환할 수 있습니다.

함수 makecup ($type = "차" )
{
반품 "컵 만들기 $type.\n";
}
에코 메이크컵();
echo makecup("커피");
?>

이 스크립트의 출력은 다음과 같습니다.

차 한잔 하세요
커피 한 잔 만들기

PHP는 또한 다음과 같이 배열과 특수 유형 NULL을 기본값으로 허용합니다.

함수 makecup ($types = array("Coffee" ), $Maker = NULL )
{
$장치 = is_null ($Maker ) ? "설탕" : $Maker ;
반품 "컵 만들기". 조인(", " , $types ). " $device와 함께.\n" ;
}
에코 메이크컵();
echo makecup (array("커피" , "차" ), "크림" );
?>

위의 스크립트는 다음을 출력합니다.

설탕으로 커피 한 잔을 만드십시오. 크림과 함께 커피, 차 한잔을 만드십시오.

기본값은 상수 식이어야 합니다.

기본값이 있는 모든 인수는 기본값이 없는 인수의 오른쪽에 있어야 합니다. 그렇지 않으면 코드가 예상대로 작동하지 않을 수 있습니다. 다음 예를 고려하십시오.

함수 makecup ($type = "차" , $cond )
{
반품;
}

Echo makecup("뜨거운"); // 예상대로 작동하지 않습니다.
?>

위 스크립트의 결과는 다음과 같습니다.

경고: makecup()에 대한 인수 2 누락 c:\inetpub\사이트\test.php온라인 2
뜨거운 컵을 만드십시오.

이제 고려된 스크립트를 수정하여 오류를 수정해 보겠습니다.

함수 makecup($cond , $type = "차")
{
반품"컵 만들기 $type $cond.\n";
}

Echo makecup("뜨거운"); // 이제 스크립트가 올바르게 작동합니다!
?>

수정된 스크립트의 결과는 다음과 같습니다.

따뜻한 차 한잔 만들어 보세요.

주목! PHP 5부터는 기본값을 참조로 전달할 수 있습니다!

함수의 가변 개수 인수

때때로 우리는 얼마나 많은 매개변수가 함수에 전달될지 정확히 알지 못합니다. 특히 이 경우 PHP 개발자는 다양한 수의 인수를 사용할 수 있는 가능성을 제공했습니다.

이 기능의 구현은 매우 투명하며 기능 사용으로 구성됩니다. func_num_args() , func_get_arg()그리고 func_get_args() .

고려되는 표준 기능의 가능성을 고려하십시오.

표준 기능 func_num_args()사용자 지정 함수에 전달된 인수의 수를 반환합니다.

함수()
{
$numargums = func_num_args();
에코 "인수 개수: $numargums\n";
}

함수(1, 2, 3); // 스크립트는 "인수 수: 3"을 출력합니다.
?>

표준 기능 func_get_arg()사용자 지정 함수에 전달된 인수 목록에서 요소를 반환합니다.

함수()
{
$numargs = func_num_args();
에코 "인수 수: $numargs
\N"
;
if ($numargs >= 2 ) (
에코 "두 번째 인수: ". func_get_arg(1). "
\N" ;
}
}

함수(1, 2, 3);
?>

내 웹 개발 실습에서 나는 고객이 특정 사용자에 대한 접근성과 관련하여 관리자 패널의 일부를 분리하는 특정 목표를 설정하는 상황을 자주 접했습니다. 동시에 이 모듈의 개발은 확장 가능한 시스템, 즉 액세스가 구성되는 고정되지 않은 수의 모듈과 이에 따라 무제한의 시스템 사용자와 함께 수행되었습니다.

글쎄, 그 자체로이 주제는 상당히 무겁고 작업을 분석하고 설정하는 데 약간의 시간이 필요합니다.

이 기사의 맥락에서 우리는 자체 인프라와 아키텍처를 갖춘 일부 추상 정보 시스템의 맥락에서 개발할 것이며, 이 시스템은 사용자에게 기능을 확장할 수 있는 기회, 즉 새 모듈을 설치하고 그에 따라 설정할 수 있는 기회를 제공합니다. 시스템 관리자로 등록된 특정 사용자에 대한 액세스 권한.

먼저 우리가 선택한 의사 시스템에서 모듈식 시스템의 아키텍처에 대해 논의해 봅시다.

모든 모듈은 주 문서(색인 파일)에 연결된 삽입물로 표시됩니다. 모듈 요청은 QUERY_STRING 쿼리 문자열에서 가져오고 플러그인 이름은 act 인수로 전달됩니다. 파일 인덱스의 특정 지점에서 이 매개변수가 검색되고 처리됩니다. 그 후 사용자가 읽기 컨텍스트에서 모듈에 접근할 수 있는 충분한 권한이 있으면 쿼리 문자열에 지정된 모듈의 존재 여부를 확인하고 존재하면 인덱스 파일에 연결합니다.

우리 시스템은 시스템 작업을 위한 두 가지 컨텍스트, 즉 읽기와 쓰기의 존재를 가정하기 때문에 "읽기 컨텍스트"에 대해서만 언급한 것이 아닙니다. 동시에 읽기는 모듈과 데이터베이스의 데이터 구조를 변경할 필요가 없는 부분에 대한 직접 액세스를 가정합니다. 레코드 아래에서 데이터베이스에 저장된 정보를 직접 변경하도록 되어 있습니다.

이 메커니즘을 구현하기 위해 모듈 자체에서 처리되고 사용자에게 액세스 권한을 부여해야 하는 모듈의 섹션에 대한 정보를 전달하는 `do` 쿼리 문자열 변수의 값을 확인합니다.

do의 값은 고정되며 이 변수는 다음 값을 사용합니다.

  • main - 모듈의 주요 부분(읽기 컨텍스트에서 사용 가능)
  • config - 모듈 구성 섹션(항목의 컨텍스트에서 사용 가능)
  • 생성 - 데이터베이스에 정보를 추가하기 위한 몇 가지 작업을 수행합니다(레코드 컨텍스트에서 사용 가능).
  • 삭제 - 이 모듈의 컨텍스트에서 일부 정보를 삭제할 수 있는 기능을 제공하는 섹션에 대한 액세스(레코드 컨텍스트에서 사용 가능)
  • 편집 - 모듈 컨텍스트에서 편집 정보에 대한 액세스(레코드 컨텍스트에서 사용 가능)

일반적으로 이 목록은 늘릴 수 있지만 모든 것은 프로젝트의 규모와 기능에 대한 요구 사항에만 의존합니다.

이제 모듈에 대해 직접. 프로젝트의 파일 시스템 컨텍스트에서 특정 모듈의 물리적 존재 외에도 시스템의 모든 기존 모듈에 대한 정보를 포함할 특수 데이터베이스 테이블에 모듈을 추가해야 합니다. 이 테이블의 데이터 추가 및 변경은 일반적으로 모듈 컨텍스트에서, 즉 시스템에 설치하는 동안 직접 수행됩니다. 그러나 이것은 이미 확장 가능한 시스템을 보는 원칙으로 심화되고 있으며 나중에 이야기할 것이므로 모듈에 대한 데이터를 수동으로 업데이트하고 추가하는 것으로 제한할 것입니다.

따라서 시스템 모듈에 대한 레코드에는 다음 정보가 포함됩니다. GET 환경 변수의 값과 동일한 모듈 이름의 영어 식별자 - act(모듈이 직접 요청됨), 러시아어 모듈 모듈 목록에서 사용될 식별자.

모듈 외에도 두 개의 테이블, 즉 액세스 권한 프로필과 관련된 데이터를 저장할 테이블과 사용자에 대한 정보가 직접 포함된 테이블이 있습니다.

보안 프로필 테이블은 프로필 식별자(레코드 식별자의 숫자 값), 텍스트 모듈 식별자(사용자용) 및 각 모듈의 컨텍스트.

자, 이 특별한 구조를 봅시다. 다음과 같습니다. [ module_indefier: + \: + \;] *

즉, 쌍 목록이 있습니다: 모듈 이름 ":" 읽기 권한 "," 쓰기 권한 ";". 이 경우 이 레이블은 시스템에 대한 사용자 액세스 권한이 변경될 때 업데이트됩니다. 이 레이블에 포함되지 않은 모듈에 대한 정보가 시스템에 나타나면 편집 절차를 수행하기만 하면 데이터가 자동으로 저장됩니다.

이제 우리는 하나의 데이터베이스 테이블의 구조를 고려하는 것이 남아 있으며 시스템 사용자에 대한 정보가 있는 테이블인 알고리즘 부분 구현을 시작할 수 있습니다. 그들에게 액세스 권한을 할당하는 것이 우리의 주요 작업이기 때문입니다.

추가로 추가하지 않고 이 기사의 주제와 관련하여 사용될 내용만 추가하겠습니다. 사용자 테이블에는 사용자 ID(숫자 카운터), 로그인, 암호(원래 암호의 해시), 사용자 보안 프로필(시스템 권한에 대한 사용자 그룹 ID) 등의 필드가 포함됩니다. 이 정보는 우리가 작업을 구현하기에 충분하고 이미 다른 모든 추가 기능을 직접 수행할 수 있는 기회를 제공하는 것 같습니다.

그래서 우리는 구조에 대해 논의했으며 모든 사람들이 기사 주제에 설정된 작업을 구현하는 방법에 대해 이미 알고 있기를 바랍니다. 이제 위에서 설명한 테이블의 보조 SQL 코드를 제공한 후 사용자 액세스 권한을 확인하고 액세스 프로필을 만들고 변경하는 알고리즘 구현을 즉시 진행하겠습니다. 각 개별 모듈 후에 독자가 가질 수 있는 질문에 대해 자세히 논의할 것입니다.

`모듈` 테이블:

CREATE TABLE `modules` (`id` bigint(20) NOT NULL auto_increment, `indefier` 텍스트 조합 utf8_unicode_ci NOT NULL, `title` 텍스트 조합 utf8_unicode_ci NOT NULL, PRIMARY KEY (`id`)) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

`secure_groups` 테이블:

CREATE TABLE `secure_groups` (`id` bigint(20) NOT NULL auto_increment, `title` 텍스트 대조 utf8_unicode_ci NOT NULL, `perms` 텍스트 대조 utf8_unicode_ci NOT NULL, PRIMARY KEY (`id`)) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ;

테이블 `사용자`

CREATE TABLE `users` (`id` bigint(20) NOT NULL auto_increment, `login` 텍스트 조합 utf8_unicode_ci NOT NULL, `passwd` 텍스트 조합 utf8_unicode_ci NOT NULL, `groupId` int(1) NOT NULL 기본값 "0", PRIMARY KEY (`id`)) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ;

임시=배열(); $this->temp["_result"]=0; $this->temp["_uid"]=explode("::",$_COOKIE["site_hash"]); $this->temp["_uid"]=$this->temp["_uid"]; $this->temp["_gid"]=$this->getUserSecurityAccess($this->temp["_uid"]); $this->temp["_conn_id"]=mysql_connect("호스트","사용자","passwd"); mysql_select_db("데이터베이스"); $this->temp["_q1"]=mysql_query("권한 선택" ."FROM `secure_groups`" ."WHERE id=".$this->temp["_gid"]); $this->temp["_access_stamp"]=mysql_fetch_assoc($this->temp["_q1"]); $this->temp["_access_stamp"]=$this->temp["_access_stamp"]["perms"]; $this->temp["_access_stamp"]=explode(";",$this->temp["_access_stamp"]); $this->temp["_access_stamp"]=array_slice($this->temp["_access_stamp"],0,-1); foreach($this->temp["_access_stamp"] as $this->temp["v"])( $this->temp["_mod_access"]=explode(":",$this->temp["v "]); $this->temp["_mod_indefier"]=$this->temp["_mod_access"]; if($this->temp["_mod_indefier"]==$module)( $this->temp[ "_perms"]=explode(",",$this->temp["_mod_access"]); switch($act)( case "r": $this->temp["_result"]=($this-> temp["_perms"]==1)?1:0; 중단; 케이스 "w": $this->temp["_result"]=($this->temp["_perms"]==1)?1 :0; break; ) break; ) ) mysql_close($conn_id); return $this->temp["_result"]; ) ) ?>

이 클래스는 위에서 설명한 알고리즘 작업을 구현하도록 설계된 함수를 구현합니다. 이제 각 기능에 대해 개별적으로 설명하겠습니다.

secure::getUserId() 함수

이 함수를 사용하여 시스템에서 사용자 인증 시 $_COOKIE 환경 변수가 시스템에서 사용자 식별자와 시스템에서 진위 여부를 확인하기 위한 해시로 구성된 `site_hash` 변수로 설정되었다고 가정합니다. 이 함수는 단순히 식별자 값을 제거하고 해당 값을 출력으로 반환합니다.

함수 secure::getUserSecurityAccess($id)

종료 시 이 함수는 시스템에 있는 현재 사용자의 보안 프로필 ID를 반환합니다.

secure::checkUserPermission($module,$act)) 함수

매개변수로 전달된 모듈의 컨텍스트에서 읽기/쓰기 작업을 수행할 수 있는 사용자 권한과 관련하여 데이터베이스에 쿼리가 작성됩니다.

$_COOKIE 환경에서 변수를 생성하는 절차에 대한 설명만 남았고 글의 주제는 풀렸다고 볼 수 있다.

승인 절차는 사용자의 개인 데이터(로그인 및 비밀번호)를 특별한 형식으로 입력한 후 사용자가 전송한 데이터를 checkAuthData() 함수 메서드에 따라 처리하고 데이터가 올바른 경우 사용자 데이터는 사용자가 설정한 기간 동안 또는 기본적으로 일정 기간 동안 지정된 값이 없는 경우 쿠키를 기록하는 형태로 저장됩니다.

$_COOKIE 환경 변수에 저장된 데이터의 신뢰성을 확인하기 위해 데이터의 유효성을 검사하고 부울 유효성 검사 결과(true - false)를 반환하는 EatCookie() 함수를 사용합니다.

필드 식별자를 지정하는 프로그래밍 이론의 일부가 아니기 때문에 제출할 양식을 제공하지 않습니다.

  • `ulogin` - 사용자 로그인
  • `upasswd` - 사용자 비밀번호
  • `stime` - 사용자가 설정한 세션 시간(1~5시간)
  • `auth` - 제출 버튼 이름

일반적으로 그게 다입니다. 시도하고, 실험하고, 실수하고, 해결책을 찾는 일만 남아 있습니다. 전적으로 귀하에게 맡깁니다.

곧 만나기를 바라며 기사와 관련하여 저에게 질문이있는 사람들을 위해 - 쓰기 [이메일 보호], 어느 쪽이든 [이메일 보호]

산업 및 산업 생산 연구소의 IT 부서 책임자인 Karpenko Kirill에게 진심으로 감사드립니다.