@phpclubru

Страница 595 из 956
Artem
30.05.2018
10:56:04
Не работает
12. $data = $_POST; поменяй на 12. $data = &$_POST;

Evgeny
30.05.2018
10:56:35
Я их request.responseText вставляю в div.result

Их - данные

Дмитрий
30.05.2018
10:57:21
Я их request.responseText вставляю в div.result
поздравляю. А в каком виде ты хочешь их там получить? я так понял "распечатка" вардампа тебе не нравится, а что нравится?

Google
Evgeny
30.05.2018
10:57:46
Я нажимаю на кнопку backup, и отсылаются ajax, post данные через роутер в метод Hosts далее в контроллер HostsController далее в вид node

Artem
30.05.2018
11:00:44
Не работает
оно не может не работать. Покажи код где ты вызываешь этот метод?

Evgeny
30.05.2018
11:01:00
https://github.com/nodorgrom/mvc

Artem
30.05.2018
11:01:59
https://github.com/nodorgrom/mvc
открой файл в котором ты вызываешь в github, ткни мышкой на номер строчки и скопируй ссылку сюда

Artem
30.05.2018
11:03:48
Извините я не с компьютера, но попробую
где вызывается этот метод? https://github.com/nodorgrom/mvc/blob/master/backuper/controllers/HostsController.php#L22

Artem
30.05.2018
11:04:51
HostController.php
нет это объявление метода, а вызывается он явно где то в другом месте...

Дмитрий
30.05.2018
11:06:08
нет это объявление метода, а вызывается он явно где то в другом месте...
https://github.com/nodorgrom/mvc/blob/ef53a1d8d10df0cc5ed1889ff254687305e78773/backuper/components/Router.php#L68

тут вероятно

Artem
30.05.2018
11:07:50
тут вероятно
ну вот тогда интересно что там передается в параметрах и вызывается ли он вообще. Поскольку не работать оно не может, если там лежит ссылка на $_POST, то он в любом случае вернeт текущий массив

Google
Дмитрий
30.05.2018
11:10:07
Я их request.responseText вставляю в div.result
https://github.com/nodorgrom/mvc/blob/ef53a1d8d10df0cc5ed1889ff254687305e78773/backuper/views/hosts/node.php#L76 вот тут напиши что то вроде <?="<pre>"?><?print_r($data)?><?="</pre>"?>

Дмитрий
30.05.2018
11:15:00
Пусто
аа понял)

как только посмотрел ваш js)

Artem
30.05.2018
11:15:11
Пусто
вот это https://github.com/nodorgrom/mvc/blob/master/backuper/controllers/HostsController.php#L27 локальная переменная $data

Evgeny
30.05.2018
11:16:39
Artem
30.05.2018
11:17:29
Но в node.php она должна быть видна
а в каком месте она там используется ?

Evgeny
30.05.2018
11:18:13
а в каком месте она там используется ?
Например в самом конце файла

Artem
30.05.2018
11:18:54
Например в самом конце файла
или у меня ctrl+F сломан или у нас разные концы файла ))

Дмитрий
30.05.2018
11:20:02
Извините, я обновил
https://github.com/nodorgrom/mvc/blob/ef53a1d8d10df0cc5ed1889ff254687305e78773/backuper/template/scripts/main.js#L75

тут по вашему куда запрос летит?

Artem
30.05.2018
11:21:05
тут по вашему куда запрос летит?
я уже хз, может файл динамически создается...

Evgeny
30.05.2018
11:21:09
Дмитрий
30.05.2018
11:21:37
ну ссылка идёт напрямую на файл класса) request.open('POST', '../models/Hosts.php');

Evgeny
30.05.2018
11:21:55
Ну да

Google
Дмитрий
30.05.2018
11:22:07
он конечно же ничего не возвращает) на то он и класс) если вы хотите какой то вывод, то вызывайте метод контроллера, чтобы тот подцепил view

Evgeny
30.05.2018
11:22:19
Если я на вид кину ссылку то подгружаться будет копия страницы

Дмитрий
30.05.2018
11:22:22
или вы не сможете нормально использовать этот класс где то ещё

Artem
30.05.2018
11:23:21
ну там как минимум чтобы в этот файл попасть путь неправильный, он же только на один уровень выше идет.

Дмитрий
30.05.2018
11:24:18
ну если он вызывается из "/" то url будет /models/Hosts.php

Дмитрий
30.05.2018
11:25:28
Правильно он идёт, выходит на уровень выше далее в models и в модель Hosts.php
это js, ему побоку где лежит main.js в таких вопросах

путь будет собираться относительно текущего урла(если путь динамический) или от корня, если абсолютный

в данном случае у вас будет http://host.ru/../models/Host.php, а это тот самый файл класса, к которому доступа не должно быть по-хорошему)

Evgeny
30.05.2018
11:27:46
Дмитрий
30.05.2018
11:28:27
Ок, но даже изменив на ваш вариант поведение остаётся прежним
на какой вариант?) вы вызвали метод контроллера, который подцепляет view?)

Дмитрий
30.05.2018
11:29:35
Просто изменил ../models... На /models...
я такой вариант не предлагал))

Evgeny
30.05.2018
11:29:42
:)

Объясню, я хочу при нажатии на кнопку бэкап через пхп запускать bash скрипт

Повыше поднимемся так сказать

Дмитрий
30.05.2018
11:32:59
для этого надо обратится к методу контроллера по правильному урлу, чтобы роутер нашёл метод в контроллере

Evgeny
30.05.2018
11:33:02
Я так понимаю запуск баш скрипта должен стартовать в модели

Google
Evgeny
30.05.2018
11:34:03
А это объявление

Дмитрий
30.05.2018
11:34:06
Я так понимаю запуск баш скрипта должен стартовать в модели
ну так и обращайтесь в actionView, а не в models/Hosts.php

Evgeny
30.05.2018
11:36:03
Контроллер всего лишь посредник в передаче

Входные данные в модели же

Дмитрий
30.05.2018
11:36:35
Входные данные в модели же
в модели бизнесс-логика, в контроллере обработка запроса (если просто)

чтобы модель что то делала, надо это что то запусть не так ли?

Admin
ERROR: S client not available

Evgeny
30.05.2018
11:39:01
Ага

Но модель даже не принимает данные для работы

Чет я поплыл

Дмитрий
30.05.2018
11:39:54
а как они туда попадут?))

Evgeny
30.05.2018
11:40:54
почему не принимает то))
Потому что POST пустой)) или я в трёх соснах заблудился

Дмитрий
30.05.2018
11:41:00
вобщем первая ссылка в гугле на mvc на вики https://ru.wikipedia.org/wiki/Model-View-Controller в картинке ясно указано что к чему

по картинке видно, кто именно совершает манипуляции с моделью

а вы обращаетесь напрямую к файлу класса модели, при этом не говоря о том, что именно вы хотите) ну он вам ничего и не делает)

url в js должен быть примерно таким: https://b000313/hosts/001

Google
Дмитрий
30.05.2018
11:45:18
где 001 - id хоста

то есть вместо ../models/Hosts.php, надо написать 'hosts/{id хоста}'

Evgeny
30.05.2018
11:46:20
где 001 - id хоста
Вот по такой ссылке работает

Но в ответ приходит вся страница))

Дмитрий
30.05.2018
11:46:43
Evgeny
30.05.2018
11:46:44
И в post наконец то данные

А я хочу только то что в post

Дмитрий
30.05.2018
11:48:21
напишите новый метод в классе контроллера, добавьте его в /config/routes.php по аналогии с другими и обращайтесь по тому урлу, который укажете в файле роутов. А внутри этого метода выводите свой $_POST

Ilnur
30.05.2018
12:12:10
Потому что POST пустой)) или я в трёх соснах заблудился
покажи js'ку как ты данные передаешь на бэк скорее всего raw JSON, такие данные не будут в $_POST, а ловить тут - $data = file_get_contents('php://input'); var_dump($data);

Evgeny
30.05.2018
13:23:39
нет, там форма
А можете в личке ответить?

Спасибо всем за помощь, и Дмитрию за верное направление, работает :)

Pavel
30.05.2018
14:12:49
Че, а зачем в личку? Нельзя просто прийти?

Юлия
30.05.2018
14:13:35
Че, а зачем в личку? Нельзя просто прийти?
Мне нужно сделать пропуск) И понимать сколько нужно пива)

Andrei
30.05.2018
14:14:12
а зачем вам пропуск? а пива много не бывает

Юлия
30.05.2018
14:17:23
а зачем вам пропуск? а пива много не бывает
Мы находимся в бизнес-центре на 7 этаже. У них пропускная система

а зачем вам пропуск? а пива много не бывает
Бывает?Что с ним потом делать - не знаю)

Andrei
30.05.2018
14:29:20
Далеко ехать ?
пф.пф.пф. даже ради печенюшек? :)

Юлия
30.05.2018
14:31:14
Далеко ехать ?
Очень жаль. Я бы с радостью с вами познакомилась(

Algis
30.05.2018
14:47:27
а что без пива никто не идет к вам на собеседование ? :)

Страница 595 из 956