Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么每次加载网站时都要运行我的PHP代码?_Php_Mysql - Fatal编程技术网

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

为什么每次加载网站时都要运行我的PHP代码?,php,mysql,Php,Mysql,我有一个userregistration.php页面,由于某种原因,每次重新加载页面时,都会将空用户名/密码添加到我的MYSQL数据库中。这就好像在按下submit按钮之前正在运行脚本一样。代码如下: <?php include("dbconnect.php"); $firstname=$_POST["firstname"]; $lastname=$_POST["lastname"]; $email=$_POST["email"]; $username=$_POST["usern

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

<?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()语句中,该语句检查$\u 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";
}

只需删除action=“RegisterUser.php”并编写if(isset($_POST['submit']){在db文件之后并在echo语句之后关闭}我确实尝试过这一点,但当我这样做时,它似乎根本没有运行php代码。您需要理解php背后的基本逻辑,php每次调用都会运行,这意味着,如果你有一个包含php代码的站点,它将被执行,以避免无意的插入。例如,你必须检查你是否真的想进行数据库插入,这是SunilPachlangia提到的一种方法,并检查你的表单是否已提交。完美,现在一切都解决了。谢谢你的精彩!非常感谢,我实际上有这个代码,但是我用了“提交”而不是“提交”。完美的是的,它必须和你在表格中为它定义的名字匹配。