Parse error: syntax error, unexpected '"'
Sziasztok!
Sajnos már mindent átnéztem, de nem tudok rájönni a hiba okára.
Hiba: Parse error: syntax error, unexpected '"'
Kód:A sor amire az errort írja: Köszönöm a segítséget!
■ Sajnos már mindent átnéztem, de nem tudok rájönni a hiba okára.
Hiba: Parse error: syntax error, unexpected '"'
Kód:
$file = $folder_pages.$folder_titles.$epage."_titles.php";
unlink($file);
fopen($file, "w");
fwrite($file, "<?php\n\n");
$sql = "SELECT * FROM ".$mysql_table_pages." WHERE id = '".$epage."'";
$query = mysql_query($sql);
if(mysql_num_rows($query) == 1){
unlink($file);
$lang_prefix = explode(",", $row["available_languages"]);
fwrite($file, "<?php\n\n");
fwrite($file, "$$titles = array();\n");
for($i = 0; $i<count($lang_prefix); $i++){
fwrite($file, "$$titles[".$lang_prefix[$i]."] = '".$_POST["title_".$lang_prefix[$i]]."';\n");
}
fwrite($file, "\n\n?>");
fclose($file);
}
$folder_pages = "pages/";
$folder_titles = "titles/";
$epage = 5 /* Nem mindig 5 | Ez egy id ami sessionben utazott át az előző oldalról. */
/* Az available
_languages nevü mező ilyenekt tárol pl.: hu,eng */
fwrite($file, "$$titles[".$lang_prefix[$i]."] = '".$_POST["title_".$lang_prefix[$i]]."';\n");
Változók string interpolációban
Nekem viszont az az érzésem,
Csak az utolsó, hibás sort
Akkor rajtam is alaposan
7. sor első idézőjel elől
Ott egy pont
Viszont nemigazán értem, hogy
- mi akar lenni ez a PHP-ból írunk _POST-kezelő másik PHP-t;
- tényleg miért 3-szoros a téma (ha sürgős, ezzel csak árt magának is).
SZERK.: Nem-nem, nem nyertél, mert éppen most POSTolt adat kell neki oda, nem szövegesen írta a "$_POST"-ot sem! Bocsi, simán nincs ott pont!
Jobban megnéztem
De a sok idézőjel keverése akkor sem igazán jó, szívtam ilyennel én is sokat.
Tapasztalatom szerint szerencsésebb és kevesebb hibalehetőséggel jár inkább több sorban, akár több változóval is összerakni egy ilyen összetett sztringet, és a függvényhívásba már csak egy változót tenni. (Illetve az aposztróf is használható, csak akkor is jól oda kell figyelni a különbségekre.)
(Bocs, de nincs igazán időm - az igazat megvallva most kedvem sem - jobban belemászni, mi lenne az igazán helyes megoldás, a fentiek csak segítségképpen.)
Tapasztalatom szerint
Ott a pont. Oda kéne figyelni az olvashatóságra, mint a mellékelt ábra is mutatja, a hozzáértők is nehezen bogarásszák ki, mi a franc akar ez lenni :).
Az általad említetteken kívül én a sprintf függvényt szoktam még használni a káosz csökkentésére, alapesetben szigorúan szimpla aposztrófokkal.
+1
Hát az bizony nem való oda.
Az ilyen kérdéseknél azt is
Oknyomozó
$foo = 'bar'; $bar =
"$$foo["
sztringnél panaszkodni fog a PHP, hogy elkezdtél egy sztringbe interpolált változóhivatkozást, de félúton abbahagytad.Ettől nagyrészt függetlenül akkora biztonsági rés van ebben a kódban, mint egy ház.