Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: If lause tai jotain...

jarspa [09.03.2005 10:07:20]

#

Tarkoitus olisi saada If-lauseella testattua ettei käyttäjä ole valinnut lomakkeen kahdeksasta kohdasta samaa kuljettejaa. Miten tämä pystyis helpommin toteuttamaan??

Tässä koodia:

<html>
<head>
<title>F1 veikkaus</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php
$yhteys=mysql_connect("localhost","","") or die("Tietokantayhteyttä ei voitu avata");
mysql_select_db("f1") or die ("Tietokantaa ei voitu avata");





?>

<h1 align="center">F1 Veikkaus</h1>
<p align="center">&nbsp;</p>
<form name="form1" method="post" action="<?php print $PHP_SELF; ?>">
  <div align="center">
    <p>GP
      <select name="GP" id="GP">
	  	<option value=" "> </option>
        <option value="Melbourne">Melbourne</option>
      </select>

     </p>
    <p>Aika-ajojen voittaja</p>
    <p>
      <select name="aikaajot" id="aikaajot">
        <option value=" "> </option>
        <option value="Albers">Albers</option>
        <option value="Alonso">Alonso</option>
        <option value="Barrichello">Barrichello</option>
        <option value="Button">Button</option>
        <option value="Coulthard">Coulthard</option>
        <option value="Fisichella">Fisichella</option>
        <option value="Friesacher">Friesacher</option>
        <option value="Heidfeld">Heidfeld</option>
        <option value="Karthikeyan">Karthikeyan</option>
        <option value="Klien">Klien</option>
        <option value="Massa">Massa</option>
        <option value="Monteiro">Monteiro</option>
        <option value="Montoya">Montoya</option>
        <option value="R&auml;ikk&ouml;nen">R&auml;ikk&ouml;nen</option>
        <option value="Sato">Sato</option>
        <option value="Schumacher M.">Schumacher M.</option>
        <option value="Schumacher R.">Schumacher R.</option>
        <option value="Trulli">Trulli</option>
        <option value="Webber">Webber</option>
        <option value="Villeneuve">Villeneuve</option>
      </select>
</p>

    <p align="center">GP:n kahdeksan parasta</p>
    <p align="center"> 1. sija
      <select name="asija" id="asija">
        <option value=" "> </option>
        <option value="Albers">Albers</option>
        <option value="Alonso">Alonso</option>
        <option value="Barrichello">Barrichello</option>
        <option value="Button">Button</option>
        <option value="Coulthard">Coulthard</option>
        <option value="Fisichella">Fisichella</option>
        <option value="Friesacher">Friesacher</option>
        <option value="Heidfeld">Heidfeld</option>
        <option value="Karthikeyan">Karthikeyan</option>
        <option value="Klien">Klien</option>
        <option value="Massa">Massa</option>
        <option value="Monteiro">Monteiro</option>
        <option value="Montoya">Montoya</option>
        <option value="R&auml;ikk&ouml;nen">R&auml;ikk&ouml;nen</option>
        <option value="Sato">Sato</option>
        <option value="Schumacher M.">Schumacher M.</option>
        <option value="Schumacher R.">Schumacher R.</option>
        <option value="Trulli">Trulli</option>
        <option value="Webber">Webber</option>
        <option value="Villeneuve">Villeneuve</option>
      </select>
    </p>
    <p align="center"> 2. sija
      <select name="bsija" id="bsija">
        <option value=" "> </option>
        <option value="Albers">Albers</option>
        <option value="Alonso">Alonso</option>
        <option value="Barrichello">Barrichello</option>
        <option value="Button">Button</option>
        <option value="Coulthard">Coulthard</option>
        <option value="Fisichella">Fisichella</option>
        <option value="Friesacher">Friesacher</option>
        <option value="Heidfeld">Heidfeld</option>
        <option value="Karthikeyan">Karthikeyan</option>
        <option value="Klien">Klien</option>
        <option value="Massa">Massa</option>
        <option value="Monteiro">Monteiro</option>
        <option value="Montoya">Montoya</option>
        <option value="R&auml;ikk&ouml;nen">R&auml;ikk&ouml;nen</option>
        <option value="Sato">Sato</option>
        <option value="Schumacher M.">Schumacher M.</option>
        <option value="Schumacher R.">Schumacher R.</option>
        <option value="Trulli">Trulli</option>
        <option value="Webber">Webber</option>
        <option value="Villeneuve">Villeneuve</option>
      </select>
    </p>
    <p align="center"> 3. sija
      <select name="csija" id="csija">
	  	<option value=" "> </option>
        <option value="Albers">Albers</option>
        <option value="Alonso">Alonso</option>
        <option value="Barrichello">Barrichello</option>
        <option value="Button">Button</option>
        <option value="Coulthard">Coulthard</option>
        <option value="Fisichella">Fisichella</option>
        <option value="Friesacher">Friesacher</option>
        <option value="Heidfeld">Heidfeld</option>
        <option value="Karthikeyan">Karthikeyan</option>
        <option value="Klien">Klien</option>
        <option value="Massa">Massa</option>
        <option value="Monteiro">Monteiro</option>
        <option value="Montoya">Montoya</option>
        <option value="R&auml;ikk&ouml;nen">R&auml;ikk&ouml;nen</option>
        <option value="Sato">Sato</option>
        <option value="Schumacher M.">Schumacher M.</option>
        <option value="Schumacher R.">Schumacher R.</option>
        <option value="Trulli">Trulli</option>
        <option value="Webber">Webber</option>
        <option value="Villeneuve">Villeneuve</option>
      </select>
    </p>
    <p align="center"> 4. sija
      <select name="dsija" id="dsija">
	  	<option value=" "> </option>
        <option value="Albers">Albers</option>
        <option value="Alonso">Alonso</option>
        <option value="Barrichello">Barrichello</option>
        <option value="Button">Button</option>
        <option value="Coulthard">Coulthard</option>
        <option value="Fisichella">Fisichella</option>
        <option value="Friesacher">Friesacher</option>
        <option value="Heidfeld">Heidfeld</option>
        <option value="Karthikeyan">Karthikeyan</option>
        <option value="Klien">Klien</option>
        <option value="Massa">Massa</option>
        <option value="Monteiro">Monteiro</option>
        <option value="Montoya">Montoya</option>
        <option value="R&auml;ikk&ouml;nen">R&auml;ikk&ouml;nen</option>
        <option value="Sato">Sato</option>
        <option value="Schumacher M.">Schumacher M.</option>
        <option value="Schumacher R.">Schumacher R.</option>
        <option value="Trulli">Trulli</option>
        <option value="Webber">Webber</option>
        <option value="Villeneuve">Villeneuve</option>
      </select>
    </p>
    <p align="center"> 5. sija
      <select name="esija" id="esija">
	  	<option value=" "> </option>
        <option value="Albers">Albers</option>
        <option value="Alonso">Alonso</option>
        <option value="Barrichello">Barrichello</option>
        <option value="Button">Button</option>
        <option value="Coulthard">Coulthard</option>
        <option value="Fisichella">Fisichella</option>
        <option value="Friesacher">Friesacher</option>
        <option value="Heidfeld">Heidfeld</option>
        <option value="Karthikeyan">Karthikeyan</option>
        <option value="Klien">Klien</option>
        <option value="Massa">Massa</option>
        <option value="Monteiro">Monteiro</option>
        <option value="Montoya">Montoya</option>
        <option value="R&auml;ikk&ouml;nen">R&auml;ikk&ouml;nen</option>
        <option value="Sato">Sato</option>
        <option value="Schumacher M.">Schumacher M.</option>
        <option value="Schumacher R.">Schumacher R.</option>
        <option value="Trulli">Trulli</option>
        <option value="Webber">Webber</option>
        <option value="Villeneuve">Villeneuve</option>
      </select>
    </p>
    <p align="center"> 6. sija
      <select name="fsija" id="fsija">
	  	<option value=" "> </option>
        <option value="Albers">Albers</option>
        <option value="Alonso">Alonso</option>
        <option value="Barrichello">Barrichello</option>
        <option value="Button">Button</option>
        <option value="Coulthard">Coulthard</option>
        <option value="Fisichella">Fisichella</option>
        <option value="Friesacher">Friesacher</option>
        <option value="Heidfeld">Heidfeld</option>
        <option value="Karthikeyan">Karthikeyan</option>
        <option value="Klien">Klien</option>
        <option value="Massa">Massa</option>
        <option value="Monteiro">Monteiro</option>
        <option value="Montoya">Montoya</option>
        <option value="R&auml;ikk&ouml;nen">R&auml;ikk&ouml;nen</option>
        <option value="Sato">Sato</option>
        <option value="Schumacher M.">Schumacher M.</option>
        <option value="Schumacher R.">Schumacher R.</option>
        <option value="Trulli">Trulli</option>
        <option value="Webber">Webber</option>
        <option value="Villeneuve">Villeneuve</option>
      </select>
    </p>
    <p align="center"> 7. sija
      <select name="gsija" id="gsija">
	  	<option value=" "> </option>
        <option value="Albers">Albers</option>
        <option value="Alonso">Alonso</option>
        <option value="Barrichello">Barrichello</option>
        <option value="Button">Button</option>
        <option value="Coulthard">Coulthard</option>
        <option value="Fisichella">Fisichella</option>
        <option value="Friesacher">Friesacher</option>
        <option value="Heidfeld">Heidfeld</option>
        <option value="Karthikeyan">Karthikeyan</option>
        <option value="Klien">Klien</option>
        <option value="Massa">Massa</option>
        <option value="Monteiro">Monteiro</option>
        <option value="Montoya">Montoya</option>
        <option value="R&auml;ikk&ouml;nen">R&auml;ikk&ouml;nen</option>
        <option value="Sato">Sato</option>
        <option value="Schumacher M.">Schumacher M.</option>
        <option value="Schumacher R.">Schumacher R.</option>
        <option value="Trulli">Trulli</option>
        <option value="Webber">Webber</option>
        <option value="Villeneuve">Villeneuve</option>
      </select>
    </p>
    <p align="center">8. sija
      <select name="hsija" id="hsija">
	  	<option value=" "> </option>
        <option value="Albers">Albers</option>
        <option value="Alonso">Alonso</option>
        <option value="Barrichello">Barrichello</option>
        <option value="Button">Button</option>
        <option value="Coulthard">Coulthard</option>
        <option value="Fisichella">Fisichella</option>
        <option value="Friesacher">Friesacher</option>
        <option value="Heidfeld">Heidfeld</option>
        <option value="Karthikeyan">Karthikeyan</option>
        <option value="Klien">Klien</option>
        <option value="Massa">Massa</option>
        <option value="Monteiro">Monteiro</option>
        <option value="Montoya">Montoya</option>
        <option value="R&auml;ikk&ouml;nen">R&auml;ikk&ouml;nen</option>
        <option value="Sato">Sato</option>
        <option value="Schumacher M.">Schumacher M.</option>
        <option value="Schumacher R.">Schumacher R.</option>
        <option value="Trulli">Trulli</option>
        <option value="Webber">Webber</option>
        <option value="Villeneuve">Villeneuve</option>
      </select>
    </p>
    <p align="center">&nbsp;</p>
    <p align="center">Osallistuja
      <select name="Osallistuja" id="Osallistuja">
	  	<option value=" "> </option>
        <option value="Jari">Jari</option>
        <option value="Juha">Juha</option>
      </select>
    </p>
    <p align="center">
      <input type="submit" name="Submit" value="Osallistu">
    </p>
  </div>
</form>
<p align="center">&nbsp;</p>


<?php


if (isset($_POST['Submit']))
{
	if ($asija== $bsija)

	{
	print "Et voi valita useampaa kuin yhden kuljettajan!!";
	}

	else
	{
	$tallennus=mysql_query("insert into Veikkaus (GP,Aikaajot,1Sija,2Sija,3Sija,4Sija,5Sija,6Sija,7Sija,8Sija,Osallistuja)
					values (\"$GP\",\"$aikaajot\",\"$asija\",\"$bsija\",\"$csija\",\"$dsija\",\"$esija\",\"$fsija\",\"$gsija\",\"$hsija\",\"$Osallistuja\")");
	}
}

mysql_close($yhteys);


?>

</body>
</html>

Olga [09.03.2005 10:46:04]

#

Varmaan fiksuin veto olisi laittaa nuo kaikki samaan taulukkoon (eli <select name='sijat[]'>) ja sitten tarkistaa että löytyykö sieltä arraysta sama nimi useammin kuin kerran. Ja tuohon sopisi myös osuvasti joku javascript-ratkaisu tuon php-varmistuksen rinnalle, joka aina yhden kuljettajan valittua vähentää kyseisen kuljettajan seuraavista pudotuslistoista. Toteutus on sitten eri asia, mutta täältä toki saa vinkkejä ongelmissa :)

Gugu [09.03.2005 10:49:53]

#

Nuo kuskit olis voinu laittaa kantaan ja sieltä hakea ne tuohon select juttuun tai tehä functio, olis säästyny kirjottamiselta pikkusen. Mutta nopeasti väsäsin tarkistuksen.

$tarkistus = array(
     1 => "$GP",
     2 => "$aikaajot",
     3 => "$asija",
     4 => "$bsija",
     5 => "$csija",
     6 => "$dsija",
     7 => "$esija",
     8 => "$fsija",
     9 => "$gsija",
     10 => "$hsija",
     11 => "$Osallistuja"
   );

for($i=1; $i<=11; $i++){

	for($p=1; $p<=11; $p++){

		if($i != $p){
			if($tarkistus[$i] == $tarkistus[$p]){
				print "Valitsit kaksi samaa i=$tarkistus[$i] ja p=$tarkistus[$p]";
				exit;
			}

		}


	}

}

Vastaus

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

Tietoa sivustosta