试图制作一个简单的表单来向数据库发送电子邮件。php新手。isset不会触发,所以我猜帖子没有发布?!这是我试过的。我已经尝试过获取/发布要求等。谢谢你的帮助。
<form class='form-horizontal' action='includes/news-letter.php' method='POST'>
<div class='form-group'>
<div class='col-xs-8 col-xs-offset-2'>
<label for='' class='control-label'>Email</label>
<input type='text' class='form-control input-newsletter' name='newsletterEmail' id='inputPassword' placeholder='someone@somwhere.com'>
</div>
</div>
<div class='form-group'>
<div class='col-xs-6 col-xs-offset-4'>
<button type='submit' class='btn btn-default btn-newsletter' name='newsletterEmail'>Get News Letter</button>
</div>
</div>
</form>
<?php
require_once("dbConnection.php");
news_letter();
function news_letter(){
// if(isset($_POST["newsletterEmail"]))
if (isset($_POST["newsletterEmail"]) && !empty($_POST["newsletterEmail"])){
// print_r($_POST);
echo "IS SET";
$newsletterEmail = $_POST['newsletterEmail'];
echo $newsletterEmail;
if ($newsletterEmail==''){
echo "<h6 class='alert alert-danger'>Please fill in field.</h6><br>";
}else{
$query = "INSERT INTO newsletterEmail ";
$query .= "(newsletterEmail)";
$query .= "VALUES (:newsletterEmail)";
$ps = $db->prepare($query);
$ps->execute(array(
"newsletterEmail" => $newsletterEmail,
));
}
}
};
?>
您的提交按钮与您的文本字段同名,这就是它不起作用的原因。
你不必检查"isset"answers"!empty"(不为空)事实上,如果设置了值,它就不为空,所以只需这样做:
if(!empty($_POST["newsletterEmail"])){
echo "IS SET";
}