我只是想爲php應用程序編寫登錄系統。 我需要通過類型(管理員/用戶儀表板)的用戶日誌類型,我沒有看到任何理由,爲什麼這不應該工作。 如果有人幫我,我會很高興。非常感謝。 的問題是,當ü嘗試,即使登錄,在適當的用戶名和密碼,它是正確的,它只是拋出「錯誤的用戶名或PW ......」用戶類型的PHP + MySQL登錄系統
<?php
session_start();
$host="127.0.0.1"; // Host name
$username="root"; // Mysql username
$password=""; // Mysql password
$db_name="rocketevents"; // Database name
$tbl_name="users"; // Table name
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
$myusername=$_POST['myusername'];
$mypassword=($_POST['mypassword']);
$type='';
$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);
$sql = "SELECT * FROM $tbl_name WHERE `Username`= '$myusername' and `Password`= '$mypassword' and `Type`= '$type'";
$result = mysql_query($sql);
$array = mysql_fetch_array($result);
$_SESSION['myusername']=$array['myusername'];
$_SESSION['mypassword']=$array['mypassword'];
$user_type = $array['Type'];
$count=mysql_num_rows($result);
if (empty($_POST['myusername']) or (empty($_POST['mypassword']))){
echo"Please fill in your username or password";
echo"<br>Please try to <a href='index.php'>Log in </a> again";
} else {
if ($count == 1) {
$_SESSION ['myusername'] = $myusername;
$_SESSION ['mypassword'] = $mypassword;
if ($user_type == "Admin") {
header ("location: admin.php");
} else if ($array ["type"] == "User") {
header ("location: user.php");
} else if ($array ["type"] == "Visitor") {
header ("location: visitor.php");
}
}
else {
include("index.php");
echo"Wrong user or password";
echo"<br>Please try to <a href='index.php'>Log in</a> again or go to <a href='sign.php'>registration</a> page";
}
}
?>
'mysql_ *'已過時,請嘗試使用'mysqli_ *或PDO' – Nehal
尋求調試幫助的問題(_「爲什麼這個代碼不工作?」)必須包含所需的行爲,特定的問題或錯誤以及在問題本身中重現問題所需的最短代碼。沒有明確問題陳述的問題對其他讀者無益。請參閱:[如何創建最小,完整和可驗證的示例。](http://stackoverflow.com/help/mcve) – Epodax
對不起,我是PHP編碼的新手。我可能會編寫全新的代碼,因爲我找不到這個問題..我很難「修復」它。 –