Autor | Zpráva | ||
---|---|---|---|
piiiiiiiip Profil |
Potřebuju se zeptat jak v php mvc bez frameworku docílit pomocí ajaxu toho že když dostanu proměnnou z externí stránky tak se spustí script který odešle data do controlleru, který je odešle do modelu a model do databáze. Řeším to tak že pomocí setInterval aktualizuju php soubor s autoloaderem (abych se vyhnul php chybě že nelze najít controller), do kterého se vypisuje ta proměnná z externí stránky přez ten controller. Dál už ale nevím co s tím. Dokážu tu proměnnou vypsat ale už nevím jak ji zpracovat.
SomethingController.php <?php class LikeController extends Controller { public function process($parametrs) { //Script pro získání proměnné z externí stránky. <script> $(document).ready( function() { setInterval(function() { $('#show').load('../meziclanek.php'); }, 1000); } ); </script> <div id="show" class="show"></div> //autoloader $script = new SomethingController(); $script->process(); ?> |
||
Radek9 Profil |
#2 · Zasláno: 29. 5. 2016, 15:10:56
piiiiiiiip:
Nesmíš použít jQuery.load , ale něco, co ti ten obsah předá. V jQuery je to např. funkce get :
$(function () { setInterval(function () { $.get('../meziclanek.php', function (data) { // Tady pracuj s obsahem proměnné data }); }, 1000); }); |
||
piiiiiiiip Profil |
To by mohlo fungovat. Jen mě ještě napadlo že by se mi ta aplikace zrychlila kdybych ten meziclanek.php, který je tam jen kvůly tomu aby mi to neházelo tu chybu odstranil protože mi to hrozně, hrozně, hrozně . . . zpomaluje. Někde jsem četl že by se dalo docílit toho co potřebuji (zbavit se tý php chyby a zpracovat proměnnou) pomocí JSON. V controlleru jsem tedy vytvořil JSON řetezec
if(in_array($id, $pages)){ $test = array(); $test['ids'] = $id; echo json_encode($test); } |
||
piiiiiiiip Profil |
#4 · Zasláno: 30. 5. 2016, 12:06:18
Nevíte jak dostat JSON string z kontrolleru do pohledu?
|
||
piiiiiiiip Profil |
#5 · Zasláno: 30. 5. 2016, 19:16:41
Radek9:
A jak dostanu tu proměnnou? Mi jí to nevypíše. |
||
piiiiiiiip Profil |
#6 · Zasláno: 31. 5. 2016, 15:47:45
Opravdu nikdo neví?
|
||
Keeehi Profil |
|||
piiiiiiiip Profil |
#8 · Zasláno: 31. 5. 2016, 16:30:55
Co to s tím má společného? Já potřebuju aby se mi to každou vteřinu zaktualizovalo - ajax . . .
|
||
Keeehi Profil |
#9 · Zasláno: 31. 5. 2016, 16:37:11
Ve [#4] jsi se ptal, „jak dostat JSON string z kontrolleru do pohledu?“.
|
||
piiiiiiiip Profil |
Ano, Do JSON jsem encodoval array:
if(in_array($id, $pages)){ $test = array(); $test['ids'] = $id; echo json_encode($test); } |
||
_es Profil |
piiiiiiiip:
Obávam sa, že si celkom nepochopil, kedy a na čom beží PHP a kedy a na čom JS: Základní kurz 15: Komunikace mezi PHP a JavaScriptem, Nejčastější potíže s PHP (FAQ) » Jak přenést proměnnou z javascriptu do PHP JS môže odoslať dáta do meziclanek.php a meziclanek.php môže niečo spraviť na serveri a odoslať dáta späť do JS, ktoré JS nejako spracuje, napríklad podľa obdržaných dát zmení niečo na stránke zobrazenej v prehliadači klienta a pod. Na aké „kontrollery“ a „pohľady“ si rozčleníš PHP časť záleží na tebe a je neefektívne, aby ostatní tipovali ako (napr. [#7]). Mal by si dať zrozumiteľný dotaz, s čím ohľadom komunikácie medzi JS a meziclanek.php potrebuješ poradiť.
|
||
piiiiiiiip Profil |
#12 · Zasláno: 31. 5. 2016, 23:06:51
piiiiiiiip:
> Ano, Do JSON jsem encodoval array: if(in_array($id, $pages)){ $test = array(); $test['ids'] = $id; echo json_encode($test); } Mezi js a meziclanek.php žádná komunikace není. meziclanek.php mažu protože to jen příšerně zpomaluje a bude úplně k ničemu pokut JSON funguje tak jak si myslím že funguje. |
||
TomášK Profil |
#13 · Zasláno: 1. 6. 2016, 00:14:32
Zkus napsat, co je cílem - něco jako načíst status z facebooku a zobrazit ho uživateli, vyhni se tomu, jak to udělat. Pak ti někdo dokáže poradit, jak to máš udělat, kudy a jak mají téct data. Zřejmě v tom nemáš jasno a některé věci, co píšeš, nedávají moc smysl.
|
||
_es Profil |
#14 · Zasláno: 1. 6. 2016, 08:55:20
piiiiiiiip:
„Mezi js a meziclanek.php žádná komunikace není.“ A $('#show').load('../meziclanek.php'); si tam teda dal potom načo? „meziclanek.php mažu protože to jen příšerně zpomaluje“ A ako si teda potom predstavuješ, že bude JS komunikovať so serverom? „pokut JSON funguje tak jak si myslím že funguje.“ A ako si teda myslíš, že „JSON funguje“? Vieš vôbec, čo je JSON? JSON je len pomenovanie pre zápis dát v JS, netuším, čo si predstavuješ pod tým „fungovaním“? Odkazované články z [#11] si si prečítal? |
||
piiiiiiiip Profil |
TomášK:
Mám na své stránce výpis článků z db. Chci ale aby je mohl uřivatel zpřístupnit jen pokut lajknul facebookovou stránku podle výběru administrátora (každý článek jiná fb stránka). Jedná se o mvc web v php. V kontrolleru pro ty články mám php script, který zjistí jestly uživatel tu fb stránku lajknul, pokut ano tak vrátí id fb stránky do pohledu. Tet to s čím si nevím rady. Musím pomocí ajaxu a JSON (pokut je to k tomu potřeba) každou vteřinu aktualizovat ten kontroller abych zjistil jestly uživatel fb stránku lajknul a mohl tak zpřistupnit článek. Dále pokut se tak stane a uživatel stránku lajkne vytvoří se o tom záznam v db. _es A $('#show').load('../meziclanek.php'); piiiiiiiip: „Mezi js a meziclanek.php žádná komunikace není. meziclanek.php mažu protože to jen příšerně zpomaluje a bude úplně k ničemmu . . .“ |
||
_es Profil |
#16 · Zasláno: 1. 6. 2016, 15:29:34
piiiiiiiip [#15]:
Mal by si si dôkladne prečítať odkazovaný článok v [#11]. JS o žiadnych kontroleroch, pohľadoch a iných tvojich záležitostiach, čo si si povytváral v PHP, nič „nevie“. Keď beží JS, tak už PHP skript, čo vygeneroval stránku, obvykle dávno skončil. JS „pracuje“ s výsledným HTML kódom od PHP skriptu. „Musím pomocí ajaxu a JSON (pokut je to k tomu potřeba) každou vteřinu aktualizovat“ Je nevhodné, aby bol server „bombardovaný“ každú sekundu novým sieťovým dotazom len na zistenie toho, či návštevník náhodou na niečo neklikol. „a soubor meziclanek.php což mělo být stejně jen provizorní řešení odstranit“ Ale na komunikáciu so serverom predsa nejaké URL, odkazujúce na nejaký serverový skript, potrebuješ. Ako inak si predstavuješ tú komunikáciu? |
||
piiiiiiiip Profil |
#17 · Zasláno: 1. 6. 2016, 15:54:04
_es:
Já nepotřebuju aby to bylo vhodné, já potřebuju aby to fungovalo. Chtěl jsem použít .load jenže to mi v mvc nefunguje a proto tady vymýšlím tohle. |
||
Keeehi Profil |
#18 · Zasláno: 1. 6. 2016, 16:13:44
piiiiiiiip:
„Já nepotřebuju aby to bylo vhodné, já potřebuju aby to fungovalo.“ Ale potřebuješ aby to bylo vhodné. Protože pokud by se ti to povedlo takto vyřešit, tak to bude fungovat, když to budeš testovat. Problém však nastane, až to nasadíš na reálnou stánku s návštěvností. Server pod zátěží přestane stíhat a buď se nehorázně zpomalí, nebo rovnou spadne. Vlastně si sám dobrovolně děláš sám na sebe DOS útok. Použitím vhodného způsobu nejen že nebudeš tak zatěžovat server ale můžeš dosáhnou i lepší reakční doby, než je jedna vteřina. Což sice nemusí být potřeba ale může to být jen přidaný benefit. Ovšem problém je, že ty nezvládáš i celkem jednoduché věci. Měl bys zauvažovat nad tím, zda by nebylo vhodnější si sehnat někoho, kdo by to udělal za tebe. |
||
piiiiiiiip Profil |
#19 · Zasláno: 1. 6. 2016, 16:51:42
Kdybych si to mohl dovolik tak bych sehnal ale nemůžu. Jak by se to tedy dalo udělat optimálně tak aby to fungovalo tak jak jsem popsal (automaticky)?
|
||
Časová prodleva: 9 let
|
0