2016-09-21 4 views
1

사용자가 양식을 제출 한 후 내 팝업/라이트 박스 창을 열어 둘 수있는 방법을 알아내는 데 어려움이 있습니다. 저는 PHP에서 완전한 초보자입니다. 지금은 방금 "감사합니다"라는 메시지가 표시됩니다.양식 제출 후 동일한 팝업 창 내에서 성공 메시지 표시

라이브로 보려면 http://druvocals.com/dv 으로 이동 한 다음 오른쪽 상단의 봉투 아이콘을 클릭하십시오.

기본적으로 사용자가 "보내기"를 클릭 한 다음 약간의 메시지를 보내고 "닫기"라고 표시된 버튼을 클릭하면 팝업 창이 나타나기를 원합니다. 홈페이지. 여기 양식에 대한 내 PHP 코드입니다.

<?php 

$EmailFrom = "DruVocals"; 
$EmailTo = "[email protected]"; 
$Subject = "DruVocals"; 
$Name = Trim(stripslashes($_POST['name'])); 
$Email = Trim(stripslashes($_POST['email'])); 
$Message = Trim(stripslashes($_POST['text'])); 

// validation 
$validationOK=true; 
if (!$validationOK) { 
    print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">"; 
    exit; 
} 

// prepare email body text 
$Body = ""; 
$Body .= "Name: "; 
$Body .= $Name; 
$Body .= "\n"; 
$Body .= "Email: "; 
$Body .= $Email; 
$Body .= "\n"; 
$Body .= "Message: "; 
$Body .= $Message; 
$Body .= "\n"; 

// send email 
$success = mail($EmailTo, $Subject, $Body, "From: <$EmailFrom>"); 

// redirect to success page 
if ($success){ 
    print "thanks"; 
} 
else{ 
    print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">"; 
} 
?> 

답변

-1

변수가있는 홈페이지로 리디렉션됩니다. 처럼 :

header('Location: http://druvocals.com/dv/?sended='.$success); 

그리고 홈페이지에

다음 "팝업"이후

<? if(isset($_GET['sended']) && $_GET['sended'] == true){ ?> 
Some html, like the email sender form popup, just with the message what you want. 
<?}?> 
+0

왜 내 대답에 -1이 들었습니까? 나는 그것을 얻지 않는다! 그것은 확실히 작동합니다! –

0

양식 브라우저를 제출 중시 실제 팝업 (즉, 별도의 브라우저 창/탭),없는 폼 액션 URL로 이동 .

일반적인 해결책은 실제 양식을 제출하지 않고 필요한 데이터를 수집하고 javascripts ajax 호출을 통해 서버로 전송하는 것입니다. 그렇게하면 최종 사용자가 보는 모든 것이 그대로 유지됩니다. ajax를 사용하여 서버로부터받은 응답에 따라 메시지, 오류 메시지, 닫기 버튼 및 기타 메시지를 표시 할 수 있습니다.

그리고이 모든 것이 PHP와는 거의 관련이 없습니다.

+0

이것은 나를 위해 약간 진보 된 것입니다 ... 저에게 당신이 저에게 이것을 연결하는 방법이 있습니까? –

+0

@RichardMartinez 매우 복잡하지는 않지만 코드 예제를 작성할 수는 있지만 사람들은 이미 다른 질문을 던지기도했습니다. 여기에 허용 된 답변을보십시오 http://stackoverflow.com/questions/16616250/form-submit-with-ajax-passing-form-data-to-php-without-page-refresh – Sejanus

관련 문제