[CodeIgniter] 클래스를 사용하여 양식의 값을 자동으로 가져옵니다.
13551 단어 PHPCodeIgniter
선언되지 않은 속성 사용
샘플 클래스 정의
libraries 폴더에 다음 구조기만 있는 클래스를 정의합니다.class Dummy
{
public function __construct($config = array())
{
}
}
시용반
위의 클래스를 실례화하고 적당한 속성 값을 설정한 다음 브라우저에서 확인하십시오.function sample_out()
{
$_form = new Dummy();
$_form->id = 12345;
echo '$_form->id = '.$_form->id.'<br/>';
}
대입 시 오류가 발생하지 않으며 브라우저도 다음과 같이 출력됩니다.
"APHP Error was encountered"가 표시될 때까지 이전 기능에서 선언되지 않고 대입되지 않은 값의 속성을 출력하도록 수정되었습니다.function sample_out()
{
$_form = new Dummy();
$_form->id = 12345;
echo '$_form->id = '.$_form->id.'<br/>';
echo '$_form->name = '.$_form->name.'<br/>';
}
클래스를 사용하여 창 값 얻기
양식 준비
다음 형식을 준비합니다.
sample_form.php<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>サンプルフォーム</title>
</head>
<body>
<div id="container">
<form name="f" id="f" method="post" action="">
TEXT_1 : <input type="text" name="_text_1" id="_text_1" value="" /><br/>
TEXT_2 : <input type="text" name="_text_2" id="_text_2" value="" /><br/>
TEXT_3 : <input type="text" name="_text_3" id="_text_3" value="" /><br/>
<br/>
<input type="submit" value="送信" /><br/>
</form>
</div>
</body>
</html>
컨트롤러에 표시
디렉터에 위의 뷰를 표시합니다.function sample_out()
{
$this->load->view("sample_form");
}
준비반
창이 표시되었기 때문에 창을 처리하는 클래스를 만들고 이전 클래스에서 실례화합니다.
SampleForm.phpclass SampleForm
{
protected $_CI;
public function __construct($config = array())
{
$this->_CI =& get_instance();
$this->set_post();
}
public function set_post()
{
$post_param = $this->_CI->input->post();
if($post_param && count($post_param) > 0)
{
foreach($post_param as $key => $value)
{
$this->{$key} = $value;
}
}
return $this;
}
}
방금 기능 수정.동시에 화면 출력 창의 세 변수를 출력합니다.function sample_out()
{
class_exists('SampleForm') OR require APPPATH.'libraries/SampleForm.php';
$_form = new SampleForm();
if(isset($_form->_text_1)) echo $_form->_text_1.'<br/>';
if(isset($_form->_text_2)) echo $_form->_text_2.'<br/>';
if(isset($_form->_text_3)) echo $_form->_text_3.'<br/>';
$this->load->view("sample_form");
}
창 보내기
초기 디스플레이에서 이전과 같기 때문에 항목에 값을 입력한 후 발송 단추를 누르십시오.
양식 전송 결과
발송 후 속성을 볼 수 있기 때문에 다음과 같은 내용을 표시합니다(위 세 줄의 창 값 획득).
최후
창 변수 속성을 미리 설명하지 않고 창 값을 얻을 수 있습니다.이 종류의 대상으로view의 변수를 바꾸면 초기 디스플레이와 오류 시 다시 표시하는 등은 간단할 수 있습니다. (다음 방법을 준비해야 할 수도 있습니다.)public function getValue($_key)
{
return isset($this->{$_key}) ? $this->{$_key} : '';
}
Reference
이 문제에 관하여([CodeIgniter] 클래스를 사용하여 양식의 값을 자동으로 가져옵니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hyperdb/items/fa40faa6db3f7e51c3c2
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
class Dummy
{
public function __construct($config = array())
{
}
}
function sample_out()
{
$_form = new Dummy();
$_form->id = 12345;
echo '$_form->id = '.$_form->id.'<br/>';
}
function sample_out()
{
$_form = new Dummy();
$_form->id = 12345;
echo '$_form->id = '.$_form->id.'<br/>';
echo '$_form->name = '.$_form->name.'<br/>';
}
양식 준비
다음 형식을 준비합니다.
sample_form.php
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>サンプルフォーム</title>
</head>
<body>
<div id="container">
<form name="f" id="f" method="post" action="">
TEXT_1 : <input type="text" name="_text_1" id="_text_1" value="" /><br/>
TEXT_2 : <input type="text" name="_text_2" id="_text_2" value="" /><br/>
TEXT_3 : <input type="text" name="_text_3" id="_text_3" value="" /><br/>
<br/>
<input type="submit" value="送信" /><br/>
</form>
</div>
</body>
</html>
컨트롤러에 표시
디렉터에 위의 뷰를 표시합니다.
function sample_out()
{
$this->load->view("sample_form");
}
준비반
창이 표시되었기 때문에 창을 처리하는 클래스를 만들고 이전 클래스에서 실례화합니다.
SampleForm.php
class SampleForm
{
protected $_CI;
public function __construct($config = array())
{
$this->_CI =& get_instance();
$this->set_post();
}
public function set_post()
{
$post_param = $this->_CI->input->post();
if($post_param && count($post_param) > 0)
{
foreach($post_param as $key => $value)
{
$this->{$key} = $value;
}
}
return $this;
}
}
방금 기능 수정.동시에 화면 출력 창의 세 변수를 출력합니다.function sample_out()
{
class_exists('SampleForm') OR require APPPATH.'libraries/SampleForm.php';
$_form = new SampleForm();
if(isset($_form->_text_1)) echo $_form->_text_1.'<br/>';
if(isset($_form->_text_2)) echo $_form->_text_2.'<br/>';
if(isset($_form->_text_3)) echo $_form->_text_3.'<br/>';
$this->load->view("sample_form");
}
창 보내기
초기 디스플레이에서 이전과 같기 때문에 항목에 값을 입력한 후 발송 단추를 누르십시오.
양식 전송 결과
발송 후 속성을 볼 수 있기 때문에 다음과 같은 내용을 표시합니다(위 세 줄의 창 값 획득).
최후
창 변수 속성을 미리 설명하지 않고 창 값을 얻을 수 있습니다.이 종류의 대상으로view의 변수를 바꾸면 초기 디스플레이와 오류 시 다시 표시하는 등은 간단할 수 있습니다. (다음 방법을 준비해야 할 수도 있습니다.)public function getValue($_key)
{
return isset($this->{$_key}) ? $this->{$_key} : '';
}
Reference
이 문제에 관하여([CodeIgniter] 클래스를 사용하여 양식의 값을 자동으로 가져옵니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hyperdb/items/fa40faa6db3f7e51c3c2
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
public function getValue($_key)
{
return isset($this->{$_key}) ? $this->{$_key} : '';
}
Reference
이 문제에 관하여([CodeIgniter] 클래스를 사용하여 양식의 값을 자동으로 가져옵니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hyperdb/items/fa40faa6db3f7e51c3c2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)