私はそれは、 ユーザー名とパスワードだけでなく、として、ログインから登録ユーザを制限する必要があるとします特定の登録ユーザのログインを制限するにはどうすればいいですか?
- ユーザー
voting_status='a'
が、voting_status='b'
場合、ユーザーは - その ユーザ名とパスワードでログインできるようにする場合それはユーザのログインを制限し、エコー
"you're not allowed to login"
他のユーザ名/パスワードが間違っている必要があります。
しかし、私はコーディングの初心者であるので、私はそれについてどうなるかわかりません。本当に助けが必要です。これは今まで私がやってきたことです。
<?php
define('DB_HOST', 'localhost');
define('DB_NAME', 'university portal');
define('DB_USER','root');
define('DB_PASSWORD','password007');
$con=mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) or die("Failed to connect to MySQL: " . mysql_error());
$db=mysql_select_db(DB_NAME,$con) or die("Failed to connect to MySQL: " . mysql_error());
/*
$ID = $_POST['user'];
$Password = $_POST['pass'];
*/
function SignIn()
{
session_start(); //starting the session for user profile page
if(!empty($_POST['UserName'])) //checking the 'user' name which is from Sign-In.html, is it empty or have some text
{
$query = mysql_query("SELECT Username, Password, voting_staus
FROM voters
where Username = '$_POST[UserName]',
Password = '$_POST[password]'
voting_status = 'a' ")
or die(mysql_error());
$row = mysql_fetch_array($query) or die(mysql_error());
if(!empty($row['Username']) AND !empty($row['Password'])){
if($row['voting_status']){
$_SESSION['Username'] = $row['Password'];
echo "SUCCESSFULLY LOGIN TO USER PROFILE PAGE...";
}
}
elseif($row[voting_status]=='b') {
echo "You are not allow to Login Here";
} else {
echo "SORRY... YOU ENTERD WRONG ID AND PASSWORD... PLEASE RETRY...";
}
}
}
if(isset($_POST['submit'])) {
SignIn();
}
?>
[mysql_'](http://stackoverflow.com/questions/12859942/why-shouldnt-use-mysql-functions-in- php) データベース拡張子を新コード ** [キツンは世界のどこかで絞殺されている](http://bb.blogspot.com/-zCT6jizimfI/UjJ5UTb_BeI/AAAAAAAACgg/AS6XCd6aNdg/s1600/luna_getting_strangled.jpg)* *これは廃止され、何年も続いており、PHP7でこれまでになくなっています。 PHPを学んでいるだけなら、 'PDO'や' mysqli'データベースの拡張機能や準備した文を学ぶことができます。 [ここから開始](http://php.net/manual/en/book.pdo.php) – RiggsFolly
あなたのスクリプトは[SQL Injection Attack]の危険にさらされています(http://stackoverflow.com/questions/60174/how -in-prevent-sql-injection-in-php) [Little Bobby Tables](http://bobby-tables.com/)に何が起こったかを見てください。 [入力をエスケープしている場合は、安全でない!](http://stackoverflow.com/questions/5741187/sql-injection-that-gets-around-mysql-real-escape-string) [準備されたパラメータ化されたステートメント](http://php.net/manual/en/mysqli.quickstart.prepared-statements.php) – RiggsFolly
'voters'テーブルにカラムを追加して、ユーザがログインすることを許可されているかどうかを表示し、' if(!empty($ row ['IsAllowed'] )) ' – crowchirp