Hei!
Yritän tehdä lomaketta, mutta saan vain herjan:
Parse error: syntax error, unexpected $end on line 102.
Ehtisikö joku ystävällinen sielu vilkaista, mikähän koodissani mahtaa olla vialla?
</html> <head> <title>Vuorovaikuta 2</title> </head> <body> <?php $nimi=''; $sukupuoli=''; $hlotiedot=''; $taustavari=''; if (isset($_GET['painike'])) { $nimi= $_GET['nimi']; $sukupuoli= $_GET['sukupuoli']; $taustavari= $_GET['taustavari']; $thlotiedot= muotoile_hlotiedot($nimi, $sukupuoli); } tulosta_sivun_alku(); tulosta_lomake($nimi, $sukupuoli, $taustavari); echo $hlotiedot; function tulosta_lomake($nimi, $sukupuoli, $taustavari){ $nimi= htmlspecialchars($nimi); $sukupuoli= htmlspecialchars($sukupuoli); ?> <form method="GET"> action="<?php echo $_SERVER['PHP_SELF']?>"> <p> Nimi: <input type="text" size="30" name="nimi"><br> </p> <p> Nainen <input type="checkbox" name="sukupuoli"><br> <br> Mies <input type="checkbox" name="sukupuoli"><br> </p> <p> Taustaväri: <br> <br> <input type="radio" name="taustavari" value="#ff0000" >Punainen<br> <?php if ($taustavari=="#ff0000") echo "checked"?> <br> <input type="radio" name="taustavari" value="#ffff00" >Keltainen<br> <?php if ($taustavari=="#ffff00") echo "checked"?> <br> <input type="radio" name="taustavari" value="#00ff00" >Vihreä<br> <?php if ($taustavari=="#00ff00") echo "checked"?> <br> <input type="submit" name="painike" value="lähetä"> <br> </p> </form> <?php } $punainen = 'unchecked'; $keltainen = 'unchecked'; $vihrea = 'unchecked'; $valkoinen = 'unchecked'; function tulosta_sivunalku() { if (isset ($_GET['painike'])) { $selected_radio = $_GET['taustavari']; if ($selected_radio == '#ff0000') { $punainen = 'checked'; } if ($selected_radio == '#ffff00') { $keltainen = 'checked'; } if ($selected_radio == '#00ff00') { $vihrea = 'checked'; } else { $_GET['taustavari'] = '#ffffff'; } } ?> $aikaleima=time(); echo "<body bgcolor= '{$_GET['taustavari']}'>"; echo "<a href= '{$_SERVER['PHP_SELF']}?tt=$aikaleima'>"; echo "Aloita alusta</a>"; } function muotoile_hlotiedot($nimi, $sukupuoli) { $html="<hr>" . "Hei <strong>$nimi</strong> olet $sukupuoli<br>" . "<hr>"; return $html; } } ?> </body> </html>
Mod. lisäsi kooditagit
Laske aaltosulkujen määrä, että sulkevia ja avaavia on saman verran.
Tuo virheilmoitus tarkoittaa sitä, että sinulta on jäänyt jokin sulku sulkematta eli tiedoston loppu ($end) tulee vastaan ennen kuin se odotettu sulku. Kannattaa käyttää editoria, joka näyttää sulun kohdalla sen vastinkappaleen.
Edit: hidas olen, muttei haittaa :)
Auttaa myös jos tekee sisennykset järkevästi ja tästäkin näkee suoraan jos käyttää kooditageja, mitkä ne kaksi virhettä ovat. Ensinnäkin rivillä 83 on PHP lopetusmerkki ja lopussa on ylimääräinen sulkeva kaarisulku eli }
</html> <head> <title>Vuorovaikuta 2</title> </head> <body> <?php $nimi=''; $sukupuoli=''; $hlotiedot=''; $taustavari=''; if (isset($_GET['painike'])) { $nimi= $_GET['nimi']; $sukupuoli= $_GET['sukupuoli']; $taustavari= $_GET['taustavari']; $thlotiedot= muotoile_hlotiedot($nimi, $sukupuoli); } tulosta_sivun_alku(); tulosta_lomake($nimi, $sukupuoli, $taustavari); echo $hlotiedot; function tulosta_lomake($nimi, $sukupuoli, $taustavari) { $nimi= htmlspecialchars($nimi); $sukupuoli= htmlspecialchars($sukupuoli); ?> <form method="GET"> action="<?php echo $_SERVER['PHP_SELF']?>"> <p> Nimi: <input type="text" size="30" name="nimi"><br> </p> <p> Nainen <input type="checkbox" name="sukupuoli"><br> <br> Mies <input type="checkbox" name="sukupuoli"><br> </p> <p> Taustaväri: <br> <br> <input type="radio" name="taustavari" value="#ff0000" >Punainen<br> <?php if ($taustavari=="#ff0000") echo "checked"?> <br> <input type="radio" name="taustavari" value="#ffff00" >Keltainen<br> <?php if ($taustavari=="#ffff00") echo "checked"?> <br> <input type="radio" name="taustavari" value="#00ff00" >Vihreä<br> <?php if ($taustavari=="#00ff00") echo "checked"?> <br> <input type="submit" name="painike" value="lähetä"> <br> </p> </form> <?php } $punainen = 'unchecked'; $keltainen = 'unchecked'; $vihrea = 'unchecked'; $valkoinen = 'unchecked'; function tulosta_sivunalku() { if (isset ($_GET['painike'])) { $selected_radio = $_GET['taustavari']; if ($selected_radio == '#ff0000') { $punainen = 'checked'; } if ($selected_radio == '#ffff00') { $keltainen = 'checked'; } if ($selected_radio == '#00ff00') { $vihrea = 'checked'; } else { $_GET['taustavari'] = '#ffffff'; } } //VIRHE TULEE SEURAAVALTA RIVILTÄ ?> $aikaleima=time(); echo "<body bgcolor= '{$_GET['taustavari']}'>"; echo "<a href= '{$_SERVER['PHP_SELF']}?tt=$aikaleima'>"; echo "Aloita alusta</a>"; } function muotoile_hlotiedot($nimi, $sukupuoli) { $html="<hr>" . "Hei <strong>$nimi</strong> olet $sukupuoli<br>" . "<hr>"; return $html; } } //Tämä on liikaa ?> </body> </html>
Kiitos! Herja poistui. Tosin nyt siihen ilmestyi uusi herja:
Fatal error: Call to undefined function tulosta_sivun_alku()on line 19.
Jos joku keksii, mikä nyt tökkii, niin otan kiitollisena apuja vastaan.
Yritän itsekin jatkaa pähkäilyjä....
henkilo kirjoitti:
Kiitos! Herja poistui. Tosin nyt siihen ilmestyi uusi herja:
Fatal error: Call to undefined function tulosta_sivun_alku()on line 19.
Jos joku keksii, mikä nyt tökkii, niin otan kiitollisena apuja vastaan.
Yritän itsekin jatkaa pähkäilyjä....
Määrittelet funktion tulosta_sivunalku
, mutta yrität kutsua funktiota tulosta_sivun_alku
(jota ei siis ole).
Tuosta ei voi paljon helpommaksi mennä. Käytät kyseisellä rivillä funktiota tulosta_sivun_alku, mutta sellaista funktiota ei kuitenkaan ole olemassa.
On myös aika erikoista aloittaa sivu sulkutagista </html> eikä avaustagista <html>.
Kato joo :D. Aivot on näköjään tänään narikassa.
Aihe on jo aika vanha, joten et voi enää vastata siihen.