我需要显示警报,说收到了你的消息,但这不起作用,所以请告诉我怎么做。是否有编码错误或我无法处理。如果有人帮我,我会很高兴。谢谢
<h4>Send Your Feedback Here.<p>
<form name ="register" action="contact.php" method="post" enctype="multipart/form-data">
Name<br>
<input type="text" name="name" size="30">
</p>
<p>
Email<br>
<input type="text" name="email" size="30"></p><p>
Message<br>
<textarea name="message" rows="5" cols="40"></textarea>
<p>
</p>
<p>
Security Check<br>
Sum of <?php $a = rand(0,9);
$b = rand(0,9);
echo $a . "+" . $b ;
$result = $a + $b ;
?> =
<input type="text" name="ver" /><input type="hidden" name="rval" value="<?php echo $result; ?>" />
<button type="button" onClick="validate()">Send</button>
</p>
</form>
<script type="text/javascript">
function validate()
{
var x = document.register.ver.value;
var y = document.register.rval.value;
var nameCheck = document.register.name.value,
emailCheck = document.register.email.value,
msgCheck = document.register.message.value;
var msg ="";
if(x!=y)
{
msg+= "Sorry!! Captcha Mismached."+"'n";
}
if(nameCheck=="")
{
msg+= "Dont you have a name????"+"'n";
}
if(emailCheck=="")
{
msg+= "Enter email... how am I supposed to contact you"+"'n";
}
if(msgCheck="")
{
msg+= "Dont you have any messages for me??"+"'n";
}
if(msg!="")
{
alert(msg);
}
else
{
<?php
//Get message data.
$name = $_POST['name'];
$message = $_POST['message'];
$email=$_POST['email'];
$ver = $_POST['ver'];
$rval = $_POST['rval'];
if($ver==$rval)
{
//Email it.
mail(
'example@example.com', //Where to send
"Contact form - $name", //Email subject
$message, //Message body
$email //email address
);
echo "<script type='"text/javascript'">alert('Thank you form is submitted');</script>";
}
else
{
echo "<script type='"text/javascript'">alert('Wrong captcha');</script>";
}
?>
}
}
您不能像那样混合使用JavaScript和PHP。在将页面提供给用户之前,将在serve上解析PHP。将其包含在JavaScriptelse
块中不会有任何效果,因为代码将在生成页面时运行。
您应该研究AJAX的使用。
<script type="text/javascript">
function thevalidate()
{
var x = document.register.ver.value;
var y = document.register.rval.value;
var nameCheck = document.register.name.value,
emailCheck = document.register.email.value,
msgCheck = document.register.message.value;
var msg ="";
if(x!=y) {
msg+= "Sorry!! Captcha Mismached."+"'n";
}
if(nameCheck=="") {
msg+= "Dont you have a name????"+"'n";
}
if(emailCheck=="") {
msg+= "Enter email... how am I supposed to contact you"+"'n";
}
if(msgCheck="") {
msg+= "Dont you have any messages for me??"+"'n";
}
if(msg!="") {
alert(msg);
} else {
<?php
//You need to process data here..
?>
}
}
</script>
<h4>Send Your Feedback Here.<p>
<form name ="register" action="php/process.php" method="post" enctype="multipart/form-data">
Name<br>
<input type="text" name="name" size="30">
</p>
<p>
Email<br>
<input type="text" name="email" size="30"></p><p>
Message<br>
<textarea name="message" rows="5" cols="40"></textarea>
<p>
</p>
<p>
Security Check<br>
Sum of <?php $a = rand(0,9);
$b = rand(0,9);
echo $a . "+" . $b ;
$result = $a + $b ;
?> =
<input type="text" name="ver" /><input type="hidden" name="rval" value="<?php echo $result; ?>" />
<button type="button" onClick="thevalidate()">Send</button>
</p>
</form>