Php ajax表单警报(jQuery)
我对ajaxform有问题。 我有一个名为captcha.php的php文件,它会生成一个验证码:Php ajax表单警报(jQuery),php,jquery,ajax,forms,joomla,Php,Jquery,Ajax,Forms,Joomla,我对ajaxform有问题。 我有一个名为captcha.php的php文件,它会生成一个验证码: <?php session_start(); $random_number = rand(1,9).rand(1,9).rand(1,9).rand(1,9).rand(1,9).rand(1,9); $_SESSION['captcha_text'] = $random_number; $captcha_image = imagecreatefromjpeg("captcha.jpg
<?php
session_start();
$random_number = rand(1,9).rand(1,9).rand(1,9).rand(1,9).rand(1,9).rand(1,9);
$_SESSION['captcha_text'] = $random_number;
$captcha_image = imagecreatefromjpeg("captcha.jpg");
$font_color = imagecolorallocate($captcha_image, 0, 0, 0);
imagestring($captcha_image, 5, 20, 5, $random_number, $font_color);
imagejpeg($captcha_image);
imagedestroy($captcha_image);
?>
我有另一个名为pro.php的php文件,它在action表单上执行,并发送一封包含表单数据的电子邮件:
<?php
session_start();
@extract($_POST);
$sub = "Curriculum di: ".stripslashes($name);
$message = stripslashes($messaggio);
$fromail = stripslashes($email);
$attachment = chunk_split(base64_encode(file_get_contents($_FILES['file']['tmp_name'])));
$filename = $_FILES['file']['name'];
$boundary =md5(date('r', time()));
$headers = "From: ".$fromail;
$headers .= "\r\nMIME-Version: 1.0\r\nContent-Type: multipart/mixed; boundary=\"_1_$boundary\"";
$message="This is a multi-part message in MIME format.
--_1_$boundary
Content-Type: multipart/alternative; boundary=\"_2_$boundary\"
--_2_$boundary
Content-Type: text/plain; charset=\"iso-8859-1\"
Content-Transfer-Encoding: 7bit
$message
--_2_$boundary--
--_1_$boundary
Content-Type: application/octet-stream; name=\"$filename\"
Content-Transfer-Encoding: base64
Content-Disposition: attachment
$attachment
--_1_$boundary--";
if(isset($_POST['txtCaptcha']) and $_POST['txtCaptcha'] !='')
if($_SESSION['captcha_text'] == $_POST['txtCaptcha'])
mail('myemail@myemail.it', $sub, $message, $headers);
?>
现在,我想显示电子邮件是否正确发送的警报:
<script>
$(document).ready(function() {
$('#myFormId').ajaxForm(function() {
//Instructions to enter
});
});
</script>
$(文档).ready(函数(){
$('#myFormId').ajaxForm(函数(){
//进入指示
});
});
解决办法是什么?(很抱歉我的英语不好)您必须呼叫成功参数:
$("your-form").ajaxForm({
success: function(res, status, xhr, form) {
// ... call the alert
}
});
很好的编码。首先:如果(设置($\u POST['txtCaptcha'])和$\u POST['txtCaptcha']!='')如果($\u会话['captcha\u text']==$\u POST['txtCaptcha'])回送邮件('myemail@myemail.it“,$sub,$message,$headers);?>然后使用jquery中的$.ajax,但在我的例子中,无论验证码是否正确,都会发送表单;验证码检查是在pro.php文件中完成的,因此您的代码不会总是激活警报?因为表单总是被发送的。如果你回显邮件()函数。ajax将使用mail()值以res表示。(1)如已发送,则。。只需询问res是否为==1,则邮件已发送,如果电子邮件未发送,则为0