-6

我设置了一个 HTML 表单,用户可以在其中输入他们的电子邮件地址和密码,然后单击提交以创建会员资格,此数据将发送到数据库。我查看了代码并没有发现任何问题,但提交的内容不会出现在 mySQL 数据库中。此外,一旦用户通过输入电子邮件和密码进行注册,我一直在尝试将他们重定向到一个页面。

表单代码如下:

    <form class="form-signin" action="signinprocessor.php" method="post" form name ="form1">
    <h3 class="muted">moreo</h3>
    <h2 class="form-signin-heading">Please sign in</h2>
    <input type="text" class="input-block-level" placeholder="Email address" input name="myusername" id="myusername">
    <input type="password" class="input-block-level" placeholder="Password" input name="mypassword" id="mypassword">
    <label class="checkbox">
      <input type="checkbox" value="remember-me"> Remember me
    </label>
    <button class="btn btn-medium btn-primary" type="submit" name="submit" value="login">Sign in</button>
    </form>

一旦他们点击提交,他们就会被带到 signinprocessor.php,其中的代码如下:

    function createUser () {
    $con = mysql_connect("localhost","root","");
    if (!$con)
        {
    die('Could not connect: ' . mysql_error());
        }
        mysql_select_db("test", $con);

        $username = mysql_real_escape_string($_POST['myusername'], $con);
        $password = mysql_real_escape_string($_POST['mypassword'], $con);
        $sql = "UPDATE members SET username='$username',password='$password'";
        mysql_query( $sql , $con );

        mysql_close($con);

    }
4

3 回答 3

1

你只是想创建一个新用户,而不是使用UPDATEuseINSERT

$sql = "INSERT INTO members(username,password) VALUES('$username','$password'");
于 2013-04-08T04:24:09.287 回答
1

1)如果您正在创建用户,则必须对密码进行加密(散列),md5()然后使用INSERT语句而不是像这样更新:

$sql = "INSERT INTO members(username,password) VALUES('".$username."','".md5($password)."'");

2)你没有调用createUser()方法。

更新

$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'my_db');

然后

$query =  "INSERT INTO members(username,password) VALUES('".$username."','".md5($password)."'");
$result = $mysqli->query($query);

欲了解更多信息,请访问此链接

于 2013-04-08T05:37:21.253 回答
0

为什么我因为这篇文章而被阻止提问?它绝对是在通常的问答中,但它获得了 7 票反对。随着 mySQL 的弃用和人们被迫使用 PDO 或 mySQLI,我因此受到惩罚是不公平的。我要求您,用户,给我投票,这样我就可以再次使用该网站。谢谢你。

于 2013-04-08T22:16:55.740 回答