Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: PHP: hakasulut -ongelma

combo [06.10.2010 09:12:27]

#

Kai on jokin mahdollisuus käyttää inputin nimessä hakasulkuja, koska muuten Javascriptit eivät toimi.

$aika = $_POST['[minuutti][tunti]'];

Miten saan tämän toimimaan? Tällä hetkellä se ei toimi noin.

Othnos [06.10.2010 10:12:49]

#

Tuossa muodossa pikaisen testauksen jälkeen ei taida olla mahdollista. Hakasulkujen sisällöstä tulee taulukon indeksi.

<form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="post">
<!-- Tulostaa alla olevan taulukon -->
<input type="text" name="aika[minuutti][tunti]" /><br />
<!-- Ei tulosta mitään -->
<input type="text" name="[minuutti][tunti]" /><br />
<input type="submit" value="Lähetä" />
</form>
<?php
if (isset($_POST))
	print_r($_POST); //Array ( [aika] => Array ( [minuutti] => Array ( [tunti] => ) ) )
?>

Metabolix [06.10.2010 12:15:22]

#

Othnos testasi ihan oikein, mutta huomattakoon, että ensimmäisessä tilanteessa arvo todella löytyy kohdasta $_POST["aika"]["minutti"]["tunti"], ja juuri noin niitä taulukoita kuuluukin käyttää.

combo [06.10.2010 12:56:31]

#

Miten saan tulostettua nuo tiedot.

$aika = $_POST['aika[minuutti][tunti]'];

Jos nimessä on ennen hakasulkuja tekstiä, niin miten se sitten toimii?

Othnos [06.10.2010 13:01:18]

#

Kuten Metabolix jo mainitsi

$_POST["aika"]["minutti"]["tunti"]

Esim.

<form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="post">
<input type="text" name="aika[minuutti][tunti]" /><br />
<input type="submit" value="Lähetä" />
</form>
<?php
if (isset($_POST['aika']['minuutti']['tunti'])) {
	$aika = $_POST['aika']['minuutti']['tunti'];
	echo $aika;
}
?>

combo [06.10.2010 14:45:20]

#

Juu, no nyt valkeni kokonaan!

Kiitos!

Vastaus

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

Tietoa sivustosta