如何使用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>&nbsp;</td>
  </tr>
</table></form>
</div>

obj = MyClass();
obj = new MyClass();


名称 =
name=


_REQUEST ['
_REQUEST['name'];