2012-07-27 5 views
0

제출하려면 리디렉션 기능을 사용하여 이름/전자 메일 양식을 작성했습니다. 유일한 문제는 리디렉션 페이지가로드 될 때 양식의 맨 위에 입력 (이름 및 전자 메일)이 표시된다는 것입니다.리디렉션 인쇄 기능이있는 PHP 양식

누구나 내가 어디에서 실수했는지 알 수 있습니까?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<link href="style.css" rel="stylesheet" type="text/css" /> 
<script src="http://code.jquery.com/jquery-latest.js"></script> 
<script type="text/javascript"> 
function submitForm() { 
     var form = document.forms[0]; 
     if (form.name.value == '') { alert("Name?"); return; } 
     if (form.email.value == '') { alert("Email?"); return; } 

     apos = form.email.value.indexOf("@"); 
     dotpos = form.email.value.lastIndexOf("."); 
     if (apos < 1 || dotpos - apos < 2) { alert("Correct email?"); return; } 

     form.submit(); 
    } 
</script> 
<script src="fancybox/jquery.fancybox-1.3.1.pack.js" type="text/javascript"></script> 
<link rel="stylesheet" href="fancybox/jquery.fancybox-1.3.1.css" type="text/css" media="screen"/> 

<script type="text/javascript"> 
function PopIt() { 
    $("a#trigger").trigger('click'); 
    window.onbeforeunload = UnPopIt; 
    return "Dont go."; 
} 

function UnPopIt() { /* nothing to return */ } 

$(document).ready(function() { 
    window.onbeforeunload = PopIt; 

    $("a#trigger").fancybox({ 
     'hideOnContentClick': false, 
     'showCloseButton': false 
    }); 

    $("a[id!=trigger]").click(function(){ window.onbeforeunload = UnPopIt; }); 
}); 
</script> 

</head> 
<body> 

<div style="display: none;"> 
<a id="trigger" href="#popup">&nbsp;</a> 
<div id="popup"> 
<div style="background-color:#ff3300;"> 
<form method="post" action="page2.php" name="popups" id="popups"> 
     <fieldset> 
     <label for=name><span class="required">*</span> Name</label> 
     <br /> 
     <input name="name" type="text" id="name" size="30" value="" /> 
     <br /> 
     <label for=email><span class="required">*</span> Email</label> 
     <br /> 
     <input name="email" type="text" id="email" size="30" value="" /> 
     <br /> 
     <input type="button" value="Submit" class="btn" onclick="submitForm();">    
     </fieldset> 
     <br /> 
</form> 
</div>   
</div> 
</div> 

<div id="content">Fa la la la la</div> 
</div> 
</body> 
</html> 

및 방문자가 데이터를 입력 할 때 (팝업 창에서 종료 트리거), 형태가 여기에 리디렉션 제출 버튼을 타격 후;

<? 
if($_POST['name']!="" and $_POST['email']!=""){ 

$headers = "From: Acme"; 
$message = 
strtoupper($_POST['name'])." 
".strtoupper($_POST['email'])." 
"; 
echo str_replace("\n","<br />", $message); 
$headers2 = "From: Acme <[email protected]>\nContent-Type: text/plain; charset=UTF-8;    format=flowed\nMIME-Version: 1.0\nContent-Transfer-Encoding: 8bit\nX-Mailer: PHP\n"; 
$message2 = " 
Hello ".($_POST['name'])." 

"; 

mail("[email protected]", "Freebies", $message, $headers);   
mail("$_POST[email]", "Gesundheit!", $message2, $headers2); 

$myFile = "free.txt"; 
$fh = fopen($myFile, 'a') or die("can't open file"); 
$stringData = "$_POST[name]*$_POST[email]*".$_SERVER['REMOTE_ADDR']."*".date("d-m-Y  H:i")." 
"; 
fwrite($fh, $stringData); 
fclose($fh); 

} 
?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<link href="style.css" rel="stylesheet" type="text/css" /> 
<script src="http://code.jquery.com/jquery-latest.js"></script> 
<script> 
$(document).ready(function(){ 
setTimeout(function(){ 
$("div#md").fadeIn("slow", function() { 
}); 

}, 1000); 
}); 
</script> 
</head> 
<body> 
<div id="top"><a href="index.html"><img src="top.png" /></a></div> 
<div id="wrapper" style="height:900px;"> 
<div id="content">Whoo-eee</div> 
</div> 
</body> 
</html> 

하지만 어떻게, 왜이 page2.php의 상단에 표시된 형태의 정보 (이름과 이메일)가 표시 해달라고 ...

+0

때문에 "echo str_replace ("\ n ","
", $ message);" ? – FatalError

+0

지금 작동하면 팁과 도움을 주신 덕분에 – TommyBs

답변

0
echo str_replace("\n","<br />", $message); 

주석으로 생 구성되어 메시지를 반향되도록 s2 줄에

+1

고마워요, 지금 작동합니다 :) – TM23

0

이 라인을 가지고

echo str_replace("\n","<br />", $message); 
2 페이지의 상단에

, 당신은 이름과 이메일

+0

답을 받아 들여야합니다. – TM23