PHP 오류:함수 이름은 문자열이어야 합니다.
PHP 코드 상단에 다음 행을 추가했는데 오류가 발생합니다.
치명적 오류:함수 이름은 라인 2의 /home/reg.php에 있는 문자열이어야 합니다.
<?php
if ($_COOKIE('CaptchaResponseValue') == "false")
{
header('location:index.php');
return;
}
?>
노력했습니다.$_COOKIE("CaptchaResponseValue")쿠키가 성공적으로 설정되어 사용 가능합니다.사용할 때 오류가 발생하는 이유는 무엇입니까?$_COOKIE?
그럴 것 같네요.$_COOKIE['name'],것은 아니다.$_COOKIE('name')
$_COOKIE배열이지 함수가 아닙니다.
프로그래밍 언어나 스크립트 언어에서 괄호를 사용하는 것은 일반적으로 함수임을 의미합니다.
하지만$_COOKIEphp는 함수가 아니라 배열입니다.배열의 데이터에 액세스하려면 데이터를 가져올 인덱스를 나타내는 사각형 대괄호('[' 및 ']')를 사용합니다.그래서 함으로써$_COOKIE['test']당신은 기본적으로 이렇게 말하고 있습니다: "'테스트' 인덱스의 데이터를 주세요.
이제, 여러분의 경우, 두 가지 가능성이 있습니다. (1) 쿠키 내부를 들여다봄으로써 쿠키가 거짓인지 확인하거나 (2) 쿠키가 존재하지 않는지 확인하는 것입니다.
이를 위해 기본적으로 변수가 설정되어 있는지 여부를 확인하는 isset 기능을 사용합니다.
예
if ( isset($_COOKIE['test'] ) )
값이 거짓인지 확인하고 설정된 경우 다음 작업을 수행할 수 있습니다.
if ( isset($_COOKIE['test']) && $_COOKIE['test'] == "false" )
한 가지 염두에 둘 수 있는 것은 첫 번째 테스트가 실패할 경우 다음 문장이 AND이면 확인하는 것조차 귀찮지 않다는 것입니다.&&).
그리고 실제로 "함수는 문자열이어야 합니다"라는 오류가 발생하는 이유를 설명하려면 이 페이지를 참조하십시오.그것은 PHP의 기본적인 함수 생성에 관한 것인데, 당신이 기억해야 할 것은 PHP의 함수는 특정 유형의 문자만 포함할 수 있다는 것입니다.$이것들 중 하나가 아닙니다.PHP에서 이후로$변수를 나타냅니다.
기능은 다음과 같습니다._myFunction _myFunction123 myFunction그리고 다른 많은 패턴에서도 마찬가지이지만 $ 및 %와 같은 문자와 혼합하는 것은 효과가 없습니다.
사각형 교정기를 사용해 보십시오.$_COOKIE괄호가 아닙니다.다음과 같이:
<?php
if ($_COOKIE['CaptchaResponseValue'] == "false")
{
header('Location: index.php');
return;
}
?>
당신의 위치 헤더 통화도 조금 수정했습니다.
그럴 것이다.$_COOKIE['CaptchaResponseValue'],것은 아니다.$_COOKIE('CaptchaResponseValue')
쿠키가 설정되어 있는지 확인하려면 ...을 사용
if (isset($_COOKIE['cookie']))
PHP.js에서 $_COOKIE는 함수입니다 ;-)
function $_COOKIE(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return decodeURIComponent(c.substring(nameEQ.length,c.length).replace(/\+/g, '%20'));
}
return null;
}
http://phpjs.org/functions/setcookie:509 를 통해
교정기가 사용되는 방법에 대한 유용한 설명(위의 Filip Ekberg의 유용한 답변 외에도)은 프로그래밍 언어의 괄호에서 찾을 수 있습니다.
<?php
require_once '../config/config.php';
require_once '../classes/class.College.php';
$Response = array();
$Parms = $_POST;
$Parms['Id'] = Id;
$Parms['function'] = 'DeleteCollege';
switch ($Parms['function']) {
case 'InsertCollege': {
$Response = College::InsertCollege($Parms);
break;
}
case 'GetCollegeById': {
$Response = College::GetCollegeById($Parms['Id']);
break;
}
case 'GetAllCollege': {
$Response = College::GetAllCollege();
break;
}
case 'UpdateCollege': {
$Response = College::UpdateCollege($Parms);
break;
}
case 'DeleteCollege': {
College::DeleteCollege($Parms['Id']);
$Response = array('status' => 'R');
break;
}
}
echo json_encode($Response);
?>
언급URL : https://stackoverflow.com/questions/1611709/php-error-function-name-must-be-a-string
'programing' 카테고리의 다른 글
| 텍스트를 CSS로 대체하려면 어떻게 해야 합니까? (0) | 2023.07.29 |
|---|---|
| 인수를 위한 밑줄이 있는 파이썬의 람다? (0) | 2023.07.29 |
| 대소문자를 구분하지 않는 셸 스크립트의 문자열 비교 (0) | 2023.07.29 |
| 도커 실행 대 생성 (0) | 2023.07.29 |
| MySQL 구문:이게 뭐야? (0) | 2023.07.29 |