ugrás a tartalomhoz

<input name vs id />

szotsaki · 2007. Jan. 13. (Szo), 14.30
Sziasztok!

PHP-ben kódolom kis regisztrációs űrlapomat, és feltűnt, hogy nem fogadja el az input mezők értékét, ha a mező neve nincs beállítva, de az id-je igen.

Tehát, erre a kódra kiírja, hogy a $_POST tömb nem tartalmaz "value" értéket.

<?php
if (isset($_POST['submit'])){
	echo $_POST['value'];
} else {
	echo "<form method='post' action='$_SERVER[PHP_SELF]'>
	<input type='text' id='value' />
	<input type='submit' name='submit' />
</form>";
}
?>
Ha az inputnak nemcsak az id-hez adom meg a "value"-t, hanem name-hez is, akkor minden további nélkül működik.

A kérdésem az, hogy ez egy feature vagy bug a php-ban, és hogy lehet-e valamit ellene tenni.
 
1

ez teljesen normális

Sulik Szabolcs · 2007. Jan. 13. (Szo), 14.48
Semmi köze a php-hez. Ez html, és nem feature, hanem normál működés.
Az id arra való, hogy pl. javascripttel / css azonosíthasd az oldalon. A name attributumban megadott névvel kerül feldolgozára, tehát azzal a névvel tudsz majd hivatkozni rá szerver oldalon. Bővebben

UI.:
lehet-e valamit ellene tenni
Tanulni, tanulni, tanulni...

UI2.: ha már mindenképpen $_SERVER[PHP_SELF] formulát használod, legalább használd szabályosan: $_SERVER["PHP_SELF"]
Egészen pontosan: <form method='post' action='".$_SERVER["PHP_SELF"]."'>
2

Köszönöm

szotsaki · 2007. Jan. 13. (Szo), 15.08
Köszönöm a választ!

Ui.: A $_SERVER tömbnél azért nem írtam ki újra az idézőjelet, mert már az echo miatt amúgy is stringben volt.