biscoe916 Posted March 7, 2008 Share Posted March 7, 2008 I made this simple app that lets users add information on a person, then review it. User enters info in a form, presses submit, then the info is put into the database. It was working perfectly then i made some small changes to things that shouldn't have affected this function in any way... But now it doesn't work.... Here's the code. The form page: <?php //addmem.php //-------------------------------------------- // by ----- // 04 Mar 2008 // This file will handle the adding of members //-------------------------------------------- include("include/header.php"); include("include/classy.php"); ?> <a href="addmem.php"> Add family member </a> | <a href="viewfamily.php">View family members</a><br /><hr /> <?php // If form was submitted execute the following code. if($_POST['submit']) { // This statement checks to make sure the required information was entered into the form. if(!$_POST['fname'] || !$_POST['lname'] || !$_POST['birthmonth'] || !$_POST['birthday'] || !$_POST['birthyear']) { $error = "You didn't enter the required information, please try again."; echo "<div id='alertBox' >".$error."</div>"; } else // Executes if all the required information was, in fact, entered by the user. { // Calls file which connects us to the DB. include("connect.php"); // Turns the information that was entered by the user into variables that mysql and php can work with $fname = mysql_real_escape_string($_POST['fname']); $mname = mysql_real_escape_string($_POST['mname']); $lname = mysql_real_escape_string($_POST['lname']); $suffix = mysql_real_escape_string($_POST['suffix']); $birthmonth = mysql_real_escape_string($_POST['birthmonth']); $birthday = mysql_real_escape_string($_POST['birthday']); $birthyear = mysql_real_escape_string($_POST['birthyear']); $deathmonth = mysql_real_escape_string($_POST['deathmonth']); $deathday = mysql_real_escape_string($_POST['deathday']); $deathyear = mysql_real_escape_string($_POST['deathyear']); $about = mysql_real_escape_string($_POST['about']); // The following code will convert the dates into a specific format which I chose to use for the mysql database. // yyyy-mm-dd // The code for the function used here can be found in: classy.php $birthdate = convertDate($birthmonth, $birthday, $birthyear); $deathate = convertDate($deathmonth, $deathday, $deathyear); addMember($fname,$mname,$lname,$suffix,$birthdate,$deathdate,$about); } // End if(!formelements) { ... } } // End if(Post) { ... } ?> <form action="addmem.php" method="post" name="addmember" class="memberform"> First Name: <input id="stextBox" name="fname" type="text" size="30" maxlength="30"> <br> Middle Name: <input id="stextBox" name="mname" type="text" size="30" maxlength="30"> <br> Last Name: <input id="stextBox" name="lname" type="text" size="30" maxlength="30"> <br> Suffix: <input id="stextBox" name="suffix" type="text" size="10" maxlength="30"> <font class="comment"> (i.e. Jr., Sr., II.)</font> <br> Birth Date: <select id="stextBox" name="birthmonth" > <option></option> <option>Jan.</option> <option>Feb.</option> <option>Mar.</option> <option>Apr.</option> <option>May</option> <option>Jun.</option> <option>Jul.</option> <option>Aug.</option> <option>Sep.</option> <option>Oct.</option> <option>Nov.</option> <option>Dec.</option> </select> <select id="stextBox" name="birthday" > <option></option> <option>01</option> <option>02</option> <option>03</option> <option>04</option> <option>05</option> <option>06</option> <option>07</option> <option>08</option> <option>09</option> <option>10</option> <option>11</option> <option>12</option> <option>13</option> <option>14</option> <option>15</option> <option>16</option> <option>17</option> <option>18</option> <option>19</option> <option>20</option> <option>21</option> <option>22</option> <option>23</option> <option>24</option> <option>25</option> <option>26</option> <option>27</option> <option>28</option> <option>29</option> <option>30</option> <option>31</option> </select> <select id="stextBox" name="birthyear" > <option></option> <option>1801</option> <option>1802</option> <option>1803</option> <option>1804</option> <option>1805</option> <option>1806</option> <option>1807</option> <option>1808</option> <option>1809</option> <option>1810</option> <option>1811</option> <option>1812</option> <option>1813</option> <option>1814</option> <option>1815</option> <option>1816</option> <option>1817</option> <option>1818</option> <option>1819</option> <option>1820</option> <option>1821</option> <option>1822</option> <option>1823</option> <option>1824</option> <option>1825</option> <option>1826</option> <option>1827</option> <option>1828</option> <option>1829</option> <option>1830</option> <option>1831</option> <option>1832</option> <option>1833</option> <option>1834</option> <option>1835</option> <option>1836</option> <option>1837</option> <option>1838</option> <option>1839</option> <option>1840</option> <option>1841</option> <option>1842</option> <option>1843</option> <option>1844</option> <option>1845</option> <option>1846</option> <option>1847</option> <option>1848</option> <option>1849</option> <option>1850</option> <option>1851</option> <option>1852</option> <option>1853</option> <option>1854</option> <option>1855</option> <option>1856</option> <option>1857</option> <option>1858</option> <option>1859</option> <option>1860</option> <option>1861</option> <option>1862</option> <option>1863</option> <option>1864</option> <option>1865</option> <option>1866</option> <option>1867</option> <option>1868</option> <option>1869</option> <option>1870</option> <option>1871</option> <option>1872</option> <option>1873</option> <option>1874</option> <option>1875</option> <option>1876</option> <option>1877</option> <option>1878</option> <option>1879</option> <option>1880</option> <option>1881</option> <option>1882</option> <option>1883</option> <option>1884</option> <option>1885</option> <option>1886</option> <option>1887</option> <option>1888</option> <option>1889</option> <option>1890</option> <option>1891</option> <option>1892</option> <option>1893</option> <option>1894</option> <option>1895</option> <option>1896</option> <option>1897</option> <option>1898</option> <option>1899</option> <option>1901</option> <option>1902</option> <option>1903</option> <option>1904</option> <option>1905</option> <option>1906</option> <option>1907</option> <option>1908</option> <option>1909</option> <option>1910</option> <option>1911</option> <option>1912</option> <option>1913</option> <option>1914</option> <option>1915</option> <option>1916</option> <option>1917</option> <option>1918</option> <option>1919</option> <option>1920</option> <option>1921</option> <option>1922</option> <option>1923</option> <option>1924</option> <option>1925</option> <option>1926</option> <option>1927</option> <option>1928</option> <option>1929</option> <option>1930</option> <option>1931</option> <option>1932</option> <option>1933</option> <option>1934</option> <option>1935</option> <option>1936</option> <option>1937</option> <option>1938</option> <option>1939</option> <option>1940</option> <option>1941</option> <option>1942</option> <option>1943</option> <option>1944</option> <option>1945</option> <option>1946</option> <option>1947</option> <option>1948</option> <option>1949</option> <option>1950</option> <option>1951</option> <option>1952</option> <option>1953</option> <option>1954</option> <option>1955</option> <option>1956</option> <option>1957</option> <option>1958</option> <option>1959</option> <option>1960</option> <option>1961</option> <option>1962</option> <option>1963</option> <option>1964</option> <option>1965</option> <option>1966</option> <option>1967</option> <option>1968</option> <option>1969</option> <option>1970</option> <option>1971</option> <option>1972</option> <option>1973</option> <option>1974</option> <option>1975</option> <option>1976</option> <option>1977</option> <option>1978</option> <option>1979</option> <option>1980</option> <option>1981</option> <option>1982</option> <option>1983</option> <option>1984</option> <option>1985</option> <option>1986</option> <option>1987</option> <option>1988</option> <option>1989</option> <option>1990</option> <option>1991</option> <option>1992</option> <option>1993</option> <option>1994</option> <option>1995</option> <option>1996</option> <option>1997</option> <option>1998</option> <option>1999</option> <option>2000</option> <option>2001</option> <option>2002</option> <option>2003</option> <option>2004</option> <option>2005</option> <option>2006</option> <option>2007</option> <option>2008</option> </select> <br> Date of Death: <select id="stextBox" name="deathmonth" > <option></option> <option>Jan.</option> <option>Feb.</option> <option>Mar.</option> <option>Apr.</option> <option>May</option> <option>Jun.</option> <option>Jul.</option> <option>Aug.</option> <option>Sep.</option> <option>Oct.</option> <option>Nov.</option> <option>Dec.</option> </select> <select id="stextBox" name="deathday" > <option></option> <option>1</option> <option>2</option> <option>3</option> <option>4</option> <option>5</option> <option>6</option> <option>7</option> <option>8</option> <option>9</option> <option>10</option> <option>11</option> <option>12</option> <option>13</option> <option>14</option> <option>15</option> <option>16</option> <option>17</option> <option>18</option> <option>19</option> <option>20</option> <option>21</option> <option>22</option> <option>23</option> <option>24</option> <option>25</option> <option>26</option> <option>27</option> <option>28</option> <option>29</option> <option>30</option> <option>31</option> </select> <select id="stextBox" name="deathyear" > <option selected></option> <option>1801</option> <option>1802</option> <option>1803</option> <option>1804</option> <option>1805</option> <option>1806</option> <option>1807</option> <option>1808</option> <option>1809</option> <option>1810</option> <option>1811</option> <option>1812</option> <option>1813</option> <option>1814</option> <option>1815</option> <option>1816</option> <option>1817</option> <option>1818</option> <option>1819</option> <option>1820</option> <option>1821</option> <option>1822</option> <option>1823</option> <option>1824</option> <option>1825</option> <option>1826</option> <option>1827</option> <option>1828</option> <option>1829</option> <option>1830</option> <option>1831</option> <option>1832</option> <option>1833</option> <option>1834</option> <option>1835</option> <option>1836</option> <option>1837</option> <option>1838</option> <option>1839</option> <option>1840</option> <option>1841</option> <option>1842</option> <option>1843</option> <option>1844</option> <option>1845</option> <option>1846</option> <option>1847</option> <option>1848</option> <option>1849</option> <option>1850</option> <option>1851</option> <option>1852</option> <option>1853</option> <option>1854</option> <option>1855</option> <option>1856</option> <option>1857</option> <option>1858</option> <option>1859</option> <option>1860</option> <option>1861</option> <option>1862</option> <option>1863</option> <option>1864</option> <option>1865</option> <option>1866</option> <option>1867</option> <option>1868</option> <option>1869</option> <option>1870</option> <option>1871</option> <option>1872</option> <option>1873</option> <option>1874</option> <option>1875</option> <option>1876</option> <option>1877</option> <option>1878</option> <option>1879</option> <option>1880</option> <option>1881</option> <option>1882</option> <option>1883</option> <option>1884</option> <option>1885</option> <option>1886</option> <option>1887</option> <option>1888</option> <option>1889</option> <option>1890</option> <option>1891</option> <option>1892</option> <option>1893</option> <option>1894</option> <option>1895</option> <option>1896</option> <option>1897</option> <option>1898</option> <option>1899</option> <option>1901</option> <option>1902</option> <option>1903</option> <option>1904</option> <option>1905</option> <option>1906</option> <option>1907</option> <option>1908</option> <option>1909</option> <option>1910</option> <option>1911</option> <option>1912</option> <option>1913</option> <option>1914</option> <option>1915</option> <option>1916</option> <option>1917</option> <option>1918</option> <option>1919</option> <option>1920</option> <option>1921</option> <option>1922</option> <option>1923</option> <option>1924</option> <option>1925</option> <option>1926</option> <option>1927</option> <option>1928</option> <option>1929</option> <option>1930</option> <option>1931</option> <option>1932</option> <option>1933</option> <option>1934</option> <option>1935</option> <option>1936</option> <option>1937</option> <option>1938</option> <option>1939</option> <option>1940</option> <option>1941</option> <option>1942</option> <option>1943</option> <option>1944</option> <option>1945</option> <option>1946</option> <option>1947</option> <option>1948</option> <option>1949</option> <option>1950</option> <option>1951</option> <option>1952</option> <option>1953</option> <option>1954</option> <option>1955</option> <option>1956</option> <option>1957</option> <option>1958</option> <option>1959</option> <option>1960</option> <option>1961</option> <option>1962</option> <option>1963</option> <option>1964</option> <option>1965</option> <option>1966</option> <option>1967</option> <option>1968</option> <option>1969</option> <option>1970</option> <option>1971</option> <option>1972</option> <option>1973</option> <option>1974</option> <option>1975</option> <option>1976</option> <option>1977</option> <option>1978</option> <option>1979</option> <option>1980</option> <option>1981</option> <option>1982</option> <option>1983</option> <option>1984</option> <option>1985</option> <option>1986</option> <option>1987</option> <option>1988</option> <option>1989</option> <option>1990</option> <option>1991</option> <option>1992</option> <option>1993</option> <option>1994</option> <option>1995</option> <option>1996</option> <option>1997</option> <option>1998</option> <option>1999</option> <option>2000</option> <option>2001</option> <option>2002</option> <option>2003</option> <option>2004</option> <option>2005</option> <option>2006</option> <option>2007</option> <option>2008</option> </select> <font class="comment"> (Note: Leave blank if they are still alive.)</font><br> <br> Tell us a little about Him/Her: <br> <textarea id="stextBox" name="about" cols="65" rows="10"></textarea> <br> <input name="submit" type="submit" value="Submit"> <input name="reset" type="reset" value="Reset"> </form> <?php include("include/footer.php"); ?> The Functions include file: <?php // classy.php // Author: ------ // Date: 02 March 2008 // = Description ============================= // This file houses several classes/functions // that will run ------ // =========================================== // Convertes dates for the mysql database. // $bm = birthmonth, $bd = birthday, $by = birthyear function convertDate($bm, $bd, $by) { switch ($bm) { case "Jan.": $bm = "01"; $birthdate = $by."-".$bm."-".$bd; break; case "Feb.": $bm = "02"; $birthdate = $by."-".$bm."-".$bd; break; case "Mar.": $bm = "03"; $birthdate = $by."-".$bm."-".$bd; break; case "Apr.": $bm = "04"; $birthdate = $by."-".$bm."-".$bd; break; case "May": $bm = "05"; $birthdate = $by."-".$bm."-".$bd; break; case "Jun.": $bm = "06"; $birthdate = $by."-".$bm."-".$bd; break; case "Jul.": $bm = "07"; $birthdate = $by."-".$bm."-".$bd; break; case "Aug.": $bm = "08"; $birthdate = $by."-".$bm."-".$bd; break; case "Sep.": $bm = "09"; $birthdate = $by."-".$bm."-".$bd; break; case "Oct.": $bm = "10"; $birthdate = $by."-".$bm."-".$bd; break; case "Nov.": $bm = "11"; $birthdate = $by."-".$bm."-".$bd; break; case "Dec.": $bm = "12"; $birthdate = $by."-".$bm."-".$bd; break; } // End Switch statement return $birthdate; } // End function convertDate // This function adds members....... function addMember($fn, $mn, $ln, $su, $bd, $dd, $ab) { $query = mysql_query("INSERT INTO members (fname, mname, lname, suffix, birth, death, about) VALUES ('$fn','$mn','$ln','$su','$bd','$dd','$ab')"); echo "<div id='alertBox' > Family Member has been added! </div>"; } ?> When i try it out i know it calls the function cause it prints "Family Member has been added!", but it doesn't get added to the database. I'm thinking that for this reason it must be a problem in the SQL however, i haven't changed it a bit since i got it working the first time.... Thanks Quote Link to comment Share on other sites More sharing options...
biscoe916 Posted March 7, 2008 Author Share Posted March 7, 2008 Problem solved. The unique id in the database table wasn't set to auto_increment. Quote Link to comment Share on other sites More sharing options...
Barand Posted March 7, 2008 Share Posted March 7, 2008 BTW, your convert_date function can be simplified <?php function convert_date ($bm, $bd, $by) { return date ('Y-m-d', strtotime("$bd $bm $by")); } echo convert_date ('Mar', 7, 1978); //--> 1978-03-07 ?> Quote Link to comment 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.