connection.phpには3つのファイルがあります。 work.php login.php これらは私がデータベース内のユーザータイプまたは管理者のタイプを識別するために使用するコードです。それは、符号化/ devのプロセスで必要とされているので、私はMySQLを使用しMySQLとPHPの特定のユーザータイプ
、
私が遭遇しています問題は、私は、ユーザーのタイプを検出することができませんということです。 ユーザーの種類を識別することができる可能性があることをお勧めしますか。
<?php
// Try and connect to the database
include('connection.php');
$selected = mysql_select_db("wildlife",$conn)
or die("Could not select ");
//$myusername = mysql_real_escape_string($conn,$_POST['username']);
//$mypassword = mysql_real_escape_string($conn,$_POST['password']);
if(isset($_POST['user']) && isset($_POST['pass'])){
$user = $_POST['user'];
$pass = $_POST['pass'];
//$type = $_POST['type'];
// $query = mysql_query("SELECT * FROM wrd_users WHERE emp_username='$user' and emp_password='$pass'
//and emp_type = '1'");
$query = mysql_query("SELECT * FROM wrd_users WHERE emp_username='$user' and emp_password='$pass' ");
if(mysql_num_rows($query) > 0)
{
//check if there is already an entry for that username
echo "<br>DETECTED Username AND PASS already exists!";
$query = mysql_query("SELECT emp_type FROM wrd_users WHERE emp_type = '1' ");
if(mysql_num_rows($query) > 0)
{
//check if there is already an entry for that username
echo "<br>KING1";
}
else
{
echo "<br>QUEEN1";
}
$query = mysql_query("SELECT emp_type FROM wrd_users WHERE emp_type = '2' ");
if(mysql_num_rows($query) > 0)
{
//check if there is already an entry for that username
echo "<br>KING2";
}
else
{
echo "<br>QUEEN";
}
}
else
{
//header("location:index.php");
echo(" No User Found");
//header('work.php');
}
}
mysql_close();
?>
connection.php
<?php
$conn = mysql_connect('localhost', 'root', '', 'wildlife');
if (!$conn)
{
die('Connect Error: ' . mysql_errno());
}
else
{
echo ("connected from connection.php");
}
?>
結果としてwork.php
<?php
include('login.php');
?>
<html>
<head><title>INDETIFY THE USER TYPE</title>
</head>
<body>
<form action="login.php" method="post"> <!-- Sign In Process -->
Username: <input type="text" name="user" id="emp_username"style="width:150">
<br />
Password: <input type="password" name="pass" id="emp_password"style="width:153">
<br />
<br />
<input type="submit" value="submit">
</form>
</body>
</html>
**スーパー、スーパー**が入力されています
あなたのコードはSQLインジェクションに対して脆弱です!ユーザーが$ _POST ['user']に悪質なデータを渡すとどうなりますか? mysql_関数を使用せず、バインドされたパラメータでmysqli_またはPDOを使用することを検討してください。 – iyop45
[mysql_'データベース拡張](http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php)を使用しないでください。 は廃止予定ですPHP7で)特にPHPを学んでいるならば、あなたのエネルギーを 'PDO'データベース拡張を学ぶのに費やしてください。 [こちらから](http://php.net/manual/en/book.pdo.php)非常に簡単です – RiggsFolly
クエリでOR文を使用すると、重複するコードを削除できます: '' WHERE emp_type = ' 2 'OR emp_type =' 1 ''' ' – iyop45