如何使用PHP停止通过页面刷新提交表单 [英] How to stop form submitting with page refresh using PHP
本文介绍了如何使用PHP停止通过页面刷新提交表单的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在从表单中发送一些值,但是问题是,当我刷新页面时,某些值会自动插入数据库中,并由我在隐藏字段中发送.我也想在产品注册到我们的网站时通过电子邮件将产品密钥发送给用户.是我的邮件功能正确吗?
代码在这里
i am sending some value from my form but the problem is that when i refresh the page some value automatically inserted in database which are send by me in hidden field. and i also want to send the product key by email on the user when it register to our site. is my mail function is right.
the code is here
<?php
include('header.php');
include('menu.php');
@$obj = new MyClass();
$name=$_REQUEST['name'];
$email=$_REQUEST['email'];
$phone=$_REQUEST['phone'];
$key=substr(number_format(time() * rand(),0,'',''),0,8);
$status='0';
$query = mysql_query("INSERT INTO `user` (`username`, `email`, `telephone`, `ProductKey`, `CreatedDate`,`ActiveStatus`) VALUES ('$name', '$email', '$phone', '$key',now(),'$status')");
//or die (mysql_error());
if($query)
{ $query1 = "SELECT * FROM `clearomizer` WHERE query.id='Sno'";
$db_query = mysql_query($query1);
$row = @mysql_fetch_array($db_query);
$name = $row['username'];
$key = $row['ProductKey'];
$username = $row['email'];
$to=$username;
$subject="Your Key For The product";
$msg="Dear $name,<br /><br />";
$msg.="Welcome to live.com. Your Activation Key Is $key. <br /><br />";
$msg.="Thank you once again for purchasing this product. If you have any issue with our service or have any questions, you can reach us by following methods.";
$msg.="<br /><br />Email: support@live.com <br /><br /><br/>";
$msg.="Happy to serve you<br/>Team Live ";
$headers= 'MIME-Version: 1.0' . "\r\n";
$headers.= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers.= "From:www.live.com\r\n";
mail($to,$subject,$msg,$headers);
}
else {
echo "thanks";
}
?>
<script type="text/javascript">
function validateForm()
{
var x=document.forms["myForm"]["name"].value;
if (x==null || x=="")
{
alert("Please Enter First Name");
return false;
}
var iChars = "abcdefghijklmnopqrstuvwxyz.ABCDEFGHIJKLMNOPQRSTUVWXYZ. ";
var x=document.forms["myForm"]["name"].value;
for (var i = 0; i < x.length; i++)
{
if (iChars.indexOf(x.charAt(i)) == -1)
{
alert("Enter Alpha Value In Name");
return false;
}
} var x=document.forms["myForm"]["email"].value;
var atpos=x.indexOf("@");
var dotpos=x.lastIndexOf(".");
if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length)
{
alert("Please Enter a valid e-mail address");
return false;
}
var x=document.forms["myForm"]["phone"].value;
if (x==null || x=="")
{
alert("Please Enter Contact Number");
return false;
}
var iChars = "0123456789.-";
var x=document.forms["myForm"]["phone"].value;
for (var i = 0; i < x.length; i++)
{
if (iChars.indexOf(x.charAt(i)) == -1)
{
alert("Please Enter Numeric value In Contact");
return false;
}}
}
</script>
<form name="myForm" onSubmit="return validateForm()" method="post">
<table width="280" border="1" cellspacing="1" cellpadding="1">
<tr>
<td width="128">Name</td>
<td width="145"><label for="name"></label>
<input type="text" name="name" id="name"></td>
</tr>
<tr>
<td>Email</td>
<td><label for="email"></label>
<input type="text" name="email" id="email"></td>
</tr>
<tr>
<td>Contact No</td>
<td><label for="phone"></label>
<input type="text" name="phone" id="phone"></td>
</tr>
<tr>
<td><input type="button" name="submit" id="submit" value="Submit"></td>
<td> </td>
</tr>
</table></form>
</div>
推荐答案
obj = 新 MyClass();
obj = new MyClass();
名称 =
name=
_REQUEST ['
_REQUEST['name'];
这篇关于如何使用PHP停止通过页面刷新提交表单的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文