我正在尝试使用php检查表单变量,如果所有内容都检出,则向用户显示存储在我的服务器上的pdf文档与我的php文件位于同一目录中。代码我正在使用的工作意味着它将在用户计算机上下载pdf但不会自动显示它。我想这样做,如果我的验证通过,用户被重定向到pdf文档。如果我的验证失败,则会向用户显示错误消息。
我甚至尝试使用jQuery发布表单数据,希望它能将pdf返回给用户,但这不起作用。
有谁知道如何实现我想要的东西?
我的HTML:
<form name="mileage" action="test.php" method="post">
<button type="button">Mileage Reimbursement Log</button>
Email Address: <input type="text" name="email" id="email"/><br>
<input type="submit" value="Login" title="login"/>
</form>
我的PHP:
<?php
$myEmail = $_POST['email'];
if($myEmail == "test"){
header('Content-type: application/pdf');
header("Content-disposition: attachment; filename=Mileage-Reimbursement-Log.pdf");
readfile("Mileage-Reimbursement-Log.pdf");
}else{
echo "sorry";
}
?>
我试过的jQuery:
$('form').submit(function() {
if($('#email').val() != ''){
$.post('test.php', $("form[name=mileage]").serialize(), function(data) {
}).error(function(){
alert("Error submiting the form");
});
}else{
alert("No Email Address");
return false;
}
});
答案 0 :(得分:1)
Don不需要JQuery代码。通过内联替换附件
header('Content-type: application/pdf');
header("Content-disposition: inline; filename=Mileage-Reimbursement-Log.pdf"); // Change attachement by inline
readfile("Mileage-Reimbursement-Log.pdf");