Beeeeney Posted November 27, 2012 Share Posted November 27, 2012 Hi all, I'm developing something for work and I've hit a bit of a problem. Basically, I have a form that submits info to a database. On the form I have generated dropdowns for selecting a date. <select name="day"> <option selected>Select</option> <?php $day=1; while($day<32) { ?> <option value="<?php echo $day; ?>"><?php echo $day; ?></option> <?php $day++; } ?> </select> <select name="month"> <option selected>Select</option> <?php $month = array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "Novermber", "December"); foreach ($month as $key) { ?> <option value="<?php echo $key; ?>"><?php echo $key; ?></option> <?php } ?> </select> <select name="year"> <option selected>Select</option> <?php $year=1901; while($year<2012 && $year > 1900) { ?> <option value="<?php echo $year; ?>"><?php echo $year; ?></option> <?php $year++; } ?> </select> But when I try to submit this to the database, it gets sent as either: Select/Select/Select ^ That's when trying to submit it as three variables like: $day/$month/$year Or when I try to submit it as an array $day = $_POST['day']; $month = $_POST['month']; $year = $_POST['year']; $datex = array($day, $month, $year); It gets submitted as just "Array" in the database. Here's my full code for the DB entries: <?php $title = $_POST['Title']; $firstname = $_POST['Firstname']; $middlename = $_POST['Middlename']; $lastname = $_POST['Lastname']; //$DOB = $passportno = $_POST['PassportNo']; //$DOE = //$DOI = $nationality = $_POST['Nationality']; $issuecountry = $_POST['Issuecountry']; $fullname = $_POST['Fullname']; $address = $_POST['Address']; $postcode = $_POST['Postcode']; $relationship = $_POST['Relationship']; $mobilenumber = $_POST['Mobilenumber']; $daytimephone = $_POST['Daytimephone']; $eveningphone = $_POST['Eveningphone']; $email = $_POST['Email']; $insuranceco = $_POST['Company']; $policyno = $_POST['Policynumber']; $underwriter = $_POST['Underwriter']; $emergencyphone = $_POST['Emergencynumber']; $bookingref = $_POST['Bookingreference']; $day = $_POST['day']; $month = $_POST['month']; $year = $_POST['year']; $datex = array($day, $month, $year); require("dbconnection.php"); $query = "INSERT INTO `customerinfo` (`ID`, `title`, `firstname`, `middlename`, `lastname`, `dob`, `passportno`, `doi`, `doe`, `nationality`, `issuecountry`, `fullname`, `address`, `postcode`, `relationship`, `mobile`, `daytime`, `evening`, `email`, `insuranceco`, `policyno`, `medicalcompname`, `medicalcontact`, `bookingref`) VALUES ('NULL', '$title', '$firstname', '$middlename', '$lastname', '$datex', '$passportno', 'Date', 'Date', '$nationality', '$issuecountry', '$fullname', '$address', '$postcode', '$relationship', '$mobilenumber', '$daytimephone', '$eveningphone', '$email', '$insuranceco', '$policyno', '$underwriter', '$emergencyphone', '$bookingref')"; mysql_query($query) || die("Connection failed for some reason."); if ($query) { echo "Database successfully updated!<br><br>Click <a href=\"http://www.planetcruise.co.uk\">here</a> to return to the home page."; } else { echo "Naw."; } ?> Anyone know how I can get it to just submit an actual date? Quote Link to comment https://forums.phpfreaks.com/topic/271234-dropdowns-being-submitted-as-select-to-db/ Share on other sites More sharing options...
Muddy_Funster Posted November 27, 2012 Share Posted November 27, 2012 hmm, nothing jumping out from the code you have there, except that you have malformed the first option in each select....oh and for some reason included the ID field in your insert statement against all good judgment. Try this, it should be a bit easier to read and debug : $form = "<select name=\"day\">\n <option selected=\"selected\" value=\"no_valid\">Select</option>\n "; $day=1; while($day<32) { $form .= "<option value=\"{$day}\">{$day}</option> "; $day++; } $form .= "</select>\n \n <select name=\"month\">\n <option selected=\"selected\" value=\"no_valid\">Select</option>\n "; $month = array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "Novermber", "December"); foreach ($month as $key) { $form .= "<option value=\"{$key}\">{$key}</option>\n "; } $form .= "</select>\n \n <select name=\"year\">\n <option selected=\"selected\" value=\"no_valid\">Select</option>\n "; $year=1901; while($year<2012 && $year > 1900) { $form .= "<option value=\"{$year}\"><{$year}</option>\n "; $year++; } $form .= "</select> \n"; echo $form; adding the value of "no_valid" lets you validate the dropdown options, however you do know that this is going to let people choose the 31st of any month, even those that only have 30 or 28 days? I personaly find it easier to just have people type the date, in the format that they are most comfortable with, and then validate the input against an actual date. Quote Link to comment https://forums.phpfreaks.com/topic/271234-dropdowns-being-submitted-as-select-to-db/#findComment-1395447 Share on other sites More sharing options...
Beeeeney Posted November 27, 2012 Author Share Posted November 27, 2012 hmm, nothing jumping out from the code you have there, except that you have malformed the first option in each select....oh and for some reason included the ID field in your insert statement against all good judgment. Try this, it should be a bit easier to read and debug : $form = "<select name=\"day\">\n <option selected=\"selected\" value=\"no_valid\">Select</option>\n "; $day=1; while($day<32) { $form .= "<option value=\"{$day}\">{$day}</option> "; $day++; } $form .= "</select>\n \n <select name=\"month\">\n <option selected=\"selected\" value=\"no_valid\">Select</option>\n "; $month = array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "Novermber", "December"); foreach ($month as $key) { $form .= "<option value=\"{$key}\">{$key}</option>\n "; } $form .= "</select>\n \n <select name=\"year\">\n <option selected=\"selected\" value=\"no_valid\">Select</option>\n "; $year=1901; while($year<2012 && $year > 1900) { $form .= "<option value=\"{$year}\"><{$year}</option>\n "; $year++; } $form .= "</select> \n"; echo $form; adding the value of "no_valid" lets you validate the dropdown options, however you do know that this is going to let people choose the 31st of any month, even those that only have 30 or 28 days? I personaly find it easier to just have people type the date, in the format that they are most comfortable with, and then validate the input against an actual date. Thanks I tried it and it didn't work. Still getting submitted as "Array". I might just do what you said, and let people type the date. Quote Link to comment https://forums.phpfreaks.com/topic/271234-dropdowns-being-submitted-as-select-to-db/#findComment-1395451 Share on other sites More sharing options...
Muddy_Funster Posted November 27, 2012 Share Posted November 27, 2012 you would need to implode the array $datex = array($year, $month, $day); $datex = implode('-', $datex); make sure you swap the order around. Quote Link to comment https://forums.phpfreaks.com/topic/271234-dropdowns-being-submitted-as-select-to-db/#findComment-1395453 Share on other sites More sharing options...
Beeeeney Posted November 27, 2012 Author Share Posted November 27, 2012 you would need to implode the array $datex = array($year, $month, $day); $datex = implode('-', $datex); make sure you swap the order around. Sorry if it seems like I'm being an idiot, but it's just being submitted as "no_valid-no_valid-no_valid". I don't really have any experience with this. Quote Link to comment https://forums.phpfreaks.com/topic/271234-dropdowns-being-submitted-as-select-to-db/#findComment-1395455 Share on other sites More sharing options...
Muddy_Funster Posted November 27, 2012 Share Posted November 27, 2012 it's not recognising the fact that the select boxes are changing, try taking out all the selected="selected" from the code - select boxes default to the first value in them unless otherwise instructed, so you shouldn't need them in there and they may be part if not all of the problem. Quote Link to comment https://forums.phpfreaks.com/topic/271234-dropdowns-being-submitted-as-select-to-db/#findComment-1395456 Share on other sites More sharing options...
Beeeeney Posted November 27, 2012 Author Share Posted November 27, 2012 Changed it to: <?php $form = "<select name=\"day\">\n"; $day=1; while($day<32) { $form .= "<option value=\"{$day}\">{$day}</option> "; $day++; } $form .= "</select>\n \n <select name=\"month\">\n"; $month = array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "Novermber", "December"); foreach ($month as $key) { $form .= "<option value=\"{$key}\">{$key}</option>\n "; } $form .= "</select>\n \n <select name=\"year\">\n"; $year=1901; while($year<2012 && $year > 1900) { $form .= "<option value=\"{$year}\">{$year}</option>\n "; $year++; } $form .= "</select> \n"; echo $form; ?> It's still defaulting to the first option. No matter what I choose, it defaults to 1/January/1901. Quote Link to comment https://forums.phpfreaks.com/topic/271234-dropdowns-being-submitted-as-select-to-db/#findComment-1395458 Share on other sites More sharing options...
Muddy_Funster Posted November 27, 2012 Share Posted November 27, 2012 can you post up the full form page? Quote Link to comment https://forums.phpfreaks.com/topic/271234-dropdowns-being-submitted-as-select-to-db/#findComment-1395461 Share on other sites More sharing options...
Beeeeney Posted November 27, 2012 Author Share Posted November 27, 2012 index.php: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <head> <title>Form</title> <!-- <link type="text/css" rel="stylesheet" href="style.css"> --> </head> <body> <!--<script type="text/javascript"> function validatePage() { var msg=""; if (document.forms.CustomerInformation.Title.value == "Please Choose") { msg += "* Please provide a Title\n"; } else { msg += ""; } if (document.forms.CustomerInformation.Firstname.value == "") { msg += "* Please provide a First Name\n"; } if (document.forms.CustomerInformation.Lastname.value == "") { msg += "* Please provide a Surname\n"; } if (document.forms.CustomerInformation.Nationality.value == "") { msg += "* Please provide a Nationality\n"; } if (document.forms.CustomerInformation.Issuecountry.value == "") { msg += "* Please provide a Country of Issue\n"; } if (document.forms.CustomerInformation.Fullname.value == "") { msg += "* Please provide a Full name for your next of kin\n"; } if (document.forms.CustomerInformation.Address.value == "") { msg += "* Please provide an Address for your next of kin\n"; } if (document.forms.CustomerInformation.Postcode.value == "") { msg += "* Please provide a Postcode for your next of kin\n"; } if (document.forms.CustomerInformation.Relationship.value == "") { msg += "* Please give details of your Relationship to your next of kin\n"; } if (document.forms.CustomerInformation.Mobilenumber.value == "") { msg += "* Please provide a Mobile Number for your next of kin\n"; } if (document.forms.CustomerInformation.checkbox.checked == false) { msg += "\n* Please read and agree to the Terms and Conditions\n"; } if (msg == "") { return true; } else { alert("This form cannot be submitted. Please correct the following issue(s):\n\n"+ msg); return false; } } </script>--> <form action="submit.php" method="post" name="CustomerInformation" onsubmit="return validatePage()"> Fields marked with a * are mandatory.<br><br><br> Booking Reference: <input type="text" name="Bookingreference"><br> <h1>Passport Details</h1> <!--PASSPORT INFORMATION --> Title:* <select name="Title"> <option selected>Please Choose</option> <option value="Mr">Mr</option> <option value="Mrs">Mrs</option> <option value="Mr">Ms</option> <option value="Dr">Dr</option> </select> <br> First Name:* <input type="text" name="Firstname"><br> Middle Name:<input type="text" name="Middlename"><br> Last Name:* <input type="text" name="Lastname"><br> Date of Birth:* <?php include("includeDOB.php"); ?> <br>Passport Number:* <input type="text" name="PassportNo"><br> Date of Issue:* <?php include("includeDOB.php"); ?><br> Date of Expiry:* <?php include("includeDOB.php"); ?><br> Nationality:* <input type="text" name="Nationality"><br> Issue Country:* <input type="text" name="Issuecountry"><br> <h1>Next of Kin Information</h1> <!--NEXT OF KIN INFO v --> Full Name:* <input type="text" name="Fullname"><br> Address:* <input type="text" name="Address"><br> Postcode:* <input type="text" name="Postcode"><br> Relationship:* <input type="text" name="Relationship"><br> Mobile Number:* <input type="text" name="Mobilenumber"><br> Daytime Phone: <input type="text" name="Daytimephone"><br> Evening Phone: <input type="text" name="Eveningphone"><br> Email Address: <input type="text" name="Email"><br> <h1>Travel Insurance Details</h1> <!--TRAVEL INSURANCE DETAILS--> Insurance Company: <input type="text" name="Company"><br> Policy Number: <input type="text" name="Policynumber"><br> Medical Company Name:<input type="text" name="Underwriter"><br> Emergency Medical Contact Number:<input type="text" name="Emergencynumber"><br><br> I have read and agree to the <a href="#">terms and conditions</a> <input type="checkbox" name="checkbox"> <br><br><input type="submit" value="Submit"> </form> </body> </html> includeDOB.php <?php $form = "<select name=\"day\">\n"; $day=1; while($day<32) { $form .= "<option value=\"{$day}\">{$day}</option> "; $day++; } $form .= "</select>\n \n <select name=\"month\">\n"; $month = array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "Novermber", "December"); foreach ($month as $key) { $form .= "<option value=\"{$key}\">{$key}</option>\n "; } $form .= "</select>\n \n <select name=\"year\">\n"; $year=1901; while($year<2012 && $year > 1900) { $form .= "<option value=\"{$year}\">{$year}</option>\n "; $year++; } $form .= "</select> \n"; echo $form; ?> submit.php <?php $title = $_POST['Title']; $firstname = $_POST['Firstname']; $middlename = $_POST['Middlename']; $lastname = $_POST['Lastname']; //$DOB = $passportno = $_POST['PassportNo']; //$DOE = //$DOI = $nationality = $_POST['Nationality']; $issuecountry = $_POST['Issuecountry']; $fullname = $_POST['Fullname']; $address = $_POST['Address']; $postcode = $_POST['Postcode']; $relationship = $_POST['Relationship']; $mobilenumber = $_POST['Mobilenumber']; $daytimephone = $_POST['Daytimephone']; $eveningphone = $_POST['Eveningphone']; $email = $_POST['Email']; $insuranceco = $_POST['Company']; $policyno = $_POST['Policynumber']; $underwriter = $_POST['Underwriter']; $emergencyphone = $_POST['Emergencynumber']; $bookingref = $_POST['Bookingreference']; $day = $_POST['day']; $month = $_POST['month']; $year = $_POST['year']; $datex = array($day, $month, $year); $datex = implode('/', $datex); require("dbconnection.php"); $query = "INSERT INTO `customerinfo` (`ID`, `title`, `firstname`, `middlename`, `lastname`, `dob`, `passportno`, `doi`, `doe`, `nationality`, `issuecountry`, `fullname`, `address`, `postcode`, `relationship`, `mobile`, `daytime`, `evening`, `email`, `insuranceco`, `policyno`, `medicalcompname`, `medicalcontact`, `bookingref`) VALUES ('NULL', '$title', '$firstname', '$middlename', '$lastname', '$datex', '$passportno', 'Date', 'Date', '$nationality', '$issuecountry', '$fullname', '$address', '$postcode', '$relationship', '$mobilenumber', '$daytimephone', '$eveningphone', '$email', '$insuranceco', '$policyno', '$underwriter', '$emergencyphone', '$bookingref')"; mysql_query($query) || die("Connection failed for some reason."); if ($query) { echo "Database successfully updated!<br><br>Click <a href=\"http://www.planetcruise.co.uk\">here</a> to return to the home page."; } else { echo "Naw."; } ?> dbconnection.php <?php require("constants.php"); $connection = mysql_connect(DB_SERVER,DB_USER,DB_PASS); if (!$connection) { die("Database connection failed: " . mysql_error()); } $db_select = mysql_select_db(DB_NAME,$connection); if (!$db_select) { die("Database selection failed: " . mysql_error()); } ?> That's everything, except my constants.php, obviously. Quote Link to comment https://forums.phpfreaks.com/topic/271234-dropdowns-being-submitted-as-select-to-db/#findComment-1395462 Share on other sites More sharing options...
Muddy_Funster Posted November 27, 2012 Share Posted November 27, 2012 what happens if you take off the onsubmit() JS call from the form and try it? Quote Link to comment https://forums.phpfreaks.com/topic/271234-dropdowns-being-submitted-as-select-to-db/#findComment-1395464 Share on other sites More sharing options...
Beeeeney Posted November 27, 2012 Author Share Posted November 27, 2012 Still failed. I showed it to my manager and she was stumped too. Quote Link to comment https://forums.phpfreaks.com/topic/271234-dropdowns-being-submitted-as-select-to-db/#findComment-1395465 Share on other sites More sharing options...
Muddy_Funster Posted November 27, 2012 Share Posted November 27, 2012 (edited) see instead of including the select box form, build the $form at the top of the index page and echo it where you are including (I know it's a long shot, but i'm hitting the Holmes Process of Ellimination stage now) Etd: edited for typo Edited November 27, 2012 by Muddy_Funster Quote Link to comment https://forums.phpfreaks.com/topic/271234-dropdowns-being-submitted-as-select-to-db/#findComment-1395471 Share on other sites More sharing options...
Beeeeney Posted November 27, 2012 Author Share Posted November 27, 2012 Still didn't work. Quote Link to comment https://forums.phpfreaks.com/topic/271234-dropdowns-being-submitted-as-select-to-db/#findComment-1395478 Share on other sites More sharing options...
Muddy_Funster Posted November 27, 2012 Share Posted November 27, 2012 with the onsubmit gone and the $form instead of the include can you post the page source of the loaded page (page source it in the browser after it's been displayed) for index.php? Quote Link to comment https://forums.phpfreaks.com/topic/271234-dropdowns-being-submitted-as-select-to-db/#findComment-1395480 Share on other sites More sharing options...
Beeeeney Posted November 27, 2012 Author Share Posted November 27, 2012 (edited) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <head> <title>Form</title> <!-- <link type="text/css" rel="stylesheet" href="style.css"> --> </head> <body> <!--<script type="text/javascript"> function validatePage() { var msg=""; if (document.forms.CustomerInformation.Title.value == "Please Choose") { msg += "* Please provide a Title\n"; } else { msg += ""; } if (document.forms.CustomerInformation.Firstname.value == "") { msg += "* Please provide a First Name\n"; } if (document.forms.CustomerInformation.Lastname.value == "") { msg += "* Please provide a Surname\n"; } if (document.forms.CustomerInformation.Nationality.value == "") { msg += "* Please provide a Nationality\n"; } if (document.forms.CustomerInformation.Issuecountry.value == "") { msg += "* Please provide a Country of Issue\n"; } if (document.forms.CustomerInformation.Fullname.value == "") { msg += "* Please provide a Full name for your next of kin\n"; } if (document.forms.CustomerInformation.Address.value == "") { msg += "* Please provide an Address for your next of kin\n"; } if (document.forms.CustomerInformation.Postcode.value == "") { msg += "* Please provide a Postcode for your next of kin\n"; } if (document.forms.CustomerInformation.Relationship.value == "") { msg += "* Please give details of your Relationship to your next of kin\n"; } if (document.forms.CustomerInformation.Mobilenumber.value == "") { msg += "* Please provide a Mobile Number for your next of kin\n"; } if (document.forms.CustomerInformation.checkbox.checked == false) { msg += "\n* Please read and agree to the Terms and Conditions\n"; } if (msg == "") { return true; } else { alert("This form cannot be submitted. Please correct the following issue(s):\n\n"+ msg); return false; } } </script>--> <form action="submit.php" method="post" name="CustomerInformation"<!--onsubmit="return validatePage()"-->> Fields marked with a * are mandatory.<br><br><br> Booking Reference: <input type="text" name="Bookingreference"><br> <h1>Passport Details</h1> <!--PASSPORT INFORMATION --> Title:* <select name="Title"> <option selected>Please Choose</option> <option value="Mr">Mr</option> <option value="Mrs">Mrs</option> <option value="Mr">Ms</option> <option value="Dr">Dr</option> </select> <br> First Name:* <input type="text" name="Firstname"><br> Middle Name:<input type="text" name="Middlename"><br> Last Name:* <input type="text" name="Lastname"><br> Date of Birth:* <select name="day"> <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> <select name="month"> <option value="January">January</option> <option value="February">February</option> <option value="March">March</option> <option value="April">April</option> <option value="May">May</option> <option value="June">June</option> <option value="July">July</option> <option value="August">August</option> <option value="September">September</option> <option value="October">October</option> <option value="Novermber">Novermber</option> <option value="December">December</option> </select> <select name="year"> <option value="1901">1901</option> <option value="1902">1902</option> <option value="1903">1903</option> <option value="1904">1904</option> <option value="1905">1905</option> <option value="1906">1906</option> <option value="1907">1907</option> <option value="1908">1908</option> <option value="1909">1909</option> <option value="1910">1910</option> <option value="1911">1911</option> <option value="1912">1912</option> <option value="1913">1913</option> <option value="1914">1914</option> <option value="1915">1915</option> <option value="1916">1916</option> <option value="1917">1917</option> <option value="1918">1918</option> <option value="1919">1919</option> <option value="1920">1920</option> <option value="1921">1921</option> <option value="1922">1922</option> <option value="1923">1923</option> <option value="1924">1924</option> <option value="1925">1925</option> <option value="1926">1926</option> <option value="1927">1927</option> <option value="1928">1928</option> <option value="1929">1929</option> <option value="1930">1930</option> <option value="1931">1931</option> <option value="1932">1932</option> <option value="1933">1933</option> <option value="1934">1934</option> <option value="1935">1935</option> <option value="1936">1936</option> <option value="1937">1937</option> <option value="1938">1938</option> <option value="1939">1939</option> <option value="1940">1940</option> <option value="1941">1941</option> <option value="1942">1942</option> <option value="1943">1943</option> <option value="1944">1944</option> <option value="1945">1945</option> <option value="1946">1946</option> <option value="1947">1947</option> <option value="1948">1948</option> <option value="1949">1949</option> <option value="1950">1950</option> <option value="1951">1951</option> <option value="1952">1952</option> <option value="1953">1953</option> <option value="1954">1954</option> <option value="1955">1955</option> <option value="1956">1956</option> <option value="1957">1957</option> <option value="1958">1958</option> <option value="1959">1959</option> <option value="1960">1960</option> <option value="1961">1961</option> <option value="1962">1962</option> <option value="1963">1963</option> <option value="1964">1964</option> <option value="1965">1965</option> <option value="1966">1966</option> <option value="1967">1967</option> <option value="1968">1968</option> <option value="1969">1969</option> <option value="1970">1970</option> <option value="1971">1971</option> <option value="1972">1972</option> <option value="1973">1973</option> <option value="1974">1974</option> <option value="1975">1975</option> <option value="1976">1976</option> <option value="1977">1977</option> <option value="1978">1978</option> <option value="1979">1979</option> <option value="1980">1980</option> <option value="1981">1981</option> <option value="1982">1982</option> <option value="1983">1983</option> <option value="1984">1984</option> <option value="1985">1985</option> <option value="1986">1986</option> <option value="1987">1987</option> <option value="1988">1988</option> <option value="1989">1989</option> <option value="1990">1990</option> <option value="1991">1991</option> <option value="1992">1992</option> <option value="1993">1993</option> <option value="1994">1994</option> <option value="1995">1995</option> <option value="1996">1996</option> <option value="1997">1997</option> <option value="1998">1998</option> <option value="1999">1999</option> <option value="2000">2000</option> <option value="2001">2001</option> <option value="2002">2002</option> <option value="2003">2003</option> <option value="2004">2004</option> <option value="2005">2005</option> <option value="2006">2006</option> <option value="2007">2007</option> <option value="2008">2008</option> <option value="2009">2009</option> <option value="2010">2010</option> <option value="2011">2011</option> </select> <br>Passport Number:* <input type="text" name="PassportNo"><br> Nationality:* <input type="text" name="Nationality"><br> Issue Country:* <input type="text" name="Issuecountry"><br> <h1>Next of Kin Information</h1> <!--NEXT OF KIN INFO v --> Full Name:* <input type="text" name="Fullname"><br> Address:* <input type="text" name="Address"><br> Postcode:* <input type="text" name="Postcode"><br> Relationship:* <input type="text" name="Relationship"><br> Mobile Number:* <input type="text" name="Mobilenumber"><br> Daytime Phone: <input type="text" name="Daytimephone"><br> Evening Phone: <input type="text" name="Eveningphone"><br> Email Address: <input type="text" name="Email"><br> <h1>Travel Insurance Details</h1> <!--TRAVEL INSURANCE DETAILS--> Insurance Company: <input type="text" name="Company"><br> Policy Number: <input type="text" name="Policynumber"><br> Medical Company Name:<input type="text" name="Underwriter"><br> Emergency Medical Contact Number:<input type="text" name="Emergencynumber"><br><br> I have read and agree to the <a href="#">terms and conditions</a> <input type="checkbox" name="checkbox"> <br><br><input type="submit" value="Submit"> </form> </body> </html> Edited November 27, 2012 by Beeeeney Quote Link to comment https://forums.phpfreaks.com/topic/271234-dropdowns-being-submitted-as-select-to-db/#findComment-1395483 Share on other sites More sharing options...
Muddy_Funster Posted November 27, 2012 Share Posted November 27, 2012 that's just weird, everything looks exactly like it should :/ I see you took out the date of expiery and date of issue, that was going to be my next suggestion, since all the elements would be named the same it would cause an issue. I assume that a var_dump($_POST) is still showing the wrong values in the dob field? Quote Link to comment https://forums.phpfreaks.com/topic/271234-dropdowns-being-submitted-as-select-to-db/#findComment-1395488 Share on other sites More sharing options...
Beeeeney Posted November 27, 2012 Author Share Posted November 27, 2012 (edited) Shows: ["day"]=> string(1) "6" ["month"]=> string( "February" ["year"]=> string(4) "1904" Seems to work. Edited November 27, 2012 by Beeeeney Quote Link to comment https://forums.phpfreaks.com/topic/271234-dropdowns-being-submitted-as-select-to-db/#findComment-1395494 Share on other sites More sharing options...
Muddy_Funster Posted November 27, 2012 Share Posted November 27, 2012 any chance you wern't filling out either the expiery or the start dates in the form and that, as the same elements were being used with the same names one of these was overwriting the values of DOB with the innitial values? Quote Link to comment https://forums.phpfreaks.com/topic/271234-dropdowns-being-submitted-as-select-to-db/#findComment-1395496 Share on other sites More sharing options...
Beeeeney Posted November 27, 2012 Author Share Posted November 27, 2012 I feel like an idiot. Quote Link to comment https://forums.phpfreaks.com/topic/271234-dropdowns-being-submitted-as-select-to-db/#findComment-1395497 Share on other sites More sharing options...
Muddy_Funster Posted November 27, 2012 Share Posted November 27, 2012 don't, it's very easy to miss the simple things when focusing on the complex parts of a problem, remember, even your boss didn't think of it Quote Link to comment https://forums.phpfreaks.com/topic/271234-dropdowns-being-submitted-as-select-to-db/#findComment-1395502 Share on other sites More sharing options...
Beeeeney Posted November 27, 2012 Author Share Posted November 27, 2012 Used 3 variables for each date entry, and it works! Thanks for all your help man. <?php $form1 = "<select name=\"day1\">\n"; $day1=1; while($day1<32) { $form1 .= "<option value=\"{$day1}\">{$day1}</option> "; $day1++; } $form1 .= "</select>\n \n <select name=\"month1\">\n"; $month1 = array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "Novermber", "December"); foreach ($month1 as $key) { $form1 .= "<option value=\"{$key}\">{$key}</option>\n "; } $form1 .= "</select>\n \n <select name=\"year1\">\n"; $year1=1901; while($year1<2012 && $year1 > 1900) { $form1 .= "<option value=\"{$year1}\">{$year1}</option>\n "; $year1++; } $form1 .= "</select> \n"; ?> <?php $form2 = "<select name=\"day2\">\n"; $day2=1; while($day2<32) { $form2 .= "<option value=\"{$day2}\">{$day2}</option> "; $day2++; } $form2 .= "</select>\n \n <select name=\"month2\">\n"; $month2 = array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "Novermber", "December"); foreach ($month2 as $key) { $form2 .= "<option value=\"{$key}\">{$key}</option>\n "; } $form2 .= "</select>\n \n <select name=\"year2\">\n"; $year2=1901; while($year2<2012 && $year2 > 1900) { $form2 .= "<option value=\"{$year2}\">{$year2}</option>\n "; $year2++; } $form2 .= "</select> \n"; ?> <?php $form3 = "<select name=\"day3\">\n"; $day3=1; while($day3<32) { $form3 .= "<option value=\"{$day3}\">{$day3}</option> "; $day3++; } $form3 .= "</select>\n \n <select name=\"month3\">\n"; $month3 = array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "Novermber", "December"); foreach ($month3 as $key) { $form3 .= "<option value=\"{$key}\">{$key}</option>\n "; } $form3 .= "</select>\n \n <select name=\"year3\">\n"; $year3=1901; while($year3<2012 && $year3 > 1900) { $form3 .= "<option value=\"{$year3}\">{$year3}</option>\n "; $year3++; } $form3 .= "</select> \n"; ?> Quote Link to comment https://forums.phpfreaks.com/topic/271234-dropdowns-being-submitted-as-select-to-db/#findComment-1395507 Share on other sites More sharing options...
Muddy_Funster Posted November 27, 2012 Share Posted November 27, 2012 you are welcome. Quote Link to comment https://forums.phpfreaks.com/topic/271234-dropdowns-being-submitted-as-select-to-db/#findComment-1395510 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.