특정 계정에 대한 새로운 담당자를 만들 수있는 양식을 입력 한 모달 팝업이 있습니다. 모달은 잘 작동하지만 양식은 훌륭하게 작동합니다. 버튼을 클릭하면 새 연락처가 만들어지기 전에 연락처 목록에 표시된 항목으로 돌아갑니다. 분명히 페이지를 새로 고치기 위해 F5를 눌렀습니다. 폼을 다시로드하고 싶은지 묻는 상자가 나타납니다. 예를 클릭하면 추가 된 연락처가 나에게 표시되지만 백그라운드에서 다른 연락처와 동일한 세부 정보가 추가되었습니다.페이지를 새로 고침하면 POST 동작이 다시로드됩니다.
어떻게 피할 수 있습니까? POST를 지우거나 연락처를 만들기 위해 사용하는 버튼이나 기능에 페이지 기능을 다시로드해야합니까? 거기 모달에서 양식 (내가 거기에 또한
$Client= new Client();
if($_POST['NewContact']) {
$Client->_newcontact = "BackEnd";
$Client->AddContact();
}
: 나는 코드를 사용 new_contact 페이지에서
Class Client
{
var $_newcontact;
...
public function AddContact()
{
switch($this->_newcontact)
{
case "BackEnd" :
$this->GetData_NewContact();
if($this->ValidateNewContact()==true)
{
if($this->AddNewContact($_GET['ClientID'])==true)
{
echo "New contact has been added";
}
else
{
echo "Contact hasn't been created";
}
}
}
}
}
:
이
는 내가 실행 해요 코드의 일부입니다 실제로 부트 스트랩 모달을 사용하고 있습니다.) 나는이 코드가 필요 없다고 생각한다.다음 버튼 코드 : 내가 추가 버튼을 클릭하고 나면, 데이터의 전체 유효성 검사 등 true로 설정되어 있는지 확인하고 싶은
<button type="submit" value="submit" name="NewContact" id="NewContact" class="btn btn-primary">Add</button>
, 그때가있는 페이지를 다시로드합니다 연락처 목록 및 추가 된 연락처를 표시합니다 (데이터베이스에서 가져 오는 루프가 있습니다).
어떻게하면됩니까?
POST-redirect-GET을 사용해야합니다. 그 후 새로 고침하면 GET이 새로 고침되어 프롬프트가 표시되지 않습니다. –