2011-01-25 5 views
0

그물에 대한 내 질문에 대한 답변을 찾고 있었지만, 그것은 꽤 간단하더라도, 하나 찾을 수없는 것 같습니다.Joomla 모듈 제출 양식 데이터베이스를 액세스 할 수 없습니다

사용자에게 뉴스 레터에 가입하는 joomla 모듈이 있습니다. 제출 버튼을 클릭하면 submitsignup.php 파일로 이동합니다. 나는이 지금과 같은 형태의 액션 값을 사용하여 수행합니다

form action="modules/mod_cmsnewslettersignup/otherfiles/submitsignup.php" method="post" id="subForm" 

을이 submitsignup.php 파일 내에서 내가 어떤 줌라 클래스에 액세스 할 수 없습니다, 같은 :

$db = JFactory::getDBO(); 

내가 아는 내가 액세스 할 수 없음을 모든 joomla 클래스는 submitsignup.php 파일에 직접 액세스했기 때문에 모든 Joomla 클래스에 액세스 할 수 있도록이 파일에 어떻게 액세스합니까?
감사합니다.

+0

그렇게하는 것이 바람직하지 않습니다. 더미 URL에 양식을 제출하고이 더미 URL에서 작동하는 플러그인을 만들어야합니다. – Gaurav

답변

0

양식을 제출할 때 페이지를 다시로드하는 경우 직접 URL을 사용하고 Joomla 프레임 워크를 해당 파일에로드해야하는 문제를 해결하는 간단한 해결책이 있습니다. 기본적으로 모듈 코드를 다음과 같이 변경하십시오. -

if ($_POST["formsubmitted"]){ 
    the code you run when the form is submitted 
    echo success or failure message 
} else { 
the code you run to display the form 
    <form action="<?php echo JURI::current(); ?>" method="post"> 
    <input type="hidden" value="true" name="formsubmitted"> 
} 

기본적으로 양식을 표시하는 페이지로 양식을 제출하십시오. 그런 다음 모듈에서 제출 된 양식을 처리하거나 $ _POST에서 찾은 항목에 따라 양식을 표시하는 후크를 추가합니다. 간단한 보안을 추가하여 사이트에서 양식이 제출되고 있는지 확인할 수 있습니다.

+0

고마워, 문제가 해결되었습니다. 고맙습니다. – Nathan

관련 문제