New registration fields
I followed a tutorial on YouTube regarding registration, however, I have decided it's necessary to include more fields. More specifically, the birth date, and gender. Given they are different input types opposed to the standard username/password etc fields, I'm having trouble with how I can go about doing this. When a member registers, I want it to be required for them to insert that information into the form, and I want it to output on the database as Male or Female, and date as "21/4/1993" for example. I did manage to get the Male and Female working, but whichever gender you went with, it would always return as "on", and for some unknown reason, even though I stated that I wanted it to be a required field, it would still allow you to register without it.
As you have probably guess by now, I've only been coding for a week, so please go easy on me.

Register Form (include)
registerform.php
<form action="#" method="post" id="post">
<fieldset>
<div class="registeronform"><center>Register</center></div>
<center>
<table border="0">
<tr>
<td><label for="register_email">Email*:</label></td>
<td><input type="text" name="email" /><br></td>
<tr>
<td><label for="first_name">First Name*:</label></td>
<td><input type="text" name="first_name" /></td>
<tr>
<td><label for="last_name">Last Name:</label></td>
<td><input type="text" name="last_name" /></td>
<tr>
<td><label for="user_name">Username*:</label></td>
<td><input type="text" name="username" /></td>
<tr>
<td><label for="register_password">Password*:</label></td>
<td><input type="password" name="password" /><br></td>
<tr>
<td><label for="register_password_confirmation">Password Confirmation*:</label></td>
<td><input type="password" name="password_again" /></td>
<tr>
<td><label for="gender">Gender*:</label></td>
<td>Male: <input type="radio" name="male" /> Female: <input type="radio" name="female" /></td>
<tr>
<td><label for="birth">Birth*:</label></td>
<td><select name="DateOfBirth_Month">
<option> - Month - </option>
<option value="January">January</option>
<option value="Febuary">Febuary</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="November">November</option>
<option value="December">December</option>
</select>
<select name="DateOfBirth_Day">
<option> - Day - </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>
<select name="DateOfBirth_Year">
<option> - Year - </option>
<option value="2004">2004</option>
<option value="2003">2003</option>
<option value="2002">2002</option>
<option value="2001">2001</option>
<option value="2000">2000</option>
<option value="1999">1999</option>
<option value="1998">1998</option>
<option value="1997">1997</option>
<option value="1996">1996</option>
<option value="1995">1995</option>
<option value="1994">1994</option>
<option value="1993">1993</option>
<option value="1992">1992</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>
<option value="1909">1909</option>
<option value="1908">1908</option>
<option value="1907">1907</option>
<option value="1906">1906</option>
<option value="1905">1905</option>
<option value="1904">1904</option>
<option value="1903">1903</option>
<option value="1902">1902</option>
<option value="1901">1901</option>
<option value="1900">1900</option>
</select></td>
<tr>
</table>
<input type="submit" value="Register" /> <?php
if (empty($_POST) === false) {
$required_fields = array('email', 'first_name', 'last_name', 'username', 'password', 'password_again', 'gender', 'birth');
foreach($_POST as $key=>$value) {
if (empty($value) && in_array($key, $required_fields) === true) {
$errors[] = 'Fields marked with an asterisk are required.';
break 1;
}
}
if (empty($errors) === true) {
if (user_exists($_POST['username']) === true) {
$errors[] = 'Sorry, the username \'' . $_POST['username'] . '\' is already taken.';
}
if (preg_match("/\\s/", $_POST['username']) == true) {
$errors[] = 'Your username must not contain spaces.';
}
if (strlen($_POST['password']) < 6) {
$errors[] = 'Your password must be at least 6 characters';
}
if ($_POST['password'] !== $_POST['password_again']) {
$errors[] = 'Your passwords do not match.';
}
if (filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) === false){
$errors[] = 'A valid email address is required';
}
if (email_exists($_POST['email']) === true) {
$errors[] = 'Sorry, the email \'' . $_POST['email'] . '\' is already in use.';
}
}
}
include 'includes/registerform.php'
?>
<?php
if (isset($_GET['success']) && empty($_GET['success'])) {
echo '<ul><li>You\'ve been registered successfully. Please check you email to activate your account.</li></ul>';
} else {
if (empty($_POST) === false && empty($errors) === true) {
$register_data = array(
'username' => $_POST['username'],
'password' => $_POST['password'],
'first_name' => $_POST['first_name'],
'last_name' => $_POST['last_name'],
'gender' => $_POST['gender'],
'birth' => $_POST['birth'],
'email' => $_POST['email'],
'email_code' => md5($_POST['username'] + microtime())
);
register_user($register_data);
header('Location: ?success');
exit();
} else if (empty($errors) === false) {
echo output_errors($errors);
}
}
?>
</center> <?php
session_start ();
//error_reporting(0);
require 'database/connect.php';
require 'functions/general.php';
require 'functions/users.php';
if (logged_in() === true) {
$session_user_id = $_SESSION['user_id'];
$user_data = user_data($session_user_id, 'user_id', 'username', 'password', 'first_name', 'last_name', 'email', 'gender', 'birth');
if (user_active($user_data['username']) === false) {
session_destroy();
header('Location: index.php');
exit();
}
}
$errors = array();
?>
-
Valdor Kiebach -
Thanks
{{ DiscussionBoard.errors[8379175].message }} -
-
Alast -
Thanks - 1 reply
{{ DiscussionBoard.errors[8379233].message }}-
seasoned -
Thanks
{{ DiscussionBoard.errors[8379450].message }} -
-
-
Alast -
Thanks
{{ DiscussionBoard.errors[8379710].message }} -
-
CrazyStyle -
Thanks
{{ DiscussionBoard.errors[8380198].message }} -
-
Alast -
Thanks
{{ DiscussionBoard.errors[8381572].message }} -