我试图弄清楚如何从现有的订阅表单中修改脚本:
HTML
<form method="post" action="subscribe.php">
<input type="text" name="email"/>
<input type="submit" value="Submit" class="submit-btn">
<input type="hidden" name="success" value="test-success.html">
<input type="hidden" name="error" value="test-error.html">
</form>
PHP
if (preg_match('/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/', $email))
{
if ($result && !empty($successUrl))
{
header( "Location: $successUrl") ;
}
else if (!empty($errorUrl))
{
header( "Location: $errorUrl") ;
}
else
{
echo 'Error';
}
}
else if (!empty($errorUrl))
{
header( "Location: $errorUrl") ;
}
else
{
echo 'Error';
}
exit();
}
?>
我想通过弹出窗口显示消息,而不是重定向到成功/错误页面。
我使用的弹出窗口是Magnific Popup。
http://dimsemenov.com/plugins/magnific-popup/documentation.html
我尝试编辑输入类型和值的值。添加弹出链接,但它不会工作。 我也不擅长PHP脚本,我可以知道应该如何使它工作吗?
答案 0 :(得分:0)
您可以使用原生Javascript警告框来显示弹出窗口
else if (!empty($errorUrl))
{
echo "<script>alert('Error !');</script>";
echo "<script>window.location.href=$errorUrl</script>";
}
答案 1 :(得分:0)
您当前的设置将HTML网站重定向到PHP脚本,然后验证数据。 PHP脚本是服务器端的,无法显示弹出窗口。
您应该重新格式化表单,以便它使用AJAX并在后台发布表单,然后在成功时显示弹出窗口。例如,您可以使用jQuery执行此操作,有关如何执行此操作的详细信息,请参阅jQuery Ajax POST example with PHP。