Я надеюсь, что вы могли бы помочь мне с этой проблемой:
Я попытался реализовать шаблон MVC в php + HTML5 + CSS. Теперь, кроме модели, у меня есть проблема, когда я пытаюсь создать экземпляр объекта PHP в одном из моих контроллеров.
В частности, мне нужно распечатать данные об аутентифицированном пользователе, хранящиеся в одном объекте, $ userObject, который я пытался создать с помощью данных из базы данных.
Итак, я объявил об этом, я инициализировал его в Null и, после, я попытался создать экземпляр с его конструктором.
После, когда я пытаюсь использовать его, PHP говорит мне: «Вызов функции-члена getEmail () на не объект в C: \ Users \ 1USER \ Documents \ EasyPHP-DevServer-14.1VC11 \ data \ localweb \ projects \ ammPHP \ PHP \ Controller \ LoginController.php в строке 99 «
Я покажу вам выдержку из кодов о проблемах:
/**the function handle_input rappresent the core of my controller, that popolates the variables of the master.PHP to make a virtual page and to visualize the user's profile.**/
private function handle_input(&$request, &$session)
{
$userObject = null;
$mysqli = new mysqli();//login module: it verify the user data and modify the $_SESSION's array
//It makes also an object of class AuthenticatedUser that full with the database Data about the logged user.
if(isset($request["userid"]) && isset($request["password"]))
{
if($this->login($request["userid"], $request["password"]))
{
$session["loggedIn"] = true;
$mysqli->connect("localhost", "root", "password", "database");
$userid = $request["userid"];
$password = $request["password"];
$query = "SELECT * FROM loggeduser WHERE (userID = '$userid') AND (passwd = '$password');";
$result = $mysqli->query($query);
//errors checking salted
while($user = $result->fetch_object())
{
$userObject = new AuthenticatedUser($userid, $password, $user -> email, $user -> nome, $user -> cognome, $user -> dataNascita, $user -> città, $user -> CAP, $user -> indirizzo, $user -> cellulare);
}
}//user is logged-in
else if(isset($request["logout"]))
{
$this->logout();
}//Master.php dedicated module: It verify that user is logged-in, then initialize
//the variables to popolate the master PHP and to make the virtual page of the profile's user.
if(isset($_SESSION["loggedIn"]) && $_SESSION[ "loggedIn"])
{
//CONTROLLO SULLE PAGINA RICHIESTE
if ($request["subpage"] == "profile")
{
$style = "PHP/view/LoggedUserStyle.php";
$header = "PHP/view/Header.php";
$loginFormContent = "PHP/view/loggedUserMenu.php"; //modificato col menù per utenti autenticati
$slideshow = null;
$userProfile = "PHP/view/userProfile.php";
**$user = $userObject -> getEmail(); //Here the problem, PHP tells me that $userObject is not an object! :/**
$payments = null;
$orders = null;
$notFoundContent ="PHP/view/content-not-found.php";
$footer="PHP/view/footer.php";
include("master.php");
}
[...]
}//closing function handle_input
Задача ещё не решена.
Других решений пока нет …