بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
مشکل در آموزش mvc و routing
سلام
من تو بخش 5 قسمت routing و mvc بعد از ساهتن یک نمونه از کلاس ویو با ارور زیر مواجه میشم که میگه ویو رو نمیشناسه در صورتیکه دقیقا مث آموزش ها جلو رفتم اما نمیدونم مشکل چیه
کد user.php:
<?
class UserController{
public function __construct(){
}
public function login(){
if (isset($_POST['email'])){
$this->loginCheck();
}else{
$this->loginForm();
}
}
private function loginCheck(){
$email = $_POST['email'];
$password = $_POST['password'];
$db = Db::getInstance();
$record = $db ->first("SELECT * FROM x_user WHERE email='$email'");
if ($record == null){
$message = _email_not_registered;
require_once('msg-fail.php');
exit;
}else{
$hashedPassword = encryptPassword($password);
if ($hashedPassword == $record['password']){
$_SESSION['email'] = $email;
$_SESSION['name'] = $record['name'];
$_SESSION['user_id'] = $record['user_id'];
$message = _login_welcome ;
require_once('msg-success.php');
exit;
}else{
$message = _invalid_password;
require_once('msg-fail.php');
exit;
}
}
}
private function loginForm(){
$data['test'] = array();
View::render("/user/login.php", $data);
}
public function register(){
if (isset($_POST['email'])){
$this->registerCheck();
}
$this->registerForm();
}
private function registerCheck(){
$name = $_POST['name'];
$lastName = $_POST['lastName'];
$email = $_POST['email'];
$password = $_POST['password'];
$confirmPassword = $_POST['confirmPassword'];
$time = getCurrentDateTime();
$db = Db::getInstance();
$record = $db ->first("SELECT * FROM x_user WHERE email='$email'");
if ($record != null){
$message = _already_registered;
require_once('msg-fail.php');
exit;
}
if (strlen($password)<4 || strlen($confirmPassword)<4){
$message = _weak_password;
require_once('msg-fail.php');
exit;
}
if ($password != $confirmPassword){
$message = _password_not_match;
require_once('msg-fail.php');
exit;
}
$hashedPassword = encryptPassword($password);
$db->insert("INSERT INTO x_user (email,lastName,name,password,registerTime) VALUES ('$email','$lastName','$name','$hashedPassword','$time')");
$message = _successfully_registered;
require_once('msg-success.php');
exit;
}
private function registerForm(){
$data['test'] = array();
View::render("/view/register.php",$data);
}
}
خط 47:
View::render("/user/login.php", $data);
اسم فایل view.php و کلاس View
index.php
<?
define('Test' , true);
require_once ('/system/loader.php');
$uri = getRequestUri();
$uri = str_replace('/framework/' , '/',$uri);
$parts = explode('/',$uri);
$controller = $parts[1];
$method = $parts[2];
$params = array();
for ($i=3;$i<count($parts);$i++){
$params[] = $parts[$i];
}
$controllerClassName = ucfirst($controller) . "Controller";
$controllerFilePath = "/mvc/controller/".$controller . ".php";
require_once ($controllerFilePath);
$controllerInstance = new $controllerClassName();
call_user_func_array(array($controllerInstance ,$method),$params);
view.php
<?php
class View{
public static function render($filePath , $data){
extract($data);
ob_start();
require_once("/mvc" . $filePath);
$content = ob_get_clean();
require_once ("/theme/default.php");
}
}
برای این سوال پاسخی وجود ندارد.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .
loader.php
هم قرار بدید. (6 سال پیش)