为什么每次加载网站时我的PHP代码都在运行


Why is my PHP code being run every time the website is loaded?

我有一个userregistration.php页面,由于某种原因,每次重新加载页面时都会将NULL用户名/密码添加到我的MYSQL数据库中。这就好像在按下提交按钮之前运行了脚本。下面是代码:

<?php 
include("dbconnect.php"); 

$firstname=$_POST["firstname"];
$lastname=$_POST["lastname"];
$email=$_POST["email"];
$username=$_POST["username"];
$password=$_POST["password"];
  $personcon=$conn;

  $bbsSQL = "INSERT INTO TBLUSERS (FIRSTNAME, LASTNAME, EMAIL, USERNAME, PASSWORD) VALUES ('$firstname', '$lastname', '$email', '$username', '$password')"; 
  $personinfo=oci_parse($personcon,$bbsSQL); 
  oci_execute($personinfo); 

  oci_free_statement($personinfo);
  oci_close($personcon);
 echo "Thank you for registration";
?>

<html>
<head>
<title>Register</title>
</head>
<body>
<form name="myForm" action="RegisterUser.php" method="POST" onsubmit="return validate()">
<table>
<tr>
<td align="right">First name:</td>
<td align="left"><input type="text" name="firstname" /></td>
</tr>
<tr>
<td align="right">Last name:</td>
<td align="left"><input type="text" name="lastname" /></td>
</tr>
<tr>
<td align="right">Email:</td>
<td align="left"><input type="text" name="email" /></td>
</tr>
<tr>
<td align="right">User name:</td>
<td align="left"><input type="text" name="username" /></td>
</tr>
<tr>
<td align="right">Password:</td>
<td align="left"><input type="password" name="password" /></td>
</tr>
</table>
<input type="submit" name="Submit"/>
<input type="reset" name="Reset"/></form>
</body>
</html>
有谁能帮我解决这个问题吗?显然,我只希望在按下"提交"按钮时创建一个新用户。谢谢!

将创建帐户的代码包装在if()语句中,该语句检查$_POST中是否有内容。像这样:

if ( isset($_POST['Submit']) ) {
    $firstname=$_POST["firstname"];
    $lastname=$_POST["lastname"];
    $email=$_POST["email"];
    $username=$_POST["username"];
    $password=$_POST["password"];        
    $personcon=$conn;    

    $bbsSQL = "INSERT INTO TBLUSERS (FIRSTNAME, LASTNAME, EMAIL, USERNAME, PASSWORD) VALUES ('$firstname', '$lastname', '$email', '$username', '$password')";         
    $personinfo=oci_parse($personcon,$bbsSQL); 
    oci_execute($personinfo);     

    oci_free_statement($personinfo);
    oci_close($personcon);        
    echo "Thank you for registration";
}