Mitä täs on vikaa täs on?
<?php //$topic=$_GET["t"]; $error=$_GET["error"]; $tulos=explode("_", $_GET["t"]); $forum=$tulos[0]; $topic=$tulos[1]; $tulos=sqlite_query("SELECT otsikko, viestit FROM ".$forum." WHERE num = ".$topic, $db); $i=0; $rivi=sqlite_fetch_array($tulos); echo '<h1>Foorumi - '.$rivi["otsikko"].'</h1>'; if($error==1){ echo '<b>Viestikenttä oli tyhjä!</b>'; } echo '<table width="100%">'; $tulos=explode("\n",$rivi["viestit"]); for($i=0; $i <= count($tulos); $i=$i+2) { $nimi=$tulos[$j]; $viesti=$tulos[$j+1]; if($nimi <> "") { $data.='<tr><td><b>'.$nimi.'</b>'; if($nimi==$user) { $data.=' <a href="?act=edit&t='.$forum.'_'.$topic.'&v='.$i.'">muokkaa</a>'; } $data.='<p>'.$viesti."</p></td></tr>\n"; } echo $data.'</table>'; if($user) { echo '<form action=sr.php?t="'.$forum.'_'.$topic.'" method="post"> <b>Viesti:</b><br /><textarea rows="10" cols="40" name="viesti"></textarea><br /> <input type="submit" value=" Lähetä " /> </form>'; } ?>
Ku tulee "Parse error: parse error, unexpected $ in /opt/monkey-0.9.1/htdocs/sf/viewtopic.php on line 32".
Jos vaikka sisentäisit ja rivittäisit koodiasi hieman järkevämmin, niin saattaisit itsekin huomata, että tuolle for-lauseelle ei löydy sulkevaa aaltosulkua.
Lisäksi tuo sql-kysely vaikuttaa hieman vaaralliselta (http://en.wikipedia.org/wiki/Sql_injection)...
Sulta puuttuu ilmeisesti seuraavan ehdon sulkeva kaarisulku:
if($nimi <> "") {
Edit: hidas. Ja myös piti mainita, että kunnolla sisennetty koodi olisi tuonkin paljastanut...
Taas näitä ärsyttäviä php-virheitä ku valittaa vasta myöhemmällä rivillä. Niin ja tuo for oli sisennetty mutta se katos ku laitoin sen tuohon. Niin tuossa SQL-kyselys onki vaara jos joku laittaa jotain kivaa osoiteriville.
Tuo PHP:n antama virheilmoitus ei kyllä kieltämättä ole kaikkein kuvaavin.
"Parse error: parse error, unexpected $"
Mutta kun tietää, että $-merkki tarkoittaa loppua, niin tuosta kyllä ymmärtää heti "Odottamaton loppu", eli useimmiten juuri pariton määrä kaarisulkuja.
Eli $-merkki ei viittaakkaan muuttujan määrittelyssä käytettyyn symboliin, vaan nimenomaan jonkun osion loppua?
Näin minä sen olen ymmärtänyt. Säännöllisissä lausekkeissa tuo $-merkki tarkoittaa rivin loppua. PHP:ssä ilmeisesti tiedoston loppua?
Aihe on jo aika vanha, joten et voi enää vastata siihen.