Autor | Zpráva | ||
---|---|---|---|
muflik Profil * |
#1 · Zasláno: 13. 10. 2010, 02:00:13
Dobrý den, mám takovýto script
echo " ... <a href='deletePage.php' onclick='if(confirm(\"Opravdu chcete položku smazat?\")){$.post(this.href, {id:$row[id]},function(data){alert(data);});}; return false;'><img src='img/silk/icons/delete.png'></a> ..."; ale php mi hází Parse error: syntax error, unexpected '.', expecting T_VARIABLE or '$' in ... on line xx přitom echo " ... <a href='deletePage.php' onclick='$.post(this.href, {id:$row[id]},function(data){alert(data);}); return false;'><img src='img/silk/icons/delete.png'></a> ..."; |
||
Tori Profil |
#2 · Zasláno: 13. 10. 2010, 02:15:31 · Upravil/a: Tori
muflik:
máte problém s uvozovkami a/nebo chybějícím escapováním znaku '$'. Zdejší zvýrazňovač syntaxe taky pěkně vybarvil rozdíl mezi oběma příklady: v prvním těmi složenými závorkami výslovně určujete, že vše mezi {$ a } se má vyhodnocovat jako nějaká komplikovaná proměnná. Ve druhém případě si to PHP stroj přebere po svém - když za dolarem nenásleduje podtržítko ani písmeno, vyhodnotí ho jako řetězec. (To jestli jde o JS nebo ne s tím nemá co dělat. PHP se zpracovává na serveru, JS u klienta. PHP stroj nezajímá, jestli na výstup jde obyčejný text, html nebo js.) |
||
muflik Profil * |
#3 · Zasláno: 13. 10. 2010, 02:38:52
Tori: Aha děkuji nevěděl jsem, že se musí '$' escapovat nicméně se mi teď po potvrzení confirmu neprovede ten post co předtim fungoval :( no nic necham to na ráno :-)
|
||
_es Profil |
#4 · Zasláno: 13. 10. 2010, 02:52:58
muflik:
Mám pochybnosti, či ti jasné, kde a kedy sa vykonáva JS a kde a kedy sa vykonáva PHP. |
||
muflik Profil * |
#5 · Zasláno: 13. 10. 2010, 08:46:32
_es: nejdřív se pomocí php vygeneruje html spolu s js a pak ve stránce kliknu na odkaz a na pozadí se mi odešle přes ajax post s id na php script.. řikam, že bez
'if(confirm(\"Opravdu chcete položku smazat?\")){ ... a }; to funguje, zřejmě v tom bude nějaká drobnost zatim sem na ní ale nepřišel. |
||
_es Profil |
#6 · Zasláno: 13. 10. 2010, 09:08:24 · Upravil/a: _es
muflik:
„zřejmě v tom bude nějaká drobnost zatim sem na ní ale nepřišel.“ Takže ti asi treba znova prečítať [#2], akurát že nejde o úvodzovky v PHP ale o úvodzovky v JS. Textové reťazce sú v JS uzavreté medzi " a " alebo medzi ' a '. Ako má teda asi JS spracovať príkaz: confirm(\"Opravdu chcete položku smazat?\") $row nazvaná takto divne? Je to premenná a máš ju správne definovanú? V JS nemusí mať premenná na začiatku $ . Uvedomuješ si, aké id odosielaš? To $.post je použitie jQuery?
|
||
Keeehi Profil |
#7 · Zasláno: 13. 10. 2010, 09:08:35
muflik:
Nakopíruj sem prosím tě trochu větší část kódu. Evidentně tam máš chybu v zápise. Takže to neopisuj a neupravuj, ale nakopíruj. |
||
_es Profil |
#8 · Zasláno: 13. 10. 2010, 09:30:00
Keeehi:
„Evidentně tam máš chybu v zápise.“ Evidentne je tých chýb, alebo ešte len skrytých chýb, viac. „Takže to neopisuj a neupravuj, ale nakopíruj.“ Radšej nech dá odkaz na nefunkčnú stránku. |
||
muflik Profil * |
#9 · Zasláno: 13. 10. 2010, 09:49:49
Děkuji už to funguje, původně byla chyba v $ a pak jsem přesunul deletePage.php a zapoměl jsem změnit cestu. :-)
|
||
Joker Profil |
#10 · Zasláno: 13. 10. 2010, 10:10:49
muflik:
php mi hází Parse error: syntax error (…) 1. …a proto je „logicky“ dotaz v kategorii Javascript. Přesouvám do PHP. 2. Syntax error = naučit se pořádně syntaxi daného jazyka a pořádně se podívat (případně používat slušné PHP vývojové prostředí, které syntaktické chyby rovnou podtrhává) Když chyba je „neočekávaná tečka, očekávána proměnná“, přičemž jediná tečka na daném řádku je v tom $.post, tak problém bude asi tam. |
||
_es Profil |
#11 · Zasláno: 13. 10. 2010, 10:20:46
Joker:
„tak problém bude asi tam“ Tých problémov tam je viac a ten bod 2 platí aj na JS toho kódu. |
||
Časová prodleva: 13 let
|
0