-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

新しいユーザーを作成しようとしているだけなので、使用する代わりUPDATEINSERT

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

1)ユーザーを作成している場合、パスワードは暗号化(ハッシュ)する必要があり、次のように update の代わりにステートメントをmd5()使用します。INSERT

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

createUser()2)メソッドを呼び出していません。

アップデート

$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 に答える