我正在爲一個學校項目開發一個非常簡單的CMS系統,而且我遇到了一些麻煩。PHP - include_once/include不工作
現在,我的網頁被設置爲這樣:
- 我創建一個用戶可以訪問的每一個網頁 - 在頂部和底部,我有一個include_once(header.php文件)和include_once( footer.php)。這些包含應該是加載的任何頁面的頂部和底部。
在我的header.php我都這樣了,其他雜項HTML一起:
<?php require_once('php/constants.php'); require_once("php/functions.php"); ?>
對於constants.php - 包含了每一個定義的常量我能想到的,因爲我寧願改變在我的代碼中搜索一個常量,以查找我可以在其他地方找到的很多例子。
For Functions.php - 包含我在此CMS上使用的每個函數。包含我使用PHPMailer的電子郵件功能,使用MeekroDB進行數據庫交互的註冊和登錄。
這就是問題所在。
在頁面上我有賬號註冊,沿着這
//get the username, password, first/last name, and send it to register function.
$firstName = $_POST['first_name'];
$lastName = $_POST['last_name'];
$password = $_POST['password'];
$email_address = $_POST['email_address'];
//register the user. where register() is in functions.php
if(register($email_address, $password, $firstName, $lastName))
{
echo "REGISTRATION SUCCESSFUL";
}
else
{
echo "REGISTRATION UNSUCCESSFUL";
}
線的東西在我functions.php文件,我宣佈使用DB :: QUERY的作業,MeekroDB我提到我的數據庫信息使用。
//MeekroDB - Used for database CRUDding
require_once("php/meekrodb.php");
DB::$user = 'root'; //yes i'll change this later
DB::$password = ''; //this too
DB::$dbName ="testDB";
在實際的寄存器功能我有這樣的:
function register($email, $password, $firstName, $lastName)
{
//check to see if the user already exists
//poll the DB to see if the email is already in there.
$results = DB::QUERY("SELECT email FROM users WHERE email = %s", $email);
//if there is a row in the DB with this email...
if(DB::count() >= 1)
{
return false;
}
else
{
//lets prepare the user for insertion into the database.
$username = $firstName . '_' . $lastName;
//generate a salt for database insertion and password hashing
$salt = hash('sha512', uniqid(mt_rand(1, mt_getrandmax()), true));
$password = hash('sha512', $password . $salt);
//create the insert statement array for insertion.
$insertionArray =
array(
'username' => $username,
'password' => $password,
'email' => $email,
'salt' => $salt,
'isAdmin' => 0
);
//insert the new user into the database.
DB::INSERT('users', $insertionArray);
//Send a registration email to the new user.
//Send an email to the user stating they've registered.
$mailer = createMailer();
//set the contents of the email
$mailer->MsgHTML(generateEmail_Registration($username));
//set the destination address
$mailer->AddAddress($email, $firstName . ' ' . $lastName);
if($mailer->Send())
{
return true;
}
else
{
return false;
}
}
}
對我來說,這應該工作。
但是:
每當我試圖運行寄存器()函數,我最終得到噸,涉及MeekroDB錯誤的,我不是100%確定如何解決這些問題(無論它是一個包括髮布日期,或許這是與meekroDB東西?)
這是我得到的錯誤。
Warning: mysqli::set_charset(): invalid object or resource mysqli in D:\xampp\htdocs\finalproject\php\meekrodb.php on line 186
Warning: MeekroDB::get(): Property access is not allowed yet in D:\xampp\htdocs\finalproject\php\meekrodb.php on line 188
Warning: mysqli::real_escape_string(): invalid object or resource mysqli in D:\xampp\htdocs\finalproject\php\meekrodb.php on line 496
Warning: mysqli::query(): invalid object or resource mysqli in D:\xampp\htdocs\finalproject\php\meekrodb.php on line 628
Warning: MeekroDB::queryHelper(): Property access is not allowed yet in D:\xampp\htdocs\finalproject\php\meekrodb.php on line 662
Warning: MeekroDB::queryHelper(): Property access is not allowed yet in D:\xampp\htdocs\finalproject\php\meekrodb.php on line 663
Warning: mysqli::real_escape_string(): invalid object or resource mysqli in D:\xampp\htdocs\finalproject\php\meekrodb.php on line 496
Warning: mysqli::real_escape_string(): invalid object or resource mysqli in D:\xampp\htdocs\finalproject\php\meekrodb.php on line 496
Warning: mysqli::real_escape_string(): invalid object or resource mysqli in D:\xampp\htdocs\finalproject\php\meekrodb.php on line 496
Warning: mysqli::real_escape_string(): invalid object or resource mysqli in D:\xampp\htdocs\finalproject\php\meekrodb.php on line 496
Warning: mysqli::query(): invalid object or resource mysqli in D:\xampp\htdocs\finalproject\php\meekrodb.php on line 628
Warning: MeekroDB::queryHelper(): Property access is not allowed yet in D:\xampp\htdocs\finalproject\php\meekrodb.php on line 662
Warning: MeekroDB::queryHelper(): Property access is not allowed yet in D:\xampp\htdocs\finalproject\php\meekrodb.php on line 663
REGISTRATION UNSUCCESSFUL //of course.
我認爲這是與我包括我的各種PHP文件的方式,並在返回莫名其妙buggering我的MeekroDB連接。
如果你們需要更多的信息,請告訴我,但我想我已經把所有東西都拿出來了。
我不經常在這裏發帖,所以如果我錯過了某種地方的禮節,我提前道歉。
謝謝! :)
我會檢查這一關是正確的答案,因爲你是那裏爲奇數信息正確(該死的錯別字) 非常感謝你。加上我不知道錯誤部分的拋出異常。感謝您的支持 – Pilapodapostache
沒有汗 - 祝您的項目順利! –