내가 난처한 상황에 빠진 오전 작동하지 :PHP는 정적 클래스 멤버는 다음 코드에 의해
<b><i>First name *</b></i> : <input type="text"
name='<?php Labels::$FIRSTNAMELABEL ?>' /><br />
이 '이름'필드 내 페이지에 양식에 여러 입력 중 하나입니다. 레이블 : $ FIRSTNAMELABEL은 클래스 정의에서 "FirstName"으로 설정됩니다. 폼이 나는 페이지 소스를 덤프 브라우저에 표시되고 여기 때 내가 무엇을 얻을
class Labels {
static public $FIRSTNAMELABEL = "FirstName";
// other static class members here for last name, phone #, etc.
}
: 여기
클래스 정의입니다<form action="AddPerson.php" method="post">
<b><i>First name *</b></i> : <input type="text"
name='' /><br />
당신은 그 이름을 알 = '' 비어 있습니다. 그것은 이어야합니다는 페이지 소스에 name = "FirstName"이라고 말합니다. 비워 둘 수 없습니다.
작은 따옴표, 큰 따옴표, 공백, PHP 블록 주위의 공백 및 PHP 블록 안의 Labels :: $ FIRSTNAMELABEL - 변경하지 않았습니다. 양식이 표시되고 페이지 소스를 덤프하면 항상 name = (공백)이됩니다. 양식이 제출 될 때 더 첫째 없습니다 - 왜
if(isset($_POST[Labels::$FIRSTNAMELABEL])
'는 isset'항상 false를 반환, 그래서 페이지 덤프를했고, 발견 :
나는 다음의 코드로이 발견 "이름"이라는 이름 필드는 전혀 없습니다.<?php
// this was successfully displaying a 'name=' field on the form set to the
// static class label called Labels::$FIRSTNAMELABEL -- ie. the 'name' field
// in the page source was name="FirstName"
function showAddContactForm()
{
$firstNameLabel = Labels::$FIRSTNAMELABEL;
// other field names not shown.....
echo <<<_END
<form action="AddContact.php" method="post">
<b><i>First name *</b></i> : <input type="text" name=$firstNameLabel /><br />
// other fields on the form not shown..
</form>
_END;
}
?>
하는 이유는 '이름 ='필드는 항상 빈 : 여기 내 히어 닥에서 양식의 일부 - 이것에 대해
재미있는 것은 내가 히어 닥 안에이 양식을했고 그것을 잘 작동한다?
+1 허용되었습니다. 감사합니다. 분명히 에코에 대해 배우고 있습니다. 이 코드를보고 오늘 오랫동안 물건을 시험해 보았습니다. 그리고 그것은 나에게 일어나지 않았습니다. 나는 heredoc에서 복사 한 코드가 잘 작동하고 있다고 생각합니다. "이전에 코드가 작동 했었습니다. 다른 뭔가가 있어야합니다. " 감사. – wantTheBest