0
我正在學習PHP自己。我正在使用Slim框架與Medoo並創建登錄頁面,並且在執行登錄頁面時沒有錯誤。但是當調用「call_query
」功能錯誤發生話說:爲什麼「未定義變量」錯誤?
Undefined variable: database in C:\xampp\htdocs\class\blog\pages\login.php on line 8
和
Fatal error: Call to a member function select() on a non-object in C:\xampp\htdocs\class\blog\pages\login.php on line 8
在代碼我已創建的對象$database
然後使用它select
方法。
<?php
require_once 'medoo.php';
$database = new medoo();
session_start();
$login_error = $br = null;
function call_query(){
$data = $database->select('user', 'user_name', [
'user_name'=>$_POST['u_name'],
'password'=>$_POST['pass']
]);
if (count($data) == 1) {
header("location : localhost/class/blog");
}else{
$login_error = "Wrong Username or Password";
$br = "<br><br>";
}
}
if ($_SERVER['REQUEST_METHOD'] == 'POST' && $_POST['submit'] == 'submit'){
if (isset($_POST['u_name']) && isset($_POST['pass']) && !empty($_POST['u_name']) && !empty($_POST['pass'])) {
if (isset($_SESSION['username']) && isset($_SESSION['password'])) {
if ($_SESSION['username'] == $_POST['u_name'] && $_SESSION['password'] == $_POST['pass']) {
header("location : localhost/class/blog");
}else{
call_query();
}
}else{
call_query();
}
}else{
$login_error = "Enter both Username and Password to login.";
$br = "<br><br>";
}
}
echo '<form action = "pages/login.php" method = "post">
<label>Username : </label><input type ="text" name ="u_name"><br><br>
<label>Password : </label><input type = "password" name = "pass"><br><br>
'.$login_error.$br.'
<input type ="submit" name = "submit" value = "submit">
</form>';
?>
提到它的哪一行於8 – 2015-02-24 10:12:08
Pehaps也許$數據庫內不可call_query()函數。 檢查@ jeroen鏈接。 – lmarcelocc 2015-02-24 10:13:36
http://php.net/manual/en/language.variables.scope.php – jeroen 2015-02-24 10:14:45