Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Lomakkeeseen pakollisia kenttiä

Lamppu [05.08.2009 14:20:24]

#

Tarttisin sellasen ilmoittautumislomakkeen, missä kysyttäisiin muutamia asioita, joista kaikki olisivat pakollisia PAITSI YKSI!

Sitten siinä pitäisi olla yksi alasverolaatikko, eli loota jossa on kolme vaihtoehtoa.

Se joka tämän tekeis pääsee näkyvälle paikalle, sillä tämä tulee suomen moottopyöräkouluttajien sivuille käyttöön.

Joten voisiko joku auttaa, antaa koodin tai vaikka tehdä sen valmiiksi, mieluinten html, mutta php käy myös.

Alhaalla pitää sitten olla 2 nappia, LÄHETä Ja TYHJENNÄ!

Ja kun painaa lähetä nappia, niin ilmoittautuminen lähte sähköpostilla osoitteesee: joni.jokilampi@auto-opisto.com

ja jos joku pakollinen kohta ei ole täytetty, niin sitten tulee sivu ERROR.HTML ja jos kaikki on OK niin tulle KIITOS.HTML!

Olisin kiitollinen jos joku auttaisi!

(Mod. korjasi otsikon järkeväksi.)

MIB [05.08.2009 14:29:30]

#

*** lomake.html
<form action="laheta.php" method="POST">
Nimesi:<br>
<input type="name" name="nimi"><br><br>
Moottoripyöräsi:<br>
<input type="name" name="moottoripyörä"><br><br>
Laatikko:<br>
<select name="alasvetolaatikko">
<option value="Valinta1">Valinta1</option>
<option value="Valinta2">Valinta2</option>
<option value="Valinta3">Valinta3</option>
</select><br><br>
Ei pakollinen kenttä:<br>
<input type="name" value="ikä"><br><br>
<input type="submit" value="Lähetä"> <input type="reset" value="Tyhjennä">
</form>
*** laheta.php
<?php
$nimi = $_POST["nimi"];
$moottoripyörä = $_POST["moottoripyörä"];
$alasvetolaatikko = $_POST["alasvetolaatikko"];
$ikä = $_POST["ikä"];

if(!empty($nimi) && !empty($moottoripyörä) && !empty($alasvetolaatikko)) {
mail("joni.jokilampi@auto-opisto.com", "Viestin otsikko", "Nimi: $nimi\n\nMoottiripyörä: $moottoripyörä\n\nAlasvetolaatikko: $alasvetolaatikko\n\nIkä: $ikä");
header("location: kiitos.html");
} else header("location: error.html");
?>

Pitäisi toimia, mutta en ole varma. Kirjoitin sen katsos suoraan tähän viestiin.

Ps. Otsikko voisi olla vähän "selvempi" ja liittyä aiheeseen, esim. "Lomakkeen lähettäminen".

Teuro [05.08.2009 14:47:18]

#

Käyttäjälle voisi olla mukavampaa, jos hänelle kerrotaisiin mikä lomakkeen täytössä meni vikaan. Jos innostusta piisaa, niin voit kokeilla lomakeluokkaa Tuossa vain joudut luultavimminkin kirjoittamaan koko sivuston uusiksi tuon takia. Tuossa vain tulee automaagisesti muutamia mukavia juttuja, kuten lomakkeen tarkistus ja käyttäjälle ilmoitus mitkä kentät tulee vielä täyttää. Jokaisen vaadittavan kentän eteen generoituu *-merkki.

Pitää vielä päivittää tänne tuon kirjaston viimeisin versio. Siihen on tullut jonkin verran muutoksia sitten julkaisun.

Antti Laaksonen [05.08.2009 19:15:53]

#

Tässä on toimiva toteutus:

(lomake.php)
<form action="lahetys.php" method="post">

<p>Asia 1 (pakollinen):<br>
<input type="text" name="asia1"></p>

<p>Asia 2 (pakollinen):<br>
<input type="text" name="asia2"></p>

<p>Asia 3 (ei pakollinen):<br>
<input type="text" name="asia3"></p>

<p>Asia 4 (pakollinen):<br>
<input type="text" name="asia4"></p>

<p>Monivalinta:<br>
<select name="valinta">
<option name="kohta1">Kohta 1
<option name="kohta2">Kohta 2
<option name="kohta3">Kohta 3
</select>
</p>

<p>
<input type="submit" value="Lähetä">
</p>

</form>
(lahetys.php)
<?php
$asia1 = $_POST['asia1'];
$asia2 = $_POST['asia2'];
$asia3 = $_POST['asia3'];
$asia4 = $_POST['asia4'];

if ($asia1 == "" || $asia2 == "" || $asia4 == "") {
    header("Location: ERROR.HTML");
    die();
}

$valinta = $_POST['valinta'];

mail("joni.jokilampi@auto-opisto.com",
     "Lomakkeen tiedot",
     "Asia 1: $asia1\n" .
     "Asia 2: $asia2\n" .
     "Asia 3: $asia3\n" .
     "Asia 4: $asia4\n" .
     "Valinta: $valinta\n");

header("Location: KIITOS.HTML");
?>

Lamppu [05.08.2009 19:26:05]

#

Käytin osaksi apuna tätä Antti Laaksosen versiota, kiitos!

Vastaus

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

Tietoa sivustosta