Autor | Zpráva | ||
---|---|---|---|
blazej44800 Profil |
Zobrazuje sa mi nasledujuca chyba v php
Parse error: syntax error, unexpected T_STRING in /home/free/ic.cz/b/blazej943/root/www/spracuj.php on line 24 pomozte mi ze co znamena to t_string dik Moderátor Majkl578: Tvůj projev je špatně srozumitelný, piš prosím s diakritikou. Moderátor Chamurappi: Titulek „chybova hlaska v php“ nevystihuje podstatu dotazu. Příště zkus prosím vymyslet lepší.
|
||
Leopik 2x Profil |
#2 · Zasláno: 18. 3. 2010, 14:28:51
Skus sa pozrieť na riadok 24 (poprípade o riadok vyššie a nižšie) a prídeš na to aj sám :)
|
||
blazej44800 Profil |
pls toto je ten riadok 23,24,25
skuste sa na to pozriet ze ci tam daco neobjavite $ip = $_SERVER[REMOTE_ADDR]; $oprava = "INSERT INTO ipx (ip,a,b,c,da,db,e,f,g,h,i,j,k,l,m,n,o,p,r,s,meno,files) VALUES ('$ip','$_GET[a]','$_GET','$_GET[c]','$_GET[da]','$_GET[db]','$_GET[e]','$_GET[f]','$_GET[g]','$_GET[h]','$_GET[i]','$_GET[j]','$_GET[k]','$_GET[l]','$_GET[m]','$_GET[n]','$_GET[o]','$_GET[p]','$_GET[r]','$_GET[s]','$_GET[meno]','$xxx')"; $dooprava = mysql_query($oprava, $link); Moderátor Majkl578: Tvůj projev je špatně srozumitelný, piš prosím s diakritikou.
Moderátor Majkl578: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
|
||
Leopik 2x Profil |
#4 · Zasláno: 18. 3. 2010, 14:35:39
Vo values (3 z ľava) máš len $_GET ktorý ti vráti array
|
||
Majkl578 Profil |
#5 · Zasláno: 18. 3. 2010, 14:35:46 · Upravil/a: Majkl578
V tomto kusu kódu parse error není.
'$_GET' Tohle je předpokládám špatně - chybí tam klíč. Taktéž klíče polí (jako řetězec) by měly být v uvozovkách: $ip = $_SERVER['REMOTE_ADDR']; |
||
AM_ Profil |
#6 · Zasláno: 19. 3. 2010, 13:43:55 · Upravil/a: AM_
blazej44800:
„pomozte mi ze co znamena to t_string“ T_STRING je token - string, čili že překladač narazil na řetězec někde, kde jej neočekával. Pokud se ti zobrazí parse error, většinou nemá smysl přemýšlet o přesném překladu chyby, ale prostě na dané řádce a v jejím okolí hledat syntaktickou chybu. Hint: chyba nemusí být na daném řádku, ale klidně o několik řádků výš. Zapomenutá ukončovací uvozovka o 10 řádků výše může způsobit, že 10 následujících řádků je bráno jako stringová hodnota (špatně, ale to kompilátor neví), na dalším řádku se objeví uvozovka, která je pochopena jako ukončovací, a za ní teprve kompilátor narazí na něco, co neumí přeložit. Příklad: $a = 'ahoj; //chybi uvozovka, problem je zde funkce(); cosi(); blabla(); $b = 'neco jineho'; //zde je az pro prekladac ukoncen retezec, nasleduje neznamy identifikator "neco", u ktereho kompilator zahlasi chybu. Viz barevne zvyrazneni kodu Hint 2: Pokud chybu nemůžeš najít, zkus kód rozdělit na více řádků nebo kousky umazávat - zjistíš přesněji, kde máš hledat problém. |
||
AM_ Profil |
#7 · Zasláno: 19. 3. 2010, 13:46:26
Majkl578:
„Taktéž klíče polí (jako řetězec) by měly být v uvozovkách:“ divil jsem se tomu, ale při inline zapisování proměnných do stringů se klíč nedává do uvozovek. '...'.$_GET['test'].' ...' |
||
Majkl578 Profil |
#8 · Zasláno: 19. 3. 2010, 18:45:26
AM:
Je tomu tak (bohužel), konkrétně jsem narážel na první řádek s REMOTE_ADDR. Souhlasím, že je to nepěkné. Navíc je to celé náchylné k SQL injection. |
||
Časová prodleva: 14 let
|
0