連接mysqli_query命令我一直在試圖用mysqli_query
連接到數據庫中定義在外部文件中,但我得到一個重複的錯誤爲undefined $conn
從外部php文件
的index.php
<?php
require 'connect.in.php';
include 'loginform.php';
?>
連接。 in.php
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbase = "users";
$conn = mysqli_connect($servername,$username,$password);
if($conn ||!mysqli_select_db($dbase)){
die('error message');
}
?>
loginform.php
<?php
if(isset($_POST['username']) && isset($_POST['password'])){
$username = 'username';
$password = 'password';
if(!empty($username) && !empty($password)){
$query = "SELECT 'id' FROM 'user_list' WHERE 'username'= '$username' AND 'password' = '$password'";
if(mysqli_query($conn, $query)){
echo "correct";
}
else{
echo "false";
}
}
}
?>
<form method="post">
Username:<input type="text" name="username">
Password:<input type="password" name="password">
<input type="submit" value="Login">
</form>
也有可能合併CSS和Bootstrap在此PHP文件說的loginform.php?
你必須包括/需要'connect.in.php'在loginform.php像這樣'要求( 「connect.in.php」); – Jeff
[小博](http://bobby-tables.com/)說***腳本是在對SQL注入攻擊的風險。(http://stackoverflow.com/questions/60174/how-can- ***)瞭解[MySQLi](http://php.net/manual)[準備](http://en.wikipedia.org/wiki/Prepared_statement)聲明/en/mysqli.quickstart.prepared-statements.php)。即使[轉義字符串](http://stackoverflow.com/questions/5741187/sql-injection-that-gets-around-mysql-real-escape-string)是不安全的! –
**切勿將明文密碼!**請使用PHP的[內置函數(http://jayblanchard.net/proper_password_hashing_with_PHP.html)來處理密碼的安全性。如果您使用的PHP版本低於5.5,則可以使用'password_hash()'[兼容包](https://github.com/ircmaxell/password_compat)。確保你*** [不要越獄密碼](http://stackoverflow.com/q/36628418/1011527)***或在哈希之前使用其他任何清理機制。這樣做*更改密碼並導致不必要的附加編碼。 –