Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: PHP:lla HTML:n kirjoitus

punppis [06.05.2010 07:21:15]

#

Millaisia kikkoja teillä on käytössä kun generoitte php:lla html:ää? Mielestäni tuo raakana html-tagien echottaminen on sangen ruman (ja sekavan) näköistä vähänkin isommissa projekteissa, myös erittäin vaikea jälkeenpäin muokata. Olen yrittänyt tehdä jonkinnäköisiä html-luokkia, mutta aina homma kaatuu siihen kun en ole tehnyt systeemistä tarpeeksi dynaamista.

Miten putkalaiset hoitaa tämän? Pistäkää vaikka esimerkkinä kooditagien sisään koodi, jolla generoitte kirjautumislomakkeen (tunnus, salasana, lähetä), joka on tablen sisällä (tasauksien takia).

<form action="toiminta.php" method="post">
	<table>
		<tr>
			<td>Tunnus:</td>
			<td><input type="text" name="username" /></td>
		</tr>
		<tr>
			<td>Salasana:</td>
			<td><input type="password" name="password" /></td>
		</tr>
		<tr>
			<td></td>
			<td><input type="submit" value="Kirjaudu!" /></td>
		</tr>
	</table>
</form>

Lotto [06.05.2010 07:28:46]

#

Itse teen tuolla sinun mainitsemallasi tavalla, eli echoan lomakkeen sivuille.

tsuriga [06.05.2010 08:21:54]

#

Projektista (ts. toteutustavasta) riippuen. Voidaan joko ajaa toiminnallinen koodi sivun alkuosassa ja viljellä niitä php-tageja lomakkeen eri kohtiin tarvittaessa (alla esimerkki), tai käyttää juurikin jotain valmista luokkaa (vaikkapa Putkastakin löytyvä CLomake), tai sitten frameworkkeja käytettäessä niissä on omat niksinsä, ZF:ssä riittää echo $this->form; (kun lomake on luotu frameworkin toiminnoilla). Ei missään nimessä tulosteta koko lomaketta ja kilokaupalla tageja turhaan PHP:n läpi pitkin sivua, sellaisen ylläpito on verrattain raskasta.

Macro [06.05.2010 08:50:33]

#

Minä teen siten, että kirjoitan HTML:n suoraan sivulle, ja niihin kohtiin kun pitää laittaa PHP:llä jotain, laitan sen sinne erikseen.

Esimerkkinä näin.

<form action="toiminta.php" method="post">
    <table>
        <tr>
            <td>Tunnus:</td>
            <td><input type="text" name="username" value="<?php echo $_SESSION["x"]; ?>" /></td>
        </tr>
        <tr>
            <td>Salasana:</td>
            <td><input type="password" name="password" /></td>
        </tr>
        <tr>
            <td></td>
            <td><input type="submit" value="Kirjaudu!" /></td>
        </tr>
    </table>
</form>

Teuro [07.05.2010 07:18:13]

#

Clomakkeesta on tulossa uusi versio, jossa on vielä enemmän käyttöä helpottavia toimintoja. Esimerkkinä mainittakoon, että lomakkeen lähetyksen epäonnistuminen ei tuhoa valintoja, vaan kaikki täytetyt tiedot pysyvät. Lisäksi kankea taulukkotaitto siirtyi syrjään ja tilalle tuli css:n ominaisuuksia hyödyntävä asettelu.

Kehitteillä olevassa versiossa olisi tarkoitus saada lomake tomimaan myös ei DOM rajapintaa käyttäväillä sivuilla.

Vastaus

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

Tietoa sivustosta