【发布时间】:2014-02-16 07:50:15
【问题描述】:
我是 php 的新手,所以请原谅我的代码。我有一个基本的表单提交,它在我的桌面浏览器上运行良好(还没有尝试过 IE ......),但在我的 iPhone 上不起作用。它似乎在它可以做任何事情之前重新加载页面。该页面只是重新加载,并且没有任何内容添加到数据库中。此外,PDF 附件也不显示。
任何帮助将不胜感激。
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<input id="ctaemail" class="ctaemail" type="text" name="email">
<input type="submit" name="Download" value="Download" class="ctabutton" >
<?php
$con=mysqli_connect("localhost","usr","pass","db");
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
if($_SERVER['REQUEST_METHOD'] == "POST"){
if (filter_var($_POST[email], FILTER_VALIDATE_EMAIL)){
$sql="INSERT INTO email_addresses (email) VALUES ('$_POST[email]')";
header('Content-type: application/pdf');
header('Content-disposition: attachment; filename=Carestream_Handout_Jan_2014.pdf');
readfile("Carestream_Handout_Jan_2014.pdf");
} else {
echo "That is not a valid email address. ";
}
if (mysqli_query($con,$sql)){
echo " Sucess! ";
} elseif (!mysqli_query($con,$sql)){
die('Error: ' . mysqli_error($con));
}
}
mysqli_close($con);
?>
</form>
【问题讨论】:
-
为什么将所有带数据库的脚本设置为
-
不要使用表单概念,它只接受网络