mysql_query(" INSERT INTO ...无效

时间:2016-06-06 09:15:12

标签: php mysql registration insert-into

我正在尝试创建注册页面。该页面已成功连接到phpMyAdmin数据库,但是当我单击注册按钮时它不会回显任何内容。

<html>
<head>
</head>

<body>

<?php
INCLUDE "connect.php";
INCLUDE "functions.php";
INCLUDE "titlebar.php";
?>

            <div id="loginform">    
            <h1>Register</h1>

            <form name="Register" action="register.php" method="post">
            <?php
            if(isset($POST["submit"])){
                    $username = $_POST["username"];
                    $password = md5 ($_POST["password"]);
                    if(empty($username) or empty($password)){
                            echo "<p>Fields Empty!</p>";
                    } else {
                            mysql_query("INSERT INTO login VALUES('',$username','$password','2','')");
                            echo "<p>Successfully Registered!</p>";
                    }
            }
            ?>
                <p>     
                    <label for="username">Username: </label>
                    <input type="text" name="username" id="username"/></p><p>

                    <label for="password">Password: </label>
                    <input type="password" name="password" id="password"/></p><p>
                    <input type="submit" name="submit" value="Register" />
                </p>
            </form>
            </div>
</body>

3 个答案:

答案 0 :(得分:1)

问题在于post方法。 使用$ _POST而不是$ POST

答案 1 :(得分:0)

你有mysql错误

不是:$username'

但是'$username'

下次用mysql_error()显示mysql错误。

答案 2 :(得分:0)

一开始,我不确定是什么设置($ _ POST ['submit']应该返回,但正如评论中已经提到的那样,你错过了单引号。

另外我会使用:

$password = password_hash($_POST['password'], 

md5已被弃用,因此不安全。如果您编写登录脚本,则可以使用password_verify(plainPW,hashPW)

您还需要指定数据库并登录。我建议看看W3学校的例子,他们非常深入并有很好的例子。 W3 school mysqli page

还会在脚本末尾写一个die(),并且不要关闭连接。