내 바닥 글 웹 사이트에서 뉴스 레터 구독 양식을 만들었습니다. 이에 대한 코드는 다음과 같습니다유효성 검사가 완료되면 모달 창을 표시하는 방법은 무엇입니까?
<h4>Newsletter Subscribe:</h4>
<form method="POST" action="<?php URL::show("Newsletter", "create") ?>">
<div class="col-md-12">
<div class="input-group">
<input type="text" class="form-control" name="subscriber" placeholder="[email protected]">
<input type="submit" class="btn btn-primary" value="Subscribe">
</div>
</div>
</form>
때 나는 다음과 같다 NewsletterController에서 createAction 메소드를 호출합니다 제출 버튼을 클릭 : 이제
public function createAction(){
if($_SERVER["REQUEST_METHOD"] == "POST"){
$validation = true;
$error = "";
if(trim($_POST["subscriber"]) == ""){
$validation = false;
$error = "The field 'subscriber' is required!";
}
if(trim($_POST["subscriber"]) != ""){
if(!preg_match('/^([a-z0-9]+([_\.\-]{1}[a-z0-9]+)*){1}([@]){1}([a-z0-9]+([_\-]{1}[a-z0-9]+)*)+(([\.]{1}[a-z]{2,6}){0,3}){1}$/i', $_POST["subscriber"])){
$validation = false;
$error = "The field 'subscriber' must contain a valid input!";
}
}
if($validation){
$checkSubscriber = $this->newsletterRepository->checkSubscriber($_POST["subscriber"]);
if(!$checkSubscriber){
$newsletter = new Newsletter();
$newsletter->setEmail($_POST["subscriber"]);
$result = $this->newsletterRepository->insert($newsletter);
if(!$result){
$error = "There was an error in the newsletter
}
}else{
$error = "The e-mail already registered for newsletter!";
}
}
}else{
URL::redirect("Restaurants", "listAll");
}
}
을, 나는 모든 검증을 제작하고를 삽입 한 후 데이터베이스에있는 데이터, 다른 웹 페이지로 이동하고 싶지 않은 경우, 오류가있는 경우 모두 확인 또는 오류 메시지 인 경우 확인 메시지가 표시된 팝업을 표시하려고합니다. 이런 식으로 뭔가 :
<div class="modal fade bd-example-modal-lg" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Newsletter Subscription</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<div class="container-fluid">
<?php if($result): ?>
<p style="color:green">Newsletter subscription successfuly!</p>
<?php elseif($error): ?>
<p style="color:red"><?php echo $error; ?></p>
<?php endif; ?>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
하지만 모든 작업 및 검증을 완료 한 후 모달를 실행하는 방법을 모르겠어요. 아무도 도와 줄 수 있습니까?
가장 좋은 해결책은 자바 스크립트로 수행하는 것이지만 자바 스크립트로 양식을 보내려면 어쨌든 코드에서 너무 많이 변경하지 않고 동일한 페이지를 다시로드 할 수 있고 두 번째로 다시로드 할 수 있습니다. 양식 대신 메시지 부분을 렌더링해야합니다. – Sheki
레코드가 테이블에 삽입 될 때 알림 메시지가 표시됩니까? –
모달을 표시하는 방법을 묻는 질문 : 테이블에 데이터를 삽입하는 방법이 아니라 – Ciprian