PHP WordPress中isset()函数的问题

3
所有代码都写在同一页上。
 <form method="post" action = "http://mypage.lhosting.info/login/" >
    <p> Username: <input type="text" name = "username" /> </p><br>
    <p> Password: <input type="text" name = "password" /></p> <br>
    <input type="submit" name="submit" value="Register" />
 </form>

 if(isset($_POST['submit']) && !empty($_POST['submit'])) 
 {
   $username = mysqli_real_escape_string($conn, $_POST['username']);
   $password = mysqli_real_escape_string($conn, $_POST['password']);
   $sql = "INSERT INTO Duomenys (Username, Password) VALUES ('$username','$password')"; 
 }
if(isset($_POST['submit']) && !empty($_POST['submit'])) 这个代码没有被触发,每次我刷新页面时它就会把账户详细信息发送到我的数据库。我做错了什么吗?
注意:我还在学习PHP和WordPress。

是的 @AhmedGinani - TheEnthusiast
如果(isset($_POST['submit']))就足够了。 - Mihai
最好使用if($_SERVER['REQUEST_METHOD'] === 'POST') - Dat Nguyen
可能是 https://dev59.com/Qk7Sa4cB1Zd3GeqP6MCI 的重复问题。 - deceze
显示剩余3条评论
1个回答

4

$_POST['submit']总是设置并且不为空,它的值已经被设置为注册

你需要检查用户名密码是否为空。因此,请编写:

if(!empty($_POST['username']) && !empty($_POST['password'])){
    // querycode here
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接