我有一个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";
}