如果电子邮件成功插入数据库,我想显示成功消息而不重定向。
我的形式:
<div class="row">
<div class="col-md-4 col-md-offset-4 col-sm6-6 col-sm-offset-3 ">
<form class="form-inline" role="form" method="post">
<div class="form-group">
<label class="sr-only" for="exampleInputEmail2">Email address</label>
<input name='email' id="email" type="email" class="form-control transparent" placeholder="Email">
</div>
<button type="submit" name='send' value='send' class="btn btn-danger btn-fill">Register</button>
</form>
</div>
</div>
我的php插入代码是这样的:
if(isset($_POST["send"])){
$email = $_POST['email'];
if (!filter_var($email, FILTER_VALIDATE_EMAIL) === false) {
$query = 'INSERT INTO subscriber(email) SELECT "'.$email.'"
FROM dual
WHERE NOT EXISTS (
SELECT * FROM subscriber
WHERE email="'.$email.'"
)';
$result = mysqli_query($dbc, $query) or die(mysqli_error($dbc));
}
}
我试过这样做,但它不工作
<?php
if (!$insert === FALSE) {
$response = __('Success');?>
<script>
jQuery(document).ready(function($) {
var response = '<?php echo $response; ?>';
$(".form-inline").html(response);
$('.form-inline').addClass('response').removeClass('form-inline');
});
</script>
<?php
$msg='';
if(isset($_POST["send"])){
$email = $_POST['email'];
if (!filter_var($email, FILTER_VALIDATE_EMAIL) === false) {
$query = 'INSERT INTO subscriber(email) SELECT "'.$email.'"
FROM dual
WHERE NOT EXISTS (
SELECT * FROM subscriber
WHERE email="'.$email.'"
)';
$result = mysqli_query($dbc, $query) or die(mysqli_error($dbc));
$msg="Email sent successfully";
}
}
?>
<div class="row">
<div class="col-md-4 col-md-offset-4 col-sm6-6 col-sm-offset-3 ">
<div class="label label-success"><?php if($msg!=''){echo $msg;} ?></div>
<form class="form-inline" role="form" method="post">
<div class="form-group">
<label class="sr-only"for="exampleInputEmail2">Email address</label>
<input name='email' id="email" type="email" class="form-control transparent" placeholder="Email">
</div>
<button type="submit" name='send' value='send' class="btn btn-danger btn-fill">Register</button>
</form>
</div>
</div>
使用简单的重定向到成功页面。问题到底在哪里?你可以这样写
if($inserted_into_db == true) {
header("Location: success.php");
} else {
header("Location: your-form.php");
}
然后处理错误
您可以检查您的查询是否成功运行,然后您可以只是回显消息以显示成功消息。
$result = mysqli_query($dbc, $query) or die(mysqli_error($dbc));
if($result)
{
echo "Email is succesfully inserted";
}