Hoax
User-
Posts
138 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Store
Everything posted by Hoax
-
Т.е. только так получится реализовать? Просто придется так каждый раз инклудить из файла в файл
-
http://runnable.com/VSgOTbreInEChtUd/ajaxaf-for-php
-
http://runnable.com/me/VSfznprr0iJ7eiul
-
Опишу более детально. С помощью аякса мы получаем доступ к файлу, но зачастую, нас волнует не столько получаемый файл, а именно класс (или функция), который в нем находится, но вот проблема, в каком файле вызывать данную функцию. (чтобы все работало естественно) Как видно из примеров которые я указал. У МЕНЯ скрипты работают только тогда, когда я вызываю нужную функцию "f()" в том файле, в котором она была написала. Т.е. // ---- file.phpfunction f() {// написали}f() // вызвалиИ файле где у нас ajax, просто указали доступ к этом (file.php) файлу - тогда и именно тогда все получается, ф-я вызывается и ajax возвращает ее результат. НО! Что если мне необходимо (с точки зрения работы приложения и просто для удобства) вызвать эту функцию f(), в другом файле? Вот тут становится проблема
-
Дело не начале кода с <?php, и его концом, я писал это только что, а не копировал из файла чтобы избежать кучи кода, само собой у меня имеется так // file.php<?phpfunction f() { echo $_GET['q']; }?>// ajax.php<?phpinclude 'file.php'f();?><script>... xhr.open()....</script>Но даже в данном случае не работает, как я уже сообщал. Т.е. в данном случает, php инклудит файл и вызывает функцию с ошибкой отсутствия $_GET['q'] (что естественно, параметр же будет передан только при клике). А после клика ничего не происходит, т.е. ошибки нет, просто ничего не выводится
-
У меня всего два файла, файл с php-функцией, и ajax-файл, который его получает. Если сделать так // file.phpecho $_GET['q'];// ajax.php....xhr.open('GET', 'file.php?q=errg', true);...- работает! ______________ Но если сделать так // file.phpfunction f() { echo $_GET['q']; }// ajax.php....xhr.open('GET', 'file.php?q=errg', true);...- не работает ___________________________еще пример Если сделать так // file.phpfunction f() { echo $_GET['q']; }f();// ajax.php....xhr.open('GET', 'file.php?q=errg', true);...- работает. Но если сделать так // file.phpfunction f() { echo $_GET['q']; }// ajax.php<?phpf();?>....xhr.open('GET', 'file.php?q=errg', true);...или так // ajax.php<?phpinclude 'file.php' // или require_once разницы в данном случае не играетf();?>....xhr.open('GET', 'file.php?q=errg', true);- не работает
-
Пересоздал тему для более легкого объяснения проблемы, которая до сих пор не решена. Задача банальная - вызвать функцию с помощью ajax при клике на кнопку. В первом файле, который необходимо вызвать я указываю следующее : // phpfunction a() {echo 'huu';}a(); // вызвалиВторой файл (где расположен ajax) вызывает открывает первый. // ajax file<button onclick="go()" id="div">0</button><p id="text"></p><script>function go() {var client = new XMLHttpRequest();client.onreadystatechange = handler;client.open("GET", '1.php'); // открываем файл и получаем ф-ю с вызовомclient.send();}function handler() {if(this.status == 200 && this.responseText != null) {document.getElementById('text').innerHTML = this.responseText;}}</script>В данном случае, все работает хорошо, но что делать, если мне надо вызвать функцию в другом файле (а не в том, где она была написана как в примере выше). Например так. // ajax file<?phprequire_once '1.php';a();?><button onclick="go()" id="div">0</button><p id="text"></p>........В данном случае при клике ничего не происходит...
-
Я всего лишь хочу передать значение запроса в условиях аякса. Код самый обычный, брал с js ru Скопирую. // Пример с POSTvar xhr = new XMLHttpRequest();var params = 'name=' + encodeURIComponent(name) + '&surname=' + encodeURIComponent(surname);xhr.open("POST", '/submit', true)xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')xhr.onreadystatechange = ...;xhr.send(params);— Постараюсь еще раз объяснить в чем проблема. Не получается передать значение $_POST между файлами. Если ajax составить так - // tmp.phpxhr.open("POST", '/model.php', true)А серверный файл так // model.phpecho $_POST['text'];То model.php получит значение (POST) и вернет его (echo). Но если будет так. // model.phpclass model { public function f() { echo $_POST['text']; }}// ajax сможет получить значение и его вернуть в том случае, если будет вызван соответствующий метод// т.е. этот :$obj = new model();$obj->f(); // НО (основная проблема), если метод $obj->f() я вызываю ИЗ ДРУГОГО файла, php говорит, что несуществует $_POST['text'], и ajax // ничего не возвращает Ошибка одна, со стороны php - отсутствует значение $_POST (но это даже не ошибка, просто пока значения этого значения нет (ничего не введено в форму. if(!empty($_POST['text'])) echo $_POST короче). Со стороны js, просто отсутствует вывод этого значения. Пробовал require_once - аналогично. Предположу, что это связано с очередной обработкой php и js
-
Если в серверном файле указать следующее. // model.phpclass a {public function a() { echo $_POST['href']; }}$a = new a();$a->a();Вернет значение $_POST; А если в нем указать // model.phpclass a {public function a() { echo $_POST['href']; }}// global.phpinclude 'model.php';$a = new a();$a->a();Ничего не выйдет
-
разница в том, что если я передал обычный get- (или) post-запрос средствами php в контроллер, я этот контроллер (точнее его класс) смогу инклудить в файл random.php и вызвать его из random.php с данными запроса. А ajax отказывается выполняться, если вызов класса происходит в другом файле.
-
Допустим есть 3 файла (controller, model, view), первый получает запросы (POST) и передает второму, который записывает их в бд, а третий подготавливает их к выводу в шаблоне. Т.е. MVC. Ajax мы связываем с серверным файлом, который, по сути, должен выполнять одну из перечисленных выше функций, но какую? Если в ajax указать связь с файлом, который записывает данные бд (что очень удобно, т.к. мы получили запрос и сразу записали его), то этот класс (класс записи в бд) должен вызываться именно файле, в котором он объявлен (т.е. если в файле model.php мы объявили класс, то в нем же и должен идти вызов, т.е. $m = new model(); ) иначе AJAX не сможет организовать передачу. Т.е. при том условии, что класс model (в файле model.php) который записывает данные в бд, вызывается, скажем, в файле random.php, аякс не пашет. Как правильно организовать передачу, а то я уже запарился, надеюсь понятно объяснил, заранее спасибо.
-
Проблема решена созданием таблицы с указанной кодировкой (имеется в виду DEFAULT CHARSET utf8)
-
у меня xampp указал в .htaccess AddDefaultCharset UTF-8 но ничего не вышло
-
В основных кодировках я могу поставить любую, но только из раздела utf8mb4_*** ______________________________ А вот саму базу поставил в utf8_general_ci но ситуация не изменилась Таблицу также перевел в указанную кодировку, но основные настройки phpmyadmin также не дают изменить кодировку общих настроек
-
у меня какой-то баг с этим. Ставлю там "utf8_general_ci", сохраняется, и тут же возвращает прежний результат "utf8mb4_general_ci", который сейчас в итоге стоит.
-
сделал также как указано в примере, перегрузил веб-сервер, введ данные- получил то же самое. где конкретно это указывать? Разкомментил строку в php.ini - ;default_charset = "UTF-8" Не вышло
-
В PHP установил следующее mysqli->set_charset("utf8")при проверке mysqli->character_set_name() //показывает utf8Также поставил в корневой файл header( 'Content-Type: text/html; charset=utf-8' );В Notepad++ установил у всех файлов кодировку UTF8 БЕЗ BOM и все равно при записи в БД русских символов, вместо них выдает - ???? Что не так?
-
В последнее время замечаю много сообщений о том, что __autoload хоть и полезная ф-я, однако более медленная чем include (хотя информацию об этом не нашел, если есть-скиньте). Также стек spl, который позволяет регистрировать несколько ф-й autoload, которые в массиве загружаются в порядке очереди. В связи с этим вопрос, стоит ли использовать данные технологии при постройке cms, а именно подключение и вызов классов url?
-
Почему же велосипед? Я делаю Cms специально под формат сайта, многие популярные cms-ки предлагаются как гигантский шаблон, который пичкается модулями и плагинами для расширения, зачем это все нужно если легче (именно для меня самому создать то, что нужно, а не изучать чего там нету и дописывать). Joomla как раз таки популярна среди новичков, я сам начинал именно с Joomla, как и многие другие. Да спасибо, я как-то заходил на этот урок но что-то меня он не очень впечатлил, возможно чуть позже изучу его поподробнее
-
В зависимости от кол-ва контента и его связи с другими компонентами. Для небольшой информации подойдет модуль. Я например сделал такой, который в админе собираю превьюшку новости со ссылкой на статью, правда без БД.
-
Решил создать тестовую наиболее удобную для себя CMS (впервые), до этого пользовался Joomla (c шаблоном mvc), поэтому данный вид (немного измененный) проектирования я решил использовать и у себя. Пока я попробую кратко описать основную задумку все этого. Есть самый главный файл в корне сайта, напоминающий контроллер, так что можно назвать его так ControllerCore. ControllerCore - Этот файл получает значения GET запросов, в зависимости от которых вызывает класс, индивидуальный для указанной ссылки (страницы/ раздела меню). После подключения индивидуального класса, назовем его базовый класс страницы, этот класс вызывает 3 основных файла, которые формируют страницу: model, cotroller, view. (для каждого базового класса страницы есть свои MVC). Эти файлы являются дочерними (что собственно логично, потому что описывать идентичный код для каждой страницы в них было затруднительно), поэтому они наследуют отцов global_model, global_view, которые в свою содержат всю структуру, посредством вызова отдельных компонентов (классов данных меню и т.д.) В итоге мы получаем наследование уже имеющихся данных (всех), и при необходимости можем их предопределить, что позволит нам добавлять/удалять/изменять данные на конкретном разделе/страницы просто изменив необходимый класс. Что дает полный контроль над дизайном и данными. Собственно примерно так я вижу архитектуру сайта. Как считаете, годится ли она вообще?
-
Я имел в виду содержание данных в MVC, в модели например содержаться данные из БД, которые нужно передать view, что собственно и можно сделать через создание объекта например. За ссылку спс, изучу.
-
Хорошо.У меня есть 2 базовых класса, в одном данные, в другом их вывод, в них есть реализация методов. А также есть 2 дочерних, которые наследует каждый по своему классу, и если требуется - перераспределяют методы. Поэтому 2-м базовым классам нужен доступ друг к другу, чтобы получить данные и соответственно их представить, как и дочерним друг к другу, чтобы вывести предраспределенные методы. Базовые классы нужны лишь для того, чтобы избавить себя от мучения каждый раз описывать один и тот же метод. Не знаю, может быть это правда не правильно, просто я пока другого выхода не нашел
-
куда? В абстрактный класс? Каким способом можно создать связь между двумя интерфейсами? С помощью их наследования?