개발 Q&A

제목 ci4 form submit 404 - File Not Found
카테고리 PHP
글쓴이 세르피르 작성시각 2020/02/27 18:16:50
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 9707   RSS

안녕하세요..

CI4가 정식으로 출시되어 기쁘게 하나하나 기능을 익혀가고 있습니다.

그런데 3에서 변경된 부분이 많아 많이 해매고 있습니다.. 그래도 나름대로 재미를 느끼며 공부중입니다.

그런 form부분에서 완전 막혀 있습니다.

 

<?php echo form_open_multipart('/test/item');?>
   <label for="title">Title</label>
   <input type="input" name="title" /><br />

   <label for="body">Text</label>
   <textarea name="body"></textarea><br />
   <input type="submit" name="submit" value="submit" />
<?php echo form_close();?>

 

이렇게 하고 submit을 클릭하면..

404 - File Not Found

컨트롤러 또는 해당 메서드를 찾을 수 없습니다: App\Controllers\Test::item

메시지가 나옵니다.

그런데..

<form action="/test/item">

으로 하면 되네요.. ㅠㅡㅠ

Headers 를 보면 Referrer Policy:no-referrer-when-downgrade  나오는걸로 봐서...

CSRF 로인해 오류가 발생하는것 같은데 어떻케 해야 할지.. 간단한 예제라도 보고 싶은데.. 도움 부탁드립니다.

 

 다음글 코드이그나이터 3.x와 4.x 의 비교 자료가 있을까요... (1)
 이전글 웹서버와 파일서버를 분리 운용할 방법이 있을까요? (3)

댓글

한대승(불의회상) / 2020/02/28 09:09:35 / 추천 0
브라우져의 소스보기 기능을 사용하여 뷰로 출력되는 html이 어떻게 생성되는지 부터 살펴보세요.
세르피르 / 2020/02/28 09:56:06 / 추천 0
<form action="http://testlocal/index.php/test/item" enctype="multipart/form-data" method="post" accept-charset="utf-8">
<input type="hidden" name="csrf_test_ver_1" value="c29c29e735492b9c3c86db557daaa4da" /> <label for="title">Title</label>
<input type="input" name="title" /><br />
<label for="body">Text</label>
<textarea name="body"></textarea><br />
<input type="submit" name="submit" value="Create news item" />
</form>
 
위와같이 소스가 생성됩니다.

그러고보니 도메인 주소가 같이 나오는데 저 도메인 주소가 안나오도록 하려면 어떻케 해야하는지.. 

도움 도움 부탁드립니다.