|
<form method='post'> <table> <tr><td>tekst</td><td><input type='text' name='input-navn' value='<?php echo $variabelnavn'] ?>'/></td></tr> <tr><td>tekst</td><td colspan="2"><textarea name='input-navn' ROWS='15' COLS='60'> <?php echo $areats_tekst ?> </textarea></td></tr> <tr><td><input type='submit' name='form-navn' value='Knap tekst' /></td><td></td><td></td></tr> </table> </form> |
form-navn skal også indsættes i "if (isset ($_POST['form-navn
$variabelnavn = trim ($_POST['input-navn']);
Både input-navn og variabelnavn bør af overskuelighedshensyn være identiske med feltets navn i databasen.
Værdier skal indsættes i value-felterne med almindelige variabelnavne og ikke med $row['array-værdi'].
Nedenfor er vist:
Input type Navn og eksempel |
Input type i form -------------------- udtræk fra $_POST til variabel -------------------- validering -------------------- dynamiske inddata |
---|---|
Button |
<button value="xxx" type="submit">Knap x</button> <button value="yyy" type="submit">Knap y</button> -------------------- if (isset($_POST['submit'])) { } -------------------- ikke relevant -------------------- ikke relevant |
Checkbox |
<input type="checkbox" name="checkbox1"/> <input type="checkbox" name="checkbox2" checked="checked" /> -------------------- if (isset($_POST['checkbox1'])){ $checkbox1 = $_POST['checkbox1'];} /* = on */ else { $checkbox1 = 'off';} if (isset($_POST['checkbox2'])){ $checkbox2 = $_POST['checkbox2'];} /* = on */ else { $checkbox2 = 'off';} -------------------- Validering næppe relevant -------------------- ? |
Color |
? -------------------- ? -------------------- ? -------------------- ? |
Date |
<input type="date" name="date"/> -------------------- $date = trim ($_POST['date']); -------------------- if ($date == "") { $fejlbeskeder .= "<p>Dato skal vælges</p>";<br />} Validering næppe relevant -------------------- ? |
DateTime |
<input type="datetime" name="datetime"/> -------------------- $datetime = trim ($_POST['datetime']); -------------------- if ($datetime == "") { $fejlbeskeder .= "<p>DatoTid er ikke anført</p> ";} -------------------- ? -------------------- ? |
Datetime-local |
<input type="datetime-local" name="datetime-local"/> -------------------- $datetimelocal = $_POST['datetime-local']; POST-syntaks: aaaa-mm-ddTtt:mm -------------------- if ($datetimelocal == "") { $fejlbeskeder .= "<p>Lokaltid er ikke anført</p>";} -------------------- ? |
Email |
<input type="email" placeholder="mig@eksempel.dk" name="email" /> -------------------- $email = trim ($_POST['email']); -------------------- Valideringen i browseren er ikke altid god nok. Bruge derfor: if(!filter_var($email, FILTER_VALIDATE_EMAIL)) { $fejlbeskeder .= "<p>Der er fejl i E-mail! Du har skrevet: " . $email . "<p />"; } -------------------- ? |
File |
se "Form / Post upload billeder" -------------------- se "Form / Post upload billeder" -------------------- if (!preg_match("/^[a-zA-Z0-9\-_.]*$/",$file_name)) { $fejlbeskeder .= "Filnavnet:<br />$file_name<br />indeholder ikke-tilladte tegn.<br />Skal rettes.<br />"; } -------------------- ikke mulig. |
Hidden |
<input type="hidden" name="hidden" value="værdi" /> -------------------- $hidden = trim ($_POST['hidden']); -------------------- næppe nødvendig -------------------- ? |
Image |
<input type="image" src="map.gif" alt="submit" name="submit" /> -------------------- som Submit -------------------- som Submit -------------------- som Submit |
Month |
<input type="month" name="month" /> -------------------- $month = trim ($_POST['month']); POST-syntaks: aaaa-mm -------------------- ikke relevant -------------------- ? |
Number |
<input type="number" name="number" min="1920" max="2020" /> -------------------- $number = trim ($_POST['number']); -------------------- if ($number == "") { $fejlbeskeder .= "<p>Tal ikke anført</p>";} -------------------- ? |
Password |
<input type="password" name="password" /> -------------------- $password = trim ($_POST['password']); -------------------- if ($password == "") { $fejlbeskeder .= "Password ikke anført";} -------------------- ? |
Radio Mand Kvinde |
<input type="radio" name="radio" value="mand" /> Mand<input type="radio" name="radio" value="kvinde" checked /> Kvinde -------------------- if (isset($_POST['radio'])){ $radio = $_POST['radio'];} -------------------- ikke nødvendig -------------------- ? |
Range |
<input type="range" name="range" min="1" max="100" step="5" value="30" /> -------------------- $range = trim ($_POST['range']); -------------------- ikke nødvendig -------------------- ? |
Reset | Overførsel ikke relevant, da kun anvendes indenfor formen baseret på intern JavaScript kode. |
Search |
Anvendes som Text -------------------- ? |
Submit |
Name udgør link mellem form og $_POST-arrayen. <input type="submit" name="submit" value="Submit" /> -------------------- if (isset($_POST['submit'])) { } -------------------- Anvendes ikke -------------------- ? |
Tel |
<input type="tel" name="tel"/> -------------------- $tel = trim ($_POST['tel']); -------------------- International validering ikke praktisk mulig. Danske validering kan skabe problemer. if ($tel == "") { $fejlbeskeder .= "Telefonnummer er ikke anført";} -------------------- ? |
Text Når feltet må være tomt |
<input type ="text" name="texta" /> -------------------- $texta = trim ($_POST['texta']); -------------------- ingen validering -------------------- value="<?php echo $texta ?/> |
Text Når feltet ikke må være tomt |
<input type ="text" name="textb" /> -------------------- $textb = trim ($_POST['textb']); -------------------- if ($textb == "") { $fejlbeskeder .= "<p>Tekstb må ikke være tom</p> ";<br />} -------------------- value="<?php echo $texta ?/> |
Text Når feltet skal være et heltal |
? -------------------- ? -------------------- ? -------------------- ? |
Text Når feltet skal være et beløb med 2 decimaler |
? -------------------- ? -------------------- ? -------------------- ? |
Time |
<input type="time" name="time"/> -------------------- $time= trim ($_POST['time']); -------------------- if ($time == "") { $fejlbeskeder .= "<p>Tidspunkt ikke anført</p>";} -------------------- ? |
URL |
EI, Firefox og Opera kræver alle start med 'protokol://'. De validerer den dog ikke. PHP-filter... validerer ikke protokollen. Chrome synes ikke at kunne submitte URL-data. <input type="url" name="url" /> -------------------- $url = trim ($_POST['url']); -------------------- if(!filter_var($url, FILTER_VALIDATE_URL)) { $fejlbeskeder .= "<p>Der er fejl i den internetadresse du har skrevet</p><br />"; } -------------------- ? |
Textarea |
<textarea id="tekstarea" name="textarea" ROWS="3" COLS="25">Indsæt tekst</textarea> -------------------- $textarea = trim ($_POST['textarea']); -------------------- if ($textarea == "") { $fejlbeskeder .= "textarea == blank ";} -------------------- <?php echo $kont_besked ?> |
Select |
se om Drop-down menu nedenfor -------------------- if (isset($_POST['fgrf_id'])) {$fgrf_id = $_POST['fgrf_id'];} else { $fgrf_id ="";} -------------------- if ($fgrf_id == "") { $fejlbeskeder .= "<p>Der er ikke selekteret nogen fotograf.</p>";} -------------------- ? |
En tabelbaseret form med ekstra mellemrum og plads til "skal-udfyldes stjerne" mellem tekst og datafelt, samt med plads til vejledning, kan opbygges således:
<form action="" method="post"> <table> <tr><td>Tekst</td><td class="tdbred"></td><td><input type ="text" name="text" /></td><td>Vejledn.</td></tr> <tr><td><input type="submit" name="formpost" value="FormPost" /></td><td></td><td class="tdbred"></td><td></td></tr> </table> </form> |
En drop-down menu til et form-felt opbygges således:
Select af en enkelt record (placeret i PreForm modulet):
$query = "SELECT * FROM tabelx"; $result = mysqli_query($db_link,$query); $antal = mysqli_num_rows ($result); |
Tabelrække med indlejret opbygning af drop-down menu (tabelx_id anvendes som link og tabelx_navn vises i drop-down menuen):
echo '<tr><td>Tekst</td><td></td><td>'; echo '<select id="filter" name="tabelx_id">'; echo '<option value="0">Vælg tabelemne</option>'; //indlægges som første menupunkt og vises derfor som default. Kan med value="0" fravælges i validering. while ($row = mysqli_fetch_assoc ($result)) { echo '<option value=" '. $row[tabelx_id] .' "> '. $row[tabelx_navn] .' </option>'; } echo '</select>'; echo '</td></tr>'; |
Value-feltet knyttet til den enkelte input type kan under opbygningen af en form anvendes på 5 forskellige måder. (De 2 sidste kan kombineres):
<form> <input type="image" name="submit" src="/.../.../right.gif" border="0" alt="Submit" /> </form> | |
<button type="submit"> <img src="/.../.../right.gif" /> </button> | |
<style> .button { background:none; } <style> <button type="submit" name="submit" class="button"><img src="/.../.../right.gif" /></button> | |