Kun yritän saada forin sisälle iffin, jonka sisälle vielä toinen if näin:
for ($x=0;$x<ehto;$x++) if {$y[$x]=$ehto} // Tällä rivillä on muka virhe { if {$y[$x]="ehto"} { Tapahtumia... } } }
Niin silloin tulee valitus:
Parse error: parse error, expecting `'}'' in x.php on line XX
Niin, että mikä voisi olla vikana?
Tuo lienee ratkaisu ongelmaasi.
Muista myös, että Basicista poiketen PHP:ssä vertailuun tarvitaan kaksi =-merkkiä.
Eli näin:
if ($y[$x]=="ehto")
Kiitos, mutta nyt se valittaa seuraavaa:
Parse error: parse error, expecting `','' or `';'' in /mbnet/h/haraa/peli/naytavinkit.php on line 35
Ja koodi on seuraavanlainen kokonaisuudessaan (muuttujien nimet, ja tiedoston nimet olen muuttanut):
<?php $ad=fopen("x.dat","r+"); ECHO "blaablaa"; for ($i=0;$i<count($ad);$i++) { if ($ad[$i]==$yksposthomma) { if ($ad[$i]=="ehto") //Tällä rivillä on selaimen mukaan virhe { $x1=$ad[$i+1]; $x2=$ad[$i+2]; $x3=$ad[$i+3]; $x4=$ad[$i+4]; $x5=$ad[$i+5]; echo "<A HREF=".chr(34)."X?row=".$i.">".$x5."</A><BR>"; } } } ?>
kokeile jos otat nuo hipsut pois tuosta kohdasta:
if ($ad[$i]=="ehto")
hipsut?
Nyt on vielä rivillä:
$x1=$ad[$i+1];
seuraavanlainen virhe:
Parse error: parse error, expecting `']'' in /mbnet/h/haraa/peli/naytavinkit.php on line 37
Sori muuten, mä oon vasta aloittelija tässä, ja yritin tehdä jonkinlaisen jutskan yhelle sivulle, mutku ei oikein suostu toimiin.
Muista laittaa puolipisteet perään.
Mulla on. Vai pitääkö iffeissä, ja foreissa olla?
Ei tuossa mitään vikaa kyllä enää pitäisi olla. Tarkistin asian vielä omalla koneella, ja hyvin toimi (teksti blaabaa tulostui).
Ei pidä. Muista että kaikkien ylimääräisten hipsujen " edessä täytyy olla \
Bugaa vähän laitoin kenoviivan \" ilman tuota hipsua
Joo, kyllä se nyt toimii.
Mut mä yritin tehä sellasen, et se lukis rivin kerrallaan tekstistä, mut se ottaa isomman siivun, ku pitäs yhteen taulukon kohtaan. Miten sen sais silleen, et se toimis?
Helpointa on ehdottomasti:
$taulukko=file("tiedosto.dat"); // $taulukko[0] on ensimmäinen rivi // $taulukko[1] on toinen rivi // jne.
Kokeilin seuraavanlaista koodia:
<?php $t=fopen("tiedosto.dat","a"); $y="RIVI1".chr(13)."RIVI2".chr(13)."RIVI3"; fwrite ($t,$y); $g=file("tiedosto.dat"); for ($f=0;$f<count($g);$f++) { echo "RIVI nro.".$f." on ".$g[$f]; } ?>
Mutta ei toiminut!
Missä vika? Toisaalta, olen vasta aloitteleva ohjelmoija PHP:ssä, joten tuossa voi olla paljonkin vikoja.
PS: Toinen osa PHP oppaasta!
Tiedosto pitää välissä sulkea.
Eli pistä tällainen rivi ennen $g=file("tiedosto.dat"); -riviä:
fclose($t);
Joo, nyt se toimii, ainakin osittain. Mutta se lataa arrayn kohtaan 0 koko tiedoston vaikka chr(13) on rivin vaihto(?)
Siis se tulostaa tekstin:
RIVI nro.0 on RIVI1 RIVI2 RIVI3
Ja koodin muutin tälläiseksi:
WEEE! Nyt se toimii! Muutin koodin muotoon:
<?php $t=fopen("tiedosto.dat","w"); $y="RIVI1".chr(13).chr(10)."RIVI2".chr(13).chr(10)."RIVI3"; fwrite ($t,$y); fclose($t); $g=file("tiedosto.dat"); for ($f=0;$f<count($g);$f++) { echo "RIVI nro.".$f." on ".$g[$f]."<BR>"; } ?>
Ja se toimii!!! Hyvä. Nyt pääsen jatkamaan puuhiani PHP:n parissa.
Aihe on jo aika vanha, joten et voi enää vastata siihen.