** 更新 ** 素晴らしい助けで、$-サインインを省略するだけでこれを解決しました
$dbusername = $row['$username_login'];
$dbpassword = $row['$password_login'];
列名に。
$dbusername = $row['username'];
$dbpassword = $row['password'];
私は現在、単純なソーシャル ネットワークの作成に関するいくつかのチュートリアルに従って、PHP と MySQL をいじっています。パスワードがユーザー名と一致するかどうかを確認しようとすると、問題が発生しました。
ログインフォームのコード:
<form action="login.php" method="POST">
<input type="text" size="25" name="user_login" id="user_login" placeholder="Username" />
<input type="password" size="25" name="password_login" id="password_login" placeholder="Password" /> <br />
<input type="submit" name="login" id="button" value="Login" />
</form>
データを検証するための PHP コードのスニペット (login.php):
$username_login = strip_tags($_POST["user_login"]);
$password_login = strip_tags($_POST["password_login"]);
if ($login) {
if ($username_login && $password_login) {
$connect = mysql_connect("localhost", "root", "") or die("Error connecting");
mysql_select_db("mono_social") or die("Could not find db");
$query2 = mysql_query("SELECT * FROM users WHERE username='$username_login'");
$numrow = mysql_num_rows($query2);
if ($numrow != 0) {
// LOGIN code
while ($row = mysql_fetch_assoc($query2)) {
$dbusername = $row['$username_login'];
$dbpassword = $row['$password_login'];
}
// Check to see if username and password match
if ($username_login==$dbusername && $password_login==$dbpassword) {
echo "You are in";
}
else {
echo "Sorry $username_login. Incorrect password!";
}
}
フィールドのいずれかが空白のままになっているかどうか、またはユーザー名が存在しないかどうかを確認するためのコードも含めました。コードは前述のテスト (空白のフィールドと無効なユーザー名) ではうまく機能しているようですが、有効なユーザー名とパスワードの両方でログインしようとするとうまくいきません。
これについての助けをいただければ幸いです:)