Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Syntax error, unexpected $end?

Sivun loppuun

henkilo [08.09.2009 11:02:14]

#

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: &nbsp;
  <input type="text" size="30" name="nimi"><br>
</p>
<p>
  Nainen &nbsp;
  <input type="checkbox" name="sukupuoli"><br>
<br>
  Mies &nbsp;
  <input type="checkbox" name="sukupuoli"><br>
</p>
<p>
Taustav&auml;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&auml;<br>
<?php if ($taustavari=="#00ff00") echo "checked"?>
<br>
<input type="submit" name="painike" value="l&auml;het&auml;">
<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

trilog [08.09.2009 11:06:14]

#

Laske aaltosulkujen määrä, että sulkevia ja avaavia on saman verran.

Chiman [08.09.2009 11:06:59]

#

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 :)

Grez [08.09.2009 11:22:25]

#

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>

henkilo [08.09.2009 11:47:15]

#

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ä....

trilog [08.09.2009 11:48:50]

#

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).

Metabolix [08.09.2009 11:49:35]

#

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>.

henkilo [08.09.2009 11:53:52]

#

Kato joo :D. Aivot on näköjään tänään narikassa.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta