-1

ログインフォームに問題があります。私は正常にdbに接続します。ユーザー名のみを使用すると、データベースでチェックされ、ユーザー名が存在する場合は別のページにリダイレクトされます。パスワードを使用するとログインしません。以下はコードです。

<?php

// check _POST data
$myusername=( isset($_POST['myusername']) ) ? $_POST['myusername'] : false;
$mypassword=( isset($_POST['mypassword']) ) ? $_POST['mypassword'] : false;

if( $myusername === false || $mypassword === false ) die('Access forbidden! Go away!');

// hash password
$encrypted_pass=md5($mypassword);


$host="localhost"; // Host name
$username="root"; // username
$password="le30mu09"; // password
$db_name="infobiz_db2"; // Database name
$tbl_name="jos_users"; // Table name

// Replace database connect functions depending on database you are using.
$link=mysql_connect("$host", "$username", "$password");
if (!$link) {
    die('Could not connect: ' . mysql_error());
}

mysql_select_db("$db_name");

$sql="SELECT * FROM $tbl_name WHERE Username='$myusername' and Password='$encrypted_pass'";
$result=mysql_query($sql);
mysql_close($link);
if(!$result) {
    die('No database' .mysql_error());
}

// Replace counting function based on database you are using.
$count=mysql_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row

if($count==1){
  // Register $myusername, $mypassword and redirect to file "login_success.php"
  session_register("myusername");
  session_register("mypassword");
  header("location:login_success.php");
} 
else {
  echo "Wrong Username or Password";
}

?>

ここで本当に混乱し、解決策を見つけることができませんでした

4

1 に答える 1

-2

適切な引用符を使用して、次のようにクエリを書き直す必要があります。

"SELECT * FROM $tbl_name WHERE Username='". $myusername . "' and Password='" . $encrypted_pass . "'"
于 2013-10-01T19:22:10.227 に答える