大学の講師から、PHP を使用してログイン システムを作成するように依頼されました。今、私はPHPに慣れていないので、PHPについて読みました。私はこのコードを使用し、自分でコーディングしました。
<?php
session_start();
$username = $_POST ['username'];
$password = $_POST ['password'];
if ($username&&$password) {
$connect = mysql_connect("localhost","root","") or die("Couldn't Connect");
mysql_select_db("phplogin") or die ("Couldn't find Database");
$query = mysql_query("SELECT * FROM users WHERE username='$username'")'
$numrows = mysql_num_rows ($query);
if ($numrows!=0) {
while ($row = mysql_fetch_assoc()) {
$dbusername = $row['username'];
$dbpassword = $row['password'];
}
if ( ($username==$dbusername) && ($password==$dbpassword) ) {
echo "you are in,<a href ='member.php'> Click here</a> to enter member page";
$_SESSION['username']=$dbusername;
} else {
echo "Incorrect password";
} else {
die ("That user does not exist");
}
echo $numrows;
} else {
die("Please enter a username and password")
}
?>
これは私が使用している Index.php です。私のログイン ページはシンプルで、ユーザー名とパスワードの 2 つのフィールドと、ログインと登録ボタンがあります。データベースから取得したフィールドに詳細を入力すると、ページの一番上に表示されます。
ここをクリックしてメンバーページに入る"; $_SESSION['username']=$dbusername; } else echo "パスワードが正しくありません"; } else die ("そのユーザーは存在しません"); echo $numrows; } else die("Pleaseユーザー名とパスワードを入力してください") ?>
また、ユーザー名、電子メール、パスワード、パスワードの確認という 4 つのフィールドに入力しなければならない登録ページにも問題があります。また、ユーザーとして「登録」するための登録ボタンもあります。
<?php //Register process $submit = $_POST['submit'];
//フォームデータ $name = strip_tags ($_POST['name']); $username = strip_tags ($_POST['username']); $password = md5 (strip_tags ($_POST['password'])); $confirmpassword = strip_tags ($_POST['confirmpassword']); $date = date("Ymd");
もし ($提出) {
if ($username&&$password&&$confirmpassword) { //パスワードを暗号化 $password = md5 ($password); $confirmpassword = md5 ($confirmpassword); if ($password==$confirmpassword) { //文字の長さをチェック if (strlen ($username) >25 || strlen ($name) >25) { echo "ユーザー名または名前の長さが長すぎます"; } else { //パスワードの長さをチェック if (strlen ($password) >20||strlen($password)<5) { echo "パスワードは 5 ~ 20 文字でなければなりません"; } else { //ユーザーを登録します } } } else echo "パスワードが一致しません!";
} else echo "Please fill in <b>all</b> feidls!"; } ?>
あなたの氏名: ユーザー名を選択してください: パスワードを選択してください: パスワードを確認してください:
ただし、フィールドに詳細を入力する前であっても、この大量のコードがページの上部に表示されます。
25 || strlen ($name) >25) { echo "ユーザー名または名前の長さが長すぎます"; } else { //パスワードの長さをチェック if (strlen ($password) >20||strlen($password)<5) { echo "パスワードは 5 ~ 20 文字でなければなりません"; } else { //ユーザーを登録します } } } else echo "パスワードが一致しません!"; } else echo "フィールドをすべて記入してください!"; } ?>
誰かが私がここで間違ったことを教えてもらえますか? Xampp を使用してデータベースを作成しています。