Avatar billede internet Nybegynder
21. september 2007 - 00:07 Der er 9 kommentarer og
1 løsning

Form validering

Hej Eksperter.

Jeg har følgende form:

<form method="post" action="add.php" name="insertForm" enctype="multipart/form-data">
<br>
  <table border="0">
          <tr>
      <td align="center" bgcolor="#dddddd">Editor:</td>
      <td bgcolor="#dddddd" align="center"><input name="navn" value="" size="23"/>
      </td>
    </tr>
    <tr>

      <td align="center" bgcolor="#dddddd">Birthday</td>
      <td bgcolor="#cccccc">

<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td>Month</td>
<td>Day</td>
<td>Year</td>
<td>&nbsp;</td>

                        </tr>
                        <tr>
<td><select name="month">
<option value="01" selected="selected">January</option>
<option value="02" >February</option>
<option value="03" >March</option>
<option value="04" >April</option>
<option value="05" >May</option>
<option value="06" >June</option>
<option value="07" >July</option>
<option value="08" >August</option>
<option value="09" >September</option>
<option value="10" >October</option>
<option value="11" >November</option>
<option value="12" >December</option>
</select> &nbsp;</td>
                           
<td><select name="day">
<option value="01" selected="selected">1</option>
<option value="02" >2</option>
<option value="03" >3</option>
<option value="04" >4</option>
<option value="05" >5</option>
<option value="06" >6</option>
<option value="07" >7</option>
<option value="08" >8</option>
<option value="09" >9</option>
<option value="10" >10</option>
<option value="11" >11</option>
<option value="12" >12</option>
<option value="13" >13</option>
<option value="14" >14</option>
<option value="15" >15</option>
<option value="16" >16</option>
<option value="17" >17</option>
<option value="18" >18</option>
<option value="19" >19</option>
<option value="20" >20</option>
<option value="21" >21</option>
<option value="22" >22</option>
<option value="23" >23</option>
<option value="24" >24</option>
<option value="25" >25</option>
<option value="26" >26</option>
<option value="27" >27</option>
<option value="28" >28</option>
<option value="29" >29</option>
<option value="30" >30</option>
<option value="31" >31</option>
                               

</select> &nbsp;</td>
<td><input type="text" name="year" value="" size="4" maxlength="4" /></td>
                           
                        </tr>
                        </table>
    </tr>
   

</table>
      <input value="Submit" tabindex="32" type="submit">

      <input value="Reset" tabindex="33" type="reset"> </td>
</form>

Er der nogle der kan hjælpe mig med, at lave en simpel php validering af feltet "year" der tjekker om det indtastet tal er mellem 1910 og 2000?

Hvis det ikke er det, så skriver den en fejl meddelse, fx: "Tallet skal være mellem 1910 og 2000"
Avatar billede olebole Juniormester
21. september 2007 - 00:35 #1
<ole>

<?php

if (isset($_POST["year"]) && (!($_POST["year"]-1<$_POST["year"])||$_POST["year"]<1910||$_POST["year"]>2000)) {
    print "Tallet skal være mellem 1910 og 2000";
}

?>

/mvh
</bole>
Avatar billede majbom Novice
21. september 2007 - 17:32 #2
du kunne ikke bruge en calendar-control i stedet?

altså sådan en date-picker, som åbner som en popup hvor du vælger dato..
Avatar billede majbom Novice
21. september 2007 - 17:33 #3
Avatar billede internet Nybegynder
21. september 2007 - 17:49 #4
olebole's eksempel virker ganske glimrende.

olebole du kan bare smide et svar.
Avatar billede internet Nybegynder
21. september 2007 - 18:08 #5
Jeg kom til at skrive forkert.

Hvordan skal koden se ud hvis feltet "year" skal være mellem 1910 og 2000 eller 0000.

0000 bruger jeg til folk der ønsker at have deres fødselsdagsår hemmelig.

Derefter, koden skal validere om talet er mellem 1910 og 2000 og 0000 skal også være gyldig.

Tak.
Avatar billede internet Nybegynder
21. september 2007 - 23:32 #6
Lige meget har klaret det.

Til dem der kan bruge det til noget, så ser koden sådan her ud:

<?php

if (isset($_POST["year"]) && (!($_POST["year"]-1<$_POST["year"])||$_POST["year"]=0000||$_POST["year"]>1997||$_POST["year"]<1907)) {
    print "Tallet skal være mellem 1910 og 2000 eller lig med 0000";
}

olebole smider du et svar.
Avatar billede olebole Juniormester
21. september 2007 - 23:51 #7
Både for dig og evt. andre, der kan bruge det til noget, må vi hellere skrive en brugbar kode  ;o)

if ( isset($_POST["year"]) && (!($_POST["year"]-1<$_POST["year"]) || ($_POST["year"]<1910&&$_POST["year"]!=0000) || $_POST["year"]>2000) ) {
    print "Tallet skal være mellem 1910 og 2000";
}
Avatar billede olebole Juniormester
21. september 2007 - 23:52 #8
- og der skulle selvfølgelig stå:
    print "Tallet skal være mellem 1910 og 2000 eller lig med 0000";
Avatar billede internet Nybegynder
21. september 2007 - 23:55 #9
Tusind tak :-D
Avatar billede olebole Juniormester
22. september 2007 - 00:20 #10
- selvtak ... og tak for points  ;o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester