-
Migrace z Joomla 1.5, 2.5 a 3.x do nové Joomla 6
Bong ·
- X Online Joomla bar xunil ·
-
Phoca Cart - pluginy dopravy
H13 ·
-
Nový joomlaportal.cz
Linelabcz ·
-
Amanus - nová šablona Astroid frameworku podporující Phoca Cart
H13 ·
- X Claude Code a VS Code - kompromitace xunil ·
-
Phoca Download - verze 6.1.6 vydána
H13 ·
-
Phoca Cart - Booking
H13 ·
předání dat z javascript do PHP
- Ernst
- Autor
- OFFLINE
- Joomla Expert
-
Méně
Více
- Příspěvky: 2380
21. zář 2015 14:16 #123497
od Ernst
Odpověď od Ernst v tématu předání dat z javascript do PHP
Já Vám strašně moc děkuji, že si mi takto věnujete. Hodně jste mně toho naučil.
ten sled funkcí se mi taky nezdál, ale fungovalo to. Dokonce jsem měl hned na začátku nadefinovány ty dvě proměnné, ale nebylo to třeba. Vysvětlit to samozřejmě neumím ani nepotřebuji.
To "a" jsem tam měl jen proto, že jsem zatím neuměl odeslat zpět dvě proměnný, tak jsem si výsledek v php rozdělil pomocí toho "a" na dvě proměnný.
Pomocí toho v php
$document = &JFactory::getDocument();
$document->addScript('/components/com_lovefactory/js/lokace.js');
se mi javascript odešle (do console vypíše odesláno), Jak to vlastně funguje mi není zcela jasné, ale beru to jako fakt a později se to doučim.
ale v tom lokace php to asi nemohu přečíst jako $_REQUEST ale musím použít $_GET?
Studoval jsem to na mnoha webech, nejnověji na jaknajquery.cz/ajax-a-jquery/ a www.koding.cz/priklady.php?id=26
Samozřejně bych raději upravil tu komponentu (z ní to volám) ale přijímám v jiném PHP, ale zatím to neumím.
Jde o stránku, kde zobrazuji uživatele a potřebuji vypsat vzdálenost od mé aktuální pozice.
Takže tu stránku (funkci) musím nějak znovu zavolat s parametry, které jsem získal z JS.
Nebo ten JS volat o něco dřív a použít Vámi nenáviděnou globální proměnnou s mojí geolokací. To by také teoreticky šlo?
ten sled funkcí se mi taky nezdál, ale fungovalo to. Dokonce jsem měl hned na začátku nadefinovány ty dvě proměnné, ale nebylo to třeba. Vysvětlit to samozřejmě neumím ani nepotřebuji.
To "a" jsem tam měl jen proto, že jsem zatím neuměl odeslat zpět dvě proměnný, tak jsem si výsledek v php rozdělil pomocí toho "a" na dvě proměnný.
Pomocí toho v php
$document = &JFactory::getDocument();
$document->addScript('/components/com_lovefactory/js/lokace.js');
se mi javascript odešle (do console vypíše odesláno), Jak to vlastně funguje mi není zcela jasné, ale beru to jako fakt a později se to doučim.
ale v tom lokace php to asi nemohu přečíst jako $_REQUEST ale musím použít $_GET?
Studoval jsem to na mnoha webech, nejnověji na jaknajquery.cz/ajax-a-jquery/ a www.koding.cz/priklady.php?id=26
Samozřejně bych raději upravil tu komponentu (z ní to volám) ale přijímám v jiném PHP, ale zatím to neumím.
Jde o stránku, kde zobrazuji uživatele a potřebuji vypsat vzdálenost od mé aktuální pozice.
Takže tu stránku (funkci) musím nějak znovu zavolat s parametry, které jsem získal z JS.
Nebo ten JS volat o něco dřív a použít Vámi nenáviděnou globální proměnnou s mojí geolokací. To by také teoreticky šlo?
- Ernst
- Autor
- OFFLINE
- Joomla Expert
-
Méně
Více
- Příspěvky: 2380
21. zář 2015 16:11 #123498
od Ernst
Odpověď od Ernst v tématu předání dat z javascript do PHP
Někde je chyba a nevím kde
lokace.js:
jQuery(function(){
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
jQuery.ajax({
url: '/components/com_lovefactory/models/lokace.php',
data: {lat: position.coords.latitude, lgt: position.coords.longitude}
}).done(function(){
console.log('Odeslano');
}).fail(function(){
console.log('Odeslání selhalo');
});
}, function(error){
console.log('Zjitění souřadnic selhalo');
console.log(error.message);
});
}
});
ale to lokace.php se nezavolá
lokace.js:
jQuery(function(){
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
jQuery.ajax({
url: '/components/com_lovefactory/models/lokace.php',
data: {lat: position.coords.latitude, lgt: position.coords.longitude}
}).done(function(){
console.log('Odeslano');
}).fail(function(){
console.log('Odeslání selhalo');
});
}, function(error){
console.log('Zjitění souřadnic selhalo');
console.log(error.message);
});
}
});
ale to lokace.php se nezavolá
- Ernst
- Autor
- OFFLINE
- Joomla Expert
-
Méně
Více
- Příspěvky: 2380
22. zář 2015 09:41 #123505
od Ernst
Odpověď od Ernst v tématu předání dat z javascript do PHP
Tedy ono se zavolá:
GET http://localhost/components/com_lovefactory/models/lokace.php?lat=50.0373925&lgt=14.309066399999999
ale v lokace php se mi nic neděje.
Poslané hodnoty nemohu zobrazit (třeba var_dump()) a když v tom lokace.php udělám úmyslně chybu syntaxe žádná chyba se nevypíše.
Prostě to vypadá, jako by to php neproběhlo.
Celé to lokace php jsem napsal jen:
<?php $lat = $_GET["lat"]; $lon = $_GET["lgt"];
var_dump($lat); var_dump($lat);?>
Ale nic se nevypíše. Kde prosím dělám chybu?
GET http://localhost/components/com_lovefactory/models/lokace.php?lat=50.0373925&lgt=14.309066399999999
ale v lokace php se mi nic neděje.
Poslané hodnoty nemohu zobrazit (třeba var_dump()) a když v tom lokace.php udělám úmyslně chybu syntaxe žádná chyba se nevypíše.
Prostě to vypadá, jako by to php neproběhlo.
Celé to lokace php jsem napsal jen:
<?php $lat = $_GET["lat"]; $lon = $_GET["lgt"];
var_dump($lat); var_dump($lat);?>
Ale nic se nevypíše. Kde prosím dělám chybu?
- Cony
-
- Pryč
- Moderátor
-
Méně
Více
- Příspěvky: 5174
22. zář 2015 09:44 #123506
od Cony
Odpověď od Cony v tématu předání dat z javascript do PHP
A kde jako čekáte, že se Vám to vypíše? Kontroloval jste v konzoli výsledek AJAX dotazu?
- Ernst
- Autor
- OFFLINE
- Joomla Expert
-
Méně
Více
- Příspěvky: 2380
22. zář 2015 09:54 - 22. zář 2015 09:58 #123507
od Ernst
Odpověď od Ernst v tématu předání dat z javascript do PHP
ano kontroloval, vše OK
Myslím, že by se to mělo vypsat v tom PHP
PS Pokud do js přidám alert, tak to také vypíše správně
Možná jsme se trefili do stejného času a nečetl jste moji poslední odpověď
Myslím, že by se to mělo vypsat v tom PHP
PS Pokud do js přidám alert, tak to také vypíše správně
Možná jsme se trefili do stejného času a nečetl jste moji poslední odpověď
- Cony
-
- Pryč
- Moderátor
-
Méně
Více
- Příspěvky: 5174
22. zář 2015 12:09 #123508
od Cony
Odpověď od Cony v tématu předání dat z javascript do PHP
Tak schválně, za domácí úkol se zkuste nad tím zamyslet, co to znamená to "vypsat v tom PHP", kde hledat to co si "vypíšte v tom PHP". (malá nápověda AJAX = Asynchronous Javascript And Xml).ernst napsal: ano kontroloval, vše OK
Myslím, že by se to mělo vypsat v tom PHP
- Ernst
- Autor
- OFFLINE
- Joomla Expert
-
Méně
Více
- Příspěvky: 2380
22. zář 2015 13:08 - 22. zář 2015 13:14 #123509
od Ernst
Odpověď od Ernst v tématu předání dat z javascript do PHP
myslím v tom php co volám z JS, tedy lokace.php ne v tom odkud to volám.
Kde jinde bych si ty hodnoty měl přečíst?
V té mé předchozí variantě, kde jsem testoval ty pole a tlačítko se mi to v tom vypsalo a mohl jsem s tím pracovat.
Já přeci to lokace.php volám s těmi parametry, tak bych to tam měl mít a mít možnost s tím pracovat.
ten ajax v JS přeci zavolá http://localhost/components/com_lovefactory/models/lokace.php?lat=50.0373925&lgt=14.309066399999999
Kde jinde bych si ty hodnoty měl přečíst?
V té mé předchozí variantě, kde jsem testoval ty pole a tlačítko se mi to v tom vypsalo a mohl jsem s tím pracovat.
Já přeci to lokace.php volám s těmi parametry, tak bych to tam měl mít a mít možnost s tím pracovat.
ten ajax v JS přeci zavolá http://localhost/components/com_lovefactory/models/lokace.php?lat=50.0373925&lgt=14.309066399999999
- karel
-
- OFFLINE
- Zkušený uživatel
-
Méně
Více
- Příspěvky: 621
22. zář 2015 13:31 - 22. zář 2015 13:38 #123510
od karel
Znáte-li řešení, sdělte ho - pomůžete ostatním při řešení stejného problému, i případný "rádce" bude vědět, poradil-li správně nebo špatně.
Odpověď od karel v tématu předání dat z javascript do PHP
zkusím napovědět více:
Proč ten AJAX je vlastně asynchronní?
Co to je to asynchronní?
Jaký je rozdíl mezi zavoláním stejné URL: http://localhost/components/com_lovefactory/models/lokace.php?lat=50.0373925&lgt=14.309066399999999
- prohlížečem ?
- JS ?
, ano správně, ... a webový server provede, to co je v souboru definováno, ale je komu (jak) odpovědět? Kam/jak se má výsledek odeslat/zobrazit? Kdo vlastně ten soubor ze serveru požadoval a jak? (Vy to víte, já to vím, ale ví o tom prohlížeč, server ?)ajax v JS přeci zavolá http://localhost/components/com_lovefactory/models/lokace.php?lat=50.0373925&lgt=14.309066399999999
Proč ten AJAX je vlastně asynchronní?
Co to je to asynchronní?
Jaký je rozdíl mezi zavoláním stejné URL: http://localhost/components/com_lovefactory/models/lokace.php?lat=50.0373925&lgt=14.309066399999999
- prohlížečem ?
- JS ?
Znáte-li řešení, sdělte ho - pomůžete ostatním při řešení stejného problému, i případný "rádce" bude vědět, poradil-li správně nebo špatně.
Poděkovali: Ernst
- karel
-
- OFFLINE
- Zkušený uživatel
-
Méně
Více
- Příspěvky: 621
22. zář 2015 13:47 #123511
od karel
Znáte-li řešení, sdělte ho - pomůžete ostatním při řešení stejného problému, i případný "rádce" bude vědět, poradil-li správně nebo špatně.
Odpověď od karel v tématu předání dat z javascript do PHP
Celý příklad i se zobrazením výsledku v jQuery:
api.jquery.com/jquery.post/
api.jquery.com/jquery.post/
Znáte-li řešení, sdělte ho - pomůžete ostatním při řešení stejného problému, i případný "rádce" bude vědět, poradil-li správně nebo špatně.
- Ernst
- Autor
- OFFLINE
- Joomla Expert
-
Méně
Více
- Příspěvky: 2380
22. zář 2015 14:56 #123515
od Ernst
Odpověď od Ernst v tématu předání dat z javascript do PHP
zkusím odzadu
Když napíšu do prohlížeče http://localhost/components/com_lovefactory/models/lokace.php?lat=50.0373925&lgt=14.309066399999999 tak mi var_dump ty hodnoty v php vypíše.
Když to zavolá ajax z JS neděje se nic. Proč to nevím.
Já se to snažil pochopit dle jquery-navod.cz/kategorie-ajax/9-ajax a jaknajquery.cz/ajax-a-jquery/
ten příklad, co jste mi poslal Vy nějak nechápu.
Když jsem zkoušel ten pokus se zadáním jména (příspěvek z 20.9. 22:52) tak jsem v tom lokace.php mohl s proměnnými pracovat a chápal jsem, jak to je.
Tenhle způsob tedy nějak nejsem schopen pochopit
Kde co blbě chápu? jak to tedy mám udělat?
Když napíšu do prohlížeče http://localhost/components/com_lovefactory/models/lokace.php?lat=50.0373925&lgt=14.309066399999999 tak mi var_dump ty hodnoty v php vypíše.
Když to zavolá ajax z JS neděje se nic. Proč to nevím.
Já se to snažil pochopit dle jquery-navod.cz/kategorie-ajax/9-ajax a jaknajquery.cz/ajax-a-jquery/
ten příklad, co jste mi poslal Vy nějak nechápu.
Když jsem zkoušel ten pokus se zadáním jména (příspěvek z 20.9. 22:52) tak jsem v tom lokace.php mohl s proměnnými pracovat a chápal jsem, jak to je.
Tenhle způsob tedy nějak nejsem schopen pochopit
Kde co blbě chápu? jak to tedy mám udělat?
- Cony
-
- Pryč
- Moderátor
-
Méně
Více
- Příspěvky: 5174
22. zář 2015 15:11 #123518
od Cony
Jak to máte udělat? A co vlastně chcete? Chcete uživateli vypsat jeho GPS souřadnice? Pokud vím tak ne. Vy je chcete přeci uložit do databáze. Tak proč probůh řešíte, že se Vám nikde nevypisujou, prostě je uložte do databáze a pak se na ně můžete dívat v databázi.
Pokud chcete uživateli ukazovat zpětnou vazbu o tom, že se informace uložila (ale to asi ne, nebudete nikomu přeci říkat jak ho šmírujete), tak to musíte pořešit ve funkci done toho javascriptu co jsem psal.
Odpověď od Cony v tématu předání dat z javascript do PHP
Blbě chápete celý princip fungování Javascript, AJAX, PHP atd..ernst napsal: Kde co blbě chápu? jak to tedy mám udělat?
Jak to máte udělat? A co vlastně chcete? Chcete uživateli vypsat jeho GPS souřadnice? Pokud vím tak ne. Vy je chcete přeci uložit do databáze. Tak proč probůh řešíte, že se Vám nikde nevypisujou, prostě je uložte do databáze a pak se na ně můžete dívat v databázi.
Pokud chcete uživateli ukazovat zpětnou vazbu o tom, že se informace uložila (ale to asi ne, nebudete nikomu přeci říkat jak ho šmírujete), tak to musíte pořešit ve funkci done toho javascriptu co jsem psal.
Code:
...
}).done(function(data){
console.log('Odesláno');
console.log('Odpověďd');
console.log(data);
}).fail(function(){
...
- Ernst
- Autor
- OFFLINE
- Joomla Expert
-
Méně
Více
- Příspěvky: 2380
22. zář 2015 15:18 #123520
od Ernst
Odpověď od Ernst v tématu předání dat z javascript do PHP
ne já je nepotřebuji uložit do databáze.
potřebuji je dostat do php (jako aktuální pozici) a v tom spočítat vzdálenost od jiných souřadnic. To vše v php již umím.
Vypisovat je nikde nechci, to var_dump() si tam dávám jen pro ladění, v podstatě abych věděl, kde co mám.
To znamená potřebuji souřadnice dostat do proměnných v php
potřebuji je dostat do php (jako aktuální pozici) a v tom spočítat vzdálenost od jiných souřadnic. To vše v php již umím.
Vypisovat je nikde nechci, to var_dump() si tam dávám jen pro ladění, v podstatě abych věděl, kde co mám.
To znamená potřebuji souřadnice dostat do proměnných v php
- karel
-
- OFFLINE
- Zkušený uživatel
-
Méně
Více
- Příspěvky: 621
22. zář 2015 15:24 - 22. zář 2015 15:26 #123521
od karel
Znáte-li řešení, sdělte ho - pomůžete ostatním při řešení stejného problému, i případný "rádce" bude vědět, poradil-li správně nebo špatně.
Odpověď od karel v tématu předání dat z javascript do PHP
aneb:
Když vložíte http://localhost/components/com_lovefactory/models/lokace.php?lat=50.0373925&lgt=14.309066399999999 :
-- do prohlížeče, tak Vám zobrazí odpověď automaticky (na to je stavěný: něco požadujete ze serveru, server pošle prohlížeči HTML, vygenerované na serveru, pomocí PHP))
-- když zavoláte pomocí JS stejnou URL, a __nechcete_a_neočekáváte_odpověď __ ( done(function...), .fail(function()), tak si server zpracuje to co má (včetně všemožných chyb)), a zahodí, pokud ten výsledek "nikdo" nechce)
Pořád si pletete "vložit do php" a "zobrazit uživateli"
vložit do PHP by znamenalo, že pomocí JS chcete měnit soubory na serveru, a to asi nechcete, ne?
Když vložíte http://localhost/components/com_lovefactory/models/lokace.php?lat=50.0373925&lgt=14.309066399999999 :
-- do prohlížeče, tak Vám zobrazí odpověď automaticky (na to je stavěný: něco požadujete ze serveru, server pošle prohlížeči HTML, vygenerované na serveru, pomocí PHP))
-- když zavoláte pomocí JS stejnou URL, a __nechcete_a_neočekáváte_odpověď __ ( done(function...), .fail(function()), tak si server zpracuje to co má (včetně všemožných chyb)), a zahodí, pokud ten výsledek "nikdo" nechce)
Pořád si pletete "vložit do php" a "zobrazit uživateli"
vložit do PHP by znamenalo, že pomocí JS chcete měnit soubory na serveru, a to asi nechcete, ne?
Znáte-li řešení, sdělte ho - pomůžete ostatním při řešení stejného problému, i případný "rádce" bude vědět, poradil-li správně nebo špatně.
- Cony
-
- Pryč
- Moderátor
-
Méně
Více
- Příspěvky: 5174
22. zář 2015 15:30 #123523
od Cony
Odpověď od Cony v tématu předání dat z javascript do PHP
A dál? Co s tou vzdáleností?ernst napsal: ne já je nepotřebuji uložit do databáze.
potřebuji je dostat do php (jako aktuální pozici) a v tom spočítat vzdálenost od jiných souřadnic.
- karel
-
- OFFLINE
- Zkušený uživatel
-
Méně
Více
- Příspěvky: 621
22. zář 2015 15:34 #123524
od karel
Znáte-li řešení, sdělte ho - pomůžete ostatním při řešení stejného problému, i případný "rádce" bude vědět, poradil-li správně nebo špatně.
Odpověď od karel v tématu předání dat z javascript do PHP
imho (asi) zobrazit nejbližší ...
Znáte-li řešení, sdělte ho - pomůžete ostatním při řešení stejného problému, i případný "rádce" bude vědět, poradil-li správně nebo špatně.
Vygenerováno za 0.122 sekund