Page 1 of 1

Drop down menu in PHP form - Help needed

Posted: Sat Jan 24, 2009 3:39 pm
by mikes1471
Hi Everyone.

I have a registration script which exists in a table and consists of text boxes but have come to the date of birth question and have decided to use drop down menus for one for 'dd' the second for 'mm' and the third for 'yyyy'.
I'm not sure how to code a drop down menu so created them in dreamweaver and tried to paste the code into my script but its not going as planned :(
This is my original script, obviously I want to replace the day of birth, month of birth and year of birth:

Code: Select all

 
if(!$_POST['submit']){
    echo "<table border=\"0\" cellspacing=\"3\" cellpadding=\"3\">\n";
    echo "<form method=\"post\" action=\"register.php\">\n";
    echo "<tr><td colspan=\"2\" align=\"center\">Registration Form</td></tr>\n";
    echo "<tr><td>First Name</td><td><input type=\"text\" name=\"firstname\"></td></tr>\n";
    echo "<tr><td>Last Name</td><td><input type=\"text\" name=\"lastname\"></td></tr>\n";
    echo "<tr><td>Gender</td><td><input type=\"text\" name=\"gender\"></td></tr>\n";
    echo "<tr><td>Day of Birth</td><td><input type=\"text\" name=\"dobdd\"></td></tr>\n";
    echo "<tr><td>Month of Birth</td><td><input type=\"text\" name=\"dobmm\"></td></tr>\n";
    echo "<tr><td>Year of Birth</td><td><input type=\"text\" name=\"dobyyyy\"></td></tr>\n";
    echo "<tr><td>Country</td><td><input type=\"text\" name=\"country\"></td></tr>\n";
    echo "<tr><td>Town</td><td><input type=\"text\" name=\"town\"></td></tr>\n";
    echo "<tr><td>Postcode</td><td><input type=\"text\" name=\"postcode\"></td></tr>\n";
    echo "<tr><td>Username</td><td><input type=\"text\" name=\"username\"></td></tr>\n";
    echo "<tr><td>Password</td><td><input type=\"password\" name=\"password\"></td></tr>\n";
    echo "<tr><td>Confirm</td><td><input type=\"password\" name=\"passconf\"></td></tr>\n";
    echo "<tr><td>E-Mail</td><td><input type=\"text\" name=\"email\"></td></tr>\n";
    echo "<tr><td colspan=\"2\" align=\"center\"><input type=\"submit\" name=\"submit\" value=\"Register\"></td></tr>\n";
    echo "</form></table>\n";
 
and then this is the code I am trying to enter:

Code: Select all

<select name="select">
    <option selected="selected">dd</option>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
    <option value="6">6</option>
    <option value="7">7</option>
    <option value="8">8</option>
    <option value="9">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>
  </label>
  <label>
  <select name="select2">
    <option selected="selected">mm</option>
    <option value="01">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>
  </label>
  <label>
  <select name="select3">
    <option selected="selected">yyyy</option>
    <option value="1991">1991</option>
    <option value="1990">1990</option>
    <option value="1989">1989</option>
    <option value="1988">1988</option>
    <option value="1987">1987</option>
    <option value="1986">1986</option>
    <option value="1985">1985</option>
    <option value="1984">1984</option>
    <option value="1983">1983</option>
    <option value="1982">1982</option>
    <option value="1981">1981</option>
    <option value="1980">1980</option>
    <option value="1979">1979</option>
    <option value="1978">1978</option>
    <option value="1977">1977</option>
    <option value="1976">1976</option>
    <option value="1975">1975</option>
    <option value="1974">1974</option>
    <option value="1973">1973</option>
    <option value="1972">1972</option>
    <option value="1971">1971</option>
    <option value="1970">1970</option>
    <option value="1969">1969</option>
    <option value="1968">1968</option>
    <option value="1967">1967</option>
    <option value="1966">1966</option>
    <option value="1965">1965</option>
    <option value="1964">1964</option>
    <option value="1963">1963</option>
    <option value="1962">1962</option>
    <option value="1961">1961</option>
    <option value="1960">1960</option>
    <option value="1959">1959</option>
    <option value="1958">1958</option>
    <option value="1957">1957</option>
    <option value="1956">1956</option>
    <option value="1955">1955</option>
    <option value="1954">1954</option>
    <option value="1953">1953</option>
    <option value="1952">1952</option>
    <option value="1951">1951</option>
    <option value="1950">1950</option>
    <option value="1949">1949</option>
    <option value="1948">1948</option>
    <option value="1947">1947</option>
    <option value="1946">1946</option>
    <option value="1945">1945</option>
    <option value="1944">1944</option>
    <option value="1943">1943</option>
    <option value="1942">1942</option>
    <option value="1941">1941</option>
    <option value="1940">1940</option>
    <option value="1939">1939</option>
    <option value="1938">1938</option>
    <option value="1937">1937</option>
    <option value="1936">1936</option>
    <option value="1935">1935</option>
    <option value="1934">1934</option>
    <option value="1933">1933</option>
    <option value="1932">1932</option>
    <option value="1931">1931</option>
    <option value="1930">1930</option>
    <option value="1929">1929</option>
    <option value="1928">1928</option>
    <option value="1927">1927</option>
    <option value="1926">1926</option>
    <option value="1925">1925</option>
    <option value="1924">1924</option>
    <option value="1923">1923</option>
    <option value="1922">1922</option>
    <option value="1921">1921</option>
    <option value="1920">1920</option>
    <option value="1919">1919</option>
    <option value="1918">1918</option>
    <option value="1917">1917</option>
    <option value="1916">1916</option>
    <option value="1915">1915</option>
    <option value="1914">1914</option>
    <option value="1913">1913</option>
    <option value="1912">1912</option>
    <option value="1911">1911</option>
    <option value="1910">1910</option>
  </select>
  </label>

Re: Drop down menu in PHP form - Help needed

Posted: Sat Jan 24, 2009 8:35 pm
by nor0101
[quote="mikes1471"]

Dude!! No need to do all of that work -- simply close your PHP tag and then reopen it after the HTML... it will still be conditionally outputted. Your select elements look OK to me otherwise.

Like this:

Code: Select all

 
<?php
...
if(!$_POST['submit']){
?>
    <table border="0" cellspacing="3" cellpadding="3">
        <form method="post" action="register.php">
...
...
        </form>
    </table>
 
<?php
    }
    // note ending curly brace for if statement
?>
 

Re: Drop down menu in PHP form - Help needed

Posted: Sat Jan 24, 2009 10:00 pm
by mikes1471
Thanks for the advice, next question is, how can I take the data from the dd mm yyyy dropdown menu and enter it into the database as dd/mm/yyyy

Re: Drop down menu in PHP form - Help needed

Posted: Sat Jan 24, 2009 10:46 pm
by nor0101
You can concatenate the three values.
More input validation than this is needed but simplified to show general idea.

Code: Select all

 
$concatenated_date = trim($_POST['select'])."/".trim($_POST['select2'])."/".trim($_POST['select3']);
 
Of course it is worth considering doing this at a later time, like when you're consuming the DB data to increase flexibility.