Проблема с аяксом

220
11 июля 2017, 22:18

Сайт написан по схеме MVC. В общем в чем собственно проблема. Когда отправляю данные с помощью AJAX:

$('#entrance').click(function() {
  $.ajax ({
    url: "/components/log-in.php",
    type:"POST",
    data:({name: $("#name").val(),passwd: $("#passwd").val()}),
    dataType: "html",
    success: function funcScs(data){
      $('.header-info').text(data);
    }
  });
});

Возникает проблема в файле исполнения:

<?php  
  $name = $_POST['name'];
  $passwd = $_POST['passwd'];
  function getUser($name,$passwd){
    $data = array();
    $db = Db::getConnection();
    $result = $db->query("SELECT*FROM `users` WHERE `user_name` = $name AND `user_password`=$passwd ");
  }
  echo getUser($name,$passwd);
?>

Когда данные приходят, то скрипт выдает ошибку:

Fatal error: Uncaught Error: Class 'Db' not found in W:\domains\hozplus.com\components\log-in.php:6 Stack trace: #0 W:\domains\hozplus.com\components\log-in.php(10): getUser('admin', 'admin') #1 {main} thrown in W:\domains\hozplus.com\components\log-in.php on line 6

Но, класс Db я изначально подключаю в файле index.php :

<?php 
  ini_set('display_errors',1);
  error_reporting(E_ALL);
  define('ROOT', dirname(__FILE__));
  require_once(ROOT.'/components/Router.php');
  require_once(ROOT.'/components/Db.php');
  $router = new Router();
  $router->run();
?>

Тем более и в контроллерах, и в моделях (которые лежат в отдельных папках), он такой ошибки не выдает, хотя я обращаюсь к этому классу точно так-же. Вот собственно вопрос: ПОЧЕМУ он не может найти класс Db, если до этого я уже подключал index?

Answer 1

Основная проблема этого скрипта, это идиот сидящий за компом(я), сайт работает по MVC, из маршрутов берется uri,и на его основе формируется controller и action ,следовательно, для обработки аякса нужен не просто файл с названием и путем к папке,а именно контроллер и action в котором аякс будет все обрабатывать, прошу прощения, что всех потревожил

READ ALSO
Отправка файлов на php через ajax

Отправка файлов на php через ajax

Доброго времени суток! Есть некоторая форма, которая передает сообщениеПередавала она на server

358
PHP обработка POST запроса

PHP обработка POST запроса

Здраствуйте, пишу приложение которое должно отправить POST запрос на серверА сервер в свою очередь должен записать все что было в POST запросе...

217
переход на другую страницу php

переход на другую страницу php

Скажите, как при авторизации юзера правильно переходить на другую php страницу? Вот у меня есть код на странице логина, как только я обновляю...

875