2009-12-20 4 views
0

PHP와 MySQL 기반의 프레임 워크와 CMS를 구축 중이며 한 컨트롤러에있는 폼의 post 메서드를 사용하여 다른 컨트롤러로 변수를 전달하는 일에 푹 빠져 있습니다. 좀 더 정확히 말하자면, 언어 변경을위한 양식을 만들었습니다. 이 양식은 localhost/index/index에 있으며 언어를 선택하면 http://localhost/application/change_language으로 이동합니다. 여기서 change_language는 응용 프로그램 클래스의 공용 함수입니다. 문제는 해당 폼의 $ _POST 변수가 change_language 함수로 전달되지 않는다는 것입니다. 나는이 함수에서 전체 $ _POST 트리를 var_dump-ed했다. 배열 (0) {} 만 있으면된다. 내가 뭘 잘못하고있는거야, 왜이게 효과가없는거야? 내 영어로 미안해. 건배

+1

일부 코드는 유용 할 수 있습니다. –

+0

일부 코드를 입력하십시오. 그 외에도 전달할 수있는 POST를 캡슐화하는 Request 객체로 작업하고 싶을 수도 있습니다. – Gordon

+0

확실히 코드를 게시하십시오. –

답변

0

데이터를 전송할 때 세션을 사용할 수있는 것처럼 들립니다. CodeIgniter 및 게시 데이터로이 문제가 발생했습니다. 게시물 데이터와 세션을 만들었고 챔피언처럼 일했습니다.

+0

정말 나쁜 제안처럼 들립니다. – troelskn

0

다양한 문제가있을 수 있습니다. 여기에 몇 가지 코드를 게시하는 것이 가장 좋으므로 맹목적으로 잘못되었다고 추측하는 대신 잘못 된 것을 살펴볼 수 있습니다.

비록 처음에는 모양 값을 change_language 함수에 제대로 게시하지 않은 것처럼 들리지만. 양식이 제대로 구성되었는지 확인하십시오. this을보고 싶을 수도 있습니다.

0

MVC의 관점에서 양식은 컨트롤러가 아닌보기 내부에 있어야합니다. 과정에 your_controller 컨트롤러에 대한

이제
<form name="myform" method="post" action="index.php/your_controller"> 
.... more stuff here 
</from> 

당신 코드 : 그래서 난 형태로 요청 이런 일을 처리하는 컨트롤러 폼의 action 속성을 뷰 내부의 양식을 넣고 지정할 제안 양식 요청 :

class your_controller extends whateverparentcontroller 
{ 
    print '<pre>'; 
    print_r($_POST); 
}