ログインフォームの検証でエラーが発生しました。mysqli_error()の修正方法は正確に1つのパラメータを必要とします。
1.Phpコード。
<?php
define('DB_HOST', 'localhost');
define('DB_NAME', 'user');
define('DB_USER','root');
define('DB_PASSWORD','');
$con=mysqli_connect(DB_HOST,DB_USER,DB_PASSWORD) or die("Failed to connect to MySQL: " . mysqli_error());
$db=mysqli_select_db(DB_NAME,$con) or die("Failed to connect to MySQL: " . mysqli_error());
/*
$ID = $_POST['user'];
$Password = $_POST['pass'];
*/
function SignIn()
{
session_start(); //starting the session for user profile page
if(!empty($_POST['user'])) //checking the 'user' name which is from Sign-In.html, is it empty or have some text
{
$query = mysqli_query("SELECT * FROM man_login where man_username = '$_POST[user]' AND man_password = '$_POST[pass]'") or die(mysqli_error());
$row = mysqli_fetch_array($query) or die(mysqli_error());
if(!empty($row['man_username']) AND !empty($row['man_password']))
{
$_SESSION['userName'] = $row['pass'];
echo "SUCCESSFULLY LOGIN TO USER PROFILE PAGE...";
}
else
{
echo "SORRY... YOU ENTERD WRONG ID AND PASSWORD... PLEASE RETRY...";
}
}
}
if(isset($_POST['submit']))
{
SignIn();
}
?>
問題を把握するために必要な情報が必要な場合は、どうかお勧めします。親切に教えてください。
ありがとうございました。
編集:次のエラーが表示されます。
Warning: mysqli_select_db() expects parameter 1 to be mysqli, string given in C:\localhost\login_man on line 8
Warning: mysqli_error() expects exactly 1 parameter, 0 given in C:\localhost\login_man.php on line 8
Failed to connect to MySQL:
**警告**:自分のアクセス制御層を書くことは容易ではない、それはひどく間違って取得するための多くの機会があります。 [Laravel](http://laravel.com/)のような最新の[開発フレームワーク](http://codegeekz.com/best-php-frameworks-for-developers/)がある場合は、独自の認証システムを作成しないでください。強力な[認証システム](https://laravel.com/docs/5.2/authentication)が組み込まれています。絶対に[推奨されるセキュリティのベストプラクティス](http://www.phptherightway.com/#security)に従ってください。パスワードはプレーンテキスト**として保存しないでください。 – tadman
**警告**:mysqliを使用する場合は、[パラメータ化されたクエリ](http://php.net/manual/en/mysqli.quickstart.prepared-statements.php)と['bind_param']( http://php.net/manual/en/mysqli-stmt.bind-param.php)を使用してクエリにユーザーデータを追加します。 **重大な[SQLインジェクションのバグ](http://bobby-tables.com/)を作成したため、文字列の補間または連結を使用してこれを実行しないでください。 ** '$ _POST'や' $ _GET'データを直接クエリに入れないでください。誰かがあなたのミスを悪用しようとすると、非常に危険です。 – tadman
パラメータは、カッコ内の関数に渡す変数です。 –