このログイン スクリプトについて助けが必要です。ユーザーが登録すると、データベース内の列active
がゼロ (0) に設定され、提供された電子メールにアクティベーション リンクが送信されます。アクティベーション リンクがクリックされ、成功すると、それぞれのactive
列が 1 に設定されます。
しかし、ユーザー名とパスワードの正しい組み合わせは、送信ボタンを 2 回クリックした場合にのみ機能します。
最初のクリックで、次の行が表示されます
Notice: 未定義のインデックス: C:\wamp\www\church\login.php の 37 行目に覚えておいてください
まだ確認されていません
しかし、2回目にクリックすると、ログインが機能します。
<?php
if (isset($_POST['submit'])) {
$username = trim($_POST['username']);
$username = strip_tags($_POST['username']);
$username = htmlentities($_POST['username']);
$username = stripslashes($_POST['username']);
$username = mysql_real_escape_string($_POST['username']);
$password = sha1($_POST['password']);
if (isset($_POST['username']) && isset($_POST['password'])) {
$query = mysql_query("SELECT username, password
FROM USERS
WHERE username = '$username'
AND password = '$password'") or die (mysql_error());
$user = mysql_num_rows($query);
if ($user == 1) {
$row = mysql_fetch_assoc($query);
if ($row['active'] == 1) {
$_SESSION['logged_username'] = $username;
if ($_POST['remember']) {
setcookie("CookieUser", $_SESSION['logged_username'], time() + 60 * 60 * 24 * 100, "/");
setcookie("CookiePass", $password, time() + 60 * 60 * 24 * 100, "/");
header('Location: http://127.0.0.1/church/index.php?id=1');
}
}
if ($row['active'] !== 1) {
echo "Not Verified Yet";
}
}
else {
echo "<div id='content' >";
echo "<div class='OpenError' >";
echo "Username & Password Combination Is Wrong";
echo "</div>";
echo "</div>";
}
}
}
?>