آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
مشکل عدم دسترسی خریداران پیشین به برخی آموزش ها برطرف شد
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

مشکل در آموزش mvc و routing

SeyyedH  6 سال پیش  6 سال پیش
+1 0

سلام

من تو بخش 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");
}
}
0 0
کد های فایل loader.php هم قرار بدید. (6 سال پیش)
0 0
بله مشکل ثبت نکردن کلاس ویو در فایل loader بود. (6 سال پیش)
 برای این سوال پاسخی وجود ندارد.

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .