Register Form Problems

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
mmc01ms
Forum Commoner
Posts: 97
Joined: Wed Dec 01, 2004 3:33 am
Location: Nottingham, UK

Register Form Problems

Post by mmc01ms »

Hi gang,

I've created a register form but the problem is it won't display on the page at all there is just wite space?Any ideas why?

Code: Select all

<?php 
	//script sampled from Beginning PHP4 from WROX Publishing on 01/12/2004
	//Written by Manpreet Sandhu
	include"./db.php";
	$login_script = "./login3.php";
	
	function in_use($username){
		
		$connection = mysql_connect("$dbhost","$dbusername", "$dbpasswd")
			or die ("Couldn't connect to server.");
		
		$db = mysql_select_db("$default_dbname", $connection)
			or die("Couldn't select database.");
		
		$dbQuery = mysql_query("SELECT username FROM customers WHERE username='".$_POST['username']."'",$connection);
		$result = mysql_query($query);
		if(!mysql_num_rows($result)) return 0;
		else return 1;
	}	
	
	function register_form(){
		global $username, $firstName, $lastName, $inital, $addressLineOne, $addressLineTwo, $city, $postcode, $homePhoneNumber, $mobilePhoneNumber, $email, $password1, $password1, $password2, $dateofBirth;
		global $PHP_SELF;
?>
<center><h3>Please complete this form and fill out all fields labeled with a (*)<br>
		No details will be passed to 3rd party companies<br></h3>
	
	<form name="register_form" method="post" action="register.php?action=register">
		
		<tr>
			<td>* Enter Desired Username: </td>
			<td><input name="username" type="text" maxlength="10" id="username"></td>
		</tr>
		<tr>
			<td>* Enter Desired Password: </td>
			<td><input name="password1" type="password" maxlength="10" id="password1"></td>
		</tr>
		<tr>
			<td>* Type Password Again: </td>
			<td><input name="password2" type="password" maxlength="10" id="password2"></td>
		</tr>
		<tr>
			<td>* Email: </td>
			<td><input name="email" type="text" maxlength="40" id="email"></td>
		</tr>
		<tr>
			<td>* First Name: </td>
			<td><input name="firstName" type="text" maxlength="20" id="firstName"></td>
		</tr>
		<tr>
			<td>* Last Name: </td>
			<td><input name="lastName" type="text" maxlength="20" id="lastName"></td>
		</tr>
		<tr>
			<td>* Inital: </td>
			<td><input name="inital" type="text" maxlength="4" id="inital"></td>
		</tr>
		<tr>
			<td>* Address Line One: </td>
			<td><input name="addressLineOne" type="text" maxlength="25" id="addressLineOne"></td>
		</tr>
		<tr>
			<td>* Address Line Two: </td>
			<td><input name="addressLineTwo" type="text" maxlength="25" id="addressLineTwo"></td>
		</tr>
		<tr>
			<td>* City:  </td>
			<td><input name="city" type="text" maxlength="15" id="city"></td>
		</tr>
		<tr>
			<td>County:  </td>
			<td><input name="county" type="text" maxlength="15" id="county"></td>
		</tr>
		<tr>
			<td>* Postcode:  </td>
			<td><input name="postcode" type="text" maxlength="8" id="postcode"></td>
		</tr>
		<tr>
			<td>* Home Phone Number:  </td>
			<td><input name="homePhoneNumber" type="text" maxlength="11" id="homePhoneNumber"></td>
		</tr>
		<tr>
			<td>* Mobile Number:  </td>
			<td><input name="mobilePhoneNumber" type="text" maxlength="11" id="mobilePhoneNumber"></td>
		</tr>
		<tr>
			<td>* Date of Birth:  </td>
			<td><select name ="day">
					<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><br>
				<select name ="month">
					<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>
				</select><br>
				<select name ="year">
					<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>
				</select>
			</td>
		</tr>
		<tr>
			<td>
				<input type="submit" name="Submit" value="Submit">
				<input type="reset" name="Reset" value="Reset">
			</td>
		</tr>
		
	</form></center>

<?php
	}
	
	function create_account() {
		
		$username = $_POST['username'];
		$firstName = $_POST['firstName'];
		$lastName = $_POST['lastName'];
		$inital = $_POST['inital'];
		$addressLineOne = $_POST['addressLineOne'];
		$addressLineTwo =$_POST['addressLineTwo'];
		$city = $_POST['city'] ;
		$county = $_POST['county'] ;
		$postcode = $_POST['postcode'];
		$homePhoneNumber = $_POST['homePhoneNumber'] ;
		$mobilePhoneNumber = $_POST['mobilePhoneNumber'] ;
		$email = $_POST['email'] ;
		$password1 = $_POST['password1'] ;
		$password2 = $_POST['password2'] ;
		$Date_of_Birth = $_POST['year']."-".$_POST['month']."-".$_POST['day'];
		
		if(empty($username)) error_message("Enter your desired Username.");
		if(empty($password1)) error_message("Please enter a password.");
		if(empty($firstName)) error_message("Please enter a password.");
		if(empty($lastName)) error_message("Please enter a password.");
		if(strlen($password1 < 4 )) error_message("Password too short must be more then 4 characters.");
		if(empty($password2)) error_message("Please re-enter second password for verification.");
		if($password1 != $password2) error_message("Passwords do not match please re-enter them.");
		if(empty($email)) error_message("Enter your email.");
		if(empty($addressLineOne)) error_message("Enter your address.");
		if(empty($addressLineTwo)) error_message("Enter the second line of your address.");
		if(empty($postcode)) error_message("Please enter your postcode.");
		if(empty($city)) error_message("Enter the city you live in.");
		if(empty($homePhoneNumber)) error_message("Please enter a home phone number.");
		if(empty($mobilePhoneNumber)) error_message("Please enter a mobile phone number.");
		if(empty($inital)) error_message("Please enter your title.");
		if(strlen($homePhoneNumber)) error_message("Invalid Home Phone Number.");
		if(strlen($mobilePhoneNumber)) error_message("Invalid Mobile Phone Number.");
		if(empty($Date_of_Birth)) error_message("Invalid Birth Date");
		
		$connection = mysql_connect("$dbhost","$dbusername", "$dbpasswd")
			or die ("Couldn't connect to server.");
		
		$db = mysql_select_db("$database_name", $connection)
			or die("Couldn't select database.");
		
		
		if(in_use($username))
			error_message("$username is in use. Please choose a diffrent ID.");
		
		
		if(!$county){
			
			$query = "insert into customers values(NULL, '$firstName', '$lastName', '$inital', '$addressLineOne', '$addressLineTwo', '$city','$postcode', '$homePhoneNumber', '$mobilePhoneNumber', '$email', '$Date_of_Birth', '$password1', NULL, NULL)";
			mysql_query($query, $db_conn);
			$results = mysql_affected_rows();
			
			if($results>0) {
				$succesful=1;
			}
			else{
				register_form();
			}
		}else
		{
			$query = "insert into customers values(NULL, '$firstName', '$lastName', '$inital', '$addressLineOne', '$addressLineTwo', '$city','$county', '$postcode', '$homePhoneNumber', '$mobilePhoneNumber', '$email', '$Date_of_Birth', '$password1', NULL, NULL)";
			$results = mysql_affected_rows();
			
			if($results>0) {
				$succesful=1;
			} else {
				register_form();
			}
		}
		
		if ($succesful==1){
			echo $firstName
				." "
				. $lastName 
				. ", You have succesfully become a customer of Funky Monkey Records. You will recieve a validation e-mail so you can activiate your account.<br><br>
						";
				$sql = mysql_query("Select customer_id from customers where username = '$username'");
			$row = mysql_fetch_array($sql);
			$customer_id = $row['customer_id'];
			
			$emailMessage = "<html><body>Dear ". $firstName . " " . $lastName. "<br><br>
				You have registred an account at Funky Monkey Records. In order to complete registration you have to click this activation
				link:<br><a href="validate.php?page=validate&customer_id=" . $customer_id . "">validate.php?page=validation&customer_id=" . $customer_id . "</a></body></html>";
			
			$to = $email;
			$from = "mmc01ms@hotmail.com";
			$message= $emailMessage;
			$subject = "Succesfully registred as ". $username;
			$headers = "From: $from";
			if(mail($to,$subject,$message,$headers)){
			} else{
				echo"<br><br>Failed sending an email";
			}
		}
		if($succesful!=1){
			error_message("Email Problems");
		}
		
		
		if($_GET['action'] == "register")
		{
			create_account();
			exit;
			break;
		}else
		register_form();
	}
?>
[]InTeR[]
Forum Regular
Posts: 416
Joined: Thu Apr 24, 2003 6:51 am
Location: The Netherlands

Post by []InTeR[] »

You forgot the <TABLE> tag :)
mmc01ms
Forum Commoner
Posts: 97
Joined: Wed Dec 01, 2004 3:33 am
Location: Nottingham, UK

Post by mmc01ms »

yes i did miss the html markup in that first function however i have sorted that out yet i still don't get nothing on the screen. Do u think i may not be calling the functions in correctly? updated code is:

Code: Select all

<?php 
	//script sampled from Beginning PHP4 from WROX Publishing on 01/12/2004
	//Written by Manpreet Sandhu
	include"./db.php";
	$login_script = "./login3.php";
	
	function in_use($username){
		
		$connection = mysql_connect("$dbhost","$dbusername", "$dbpasswd")
			or die ("Couldn't connect to server.");
		
		$db = mysql_select_db("$default_dbname", $connection)
			or die("Couldn't select database.");
		
		$dbQuery = mysql_query("SELECT username FROM customers WHERE username='".$_POST['username']."'",$connection);
		$result = mysql_query($query);
		if(!mysql_num_rows($result)) return 0;
		else return 1;
	}	
	
	function register_form(){
		global $username, $firstName, $lastName, $inital, $addressLineOne, $addressLineTwo, $city, $postcode, $homePhoneNumber, $mobilePhoneNumber, $email, $password1, $password1, $password2, $dateofBirth;
		global $PHP_SELF;
?>
<html>
	<head>
		<title>Register Form</title>
	</head>
	<body>
<center><h3>Please complete this form and fill out all fields labeled with a (*)<br>
		No details will be passed to 3rd party companies<br></h3>
	
	<form name="register_form" method="post" action="register.php?action=register">
		<table>
		<tr>
			<td>* Enter Desired Username: </td>
			<td><input name="username" type="text" maxlength="10" id="username"></td>
		</tr>
		<tr>
			<td>* Enter Desired Password: </td>
			<td><input name="password1" type="password" maxlength="10" id="password1"></td>
		</tr>
		<tr>
			<td>* Type Password Again: </td>
			<td><input name="password2" type="password" maxlength="10" id="password2"></td>
		</tr>
		<tr>
			<td>* Email: </td>
			<td><input name="email" type="text" maxlength="40" id="email"></td>
		</tr>
		<tr>
			<td>* First Name: </td>
			<td><input name="firstName" type="text" maxlength="20" id="firstName"></td>
		</tr>
		<tr>
			<td>* Last Name: </td>
			<td><input name="lastName" type="text" maxlength="20" id="lastName"></td>
		</tr>
		<tr>
			<td>* Inital: </td>
			<td><input name="inital" type="text" maxlength="4" id="inital"></td>
		</tr>
		<tr>
			<td>* Address Line One: </td>
			<td><input name="addressLineOne" type="text" maxlength="25" id="addressLineOne"></td>
		</tr>
		<tr>
			<td>* Address Line Two: </td>
			<td><input name="addressLineTwo" type="text" maxlength="25" id="addressLineTwo"></td>
		</tr>
		<tr>
			<td>* City:  </td>
			<td><input name="city" type="text" maxlength="15" id="city"></td>
		</tr>
		<tr>
			<td>County:  </td>
			<td><input name="county" type="text" maxlength="15" id="county"></td>
		</tr>
		<tr>
			<td>* Postcode:  </td>
			<td><input name="postcode" type="text" maxlength="8" id="postcode"></td>
		</tr>
		<tr>
			<td>* Home Phone Number:  </td>
			<td><input name="homePhoneNumber" type="text" maxlength="11" id="homePhoneNumber"></td>
		</tr>
		<tr>
			<td>* Mobile Number:  </td>
			<td><input name="mobilePhoneNumber" type="text" maxlength="11" id="mobilePhoneNumber"></td>
		</tr>
		<tr>
			<td>* Date of Birth:  </td>
			<td><select name ="day">
					<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><br>
				<select name ="month">
					<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>
				</select><br>
				<select name ="year">
					<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>
				</select>
			</td>
		</tr>
		<tr>
			<td>
				<input type="submit" name="Submit" value="Submit">
				<input type="reset" name="Reset" value="Reset">
			</td>
		</tr>
		</table>
		
		
	</form>
	</center>
	</body>
	</html>

<?php
	}
	
	function create_account() {
		
		$username = $_POST['username'];
		$firstName = $_POST['firstName'];
		$lastName = $_POST['lastName'];
		$inital = $_POST['inital'];
		$addressLineOne = $_POST['addressLineOne'];
		$addressLineTwo =$_POST['addressLineTwo'];
		$city = $_POST['city'] ;
		$county = $_POST['county'] ;
		$postcode = $_POST['postcode'];
		$homePhoneNumber = $_POST['homePhoneNumber'] ;
		$mobilePhoneNumber = $_POST['mobilePhoneNumber'] ;
		$email = $_POST['email'] ;
		$password1 = $_POST['password1'] ;
		$password2 = $_POST['password2'] ;
		$Date_of_Birth = $_POST['year']."-".$_POST['month']."-".$_POST['day'];
		
		if(empty($username)) error_message("Enter your desired Username.");
		if(empty($password1)) error_message("Please enter a password.");
		if(empty($firstName)) error_message("Please enter a password.");
		if(empty($lastName)) error_message("Please enter a password.");
		if(strlen($password1 < 4 )) error_message("Password too short must be more then 4 characters.");
		if(empty($password2)) error_message("Please re-enter second password for verification.");
		if($password1 != $password2) error_message("Passwords do not match please re-enter them.");
		if(empty($email)) error_message("Enter your email.");
		if(empty($addressLineOne)) error_message("Enter your address.");
		if(empty($addressLineTwo)) error_message("Enter the second line of your address.");
		if(empty($postcode)) error_message("Please enter your postcode.");
		if(empty($city)) error_message("Enter the city you live in.");
		if(empty($homePhoneNumber)) error_message("Please enter a home phone number.");
		if(empty($mobilePhoneNumber)) error_message("Please enter a mobile phone number.");
		if(empty($inital)) error_message("Please enter your title.");
		if(strlen($homePhoneNumber)) error_message("Invalid Home Phone Number.");
		if(strlen($mobilePhoneNumber)) error_message("Invalid Mobile Phone Number.");
		if(empty($Date_of_Birth)) error_message("Invalid Birth Date");
		
		$connection = mysql_connect("$dbhost","$dbusername", "$dbpasswd")
			or die ("Couldn't connect to server.");
		
		$db = mysql_select_db("$database_name", $connection)
			or die("Couldn't select database.");
		
		
		if(in_use($username))
			error_message("$username is in use. Please choose a diffrent ID.");
		
		
		if(!$county){
			
			$query = "insert into customers values(NULL, '$firstName', '$lastName', '$inital', '$addressLineOne', '$addressLineTwo', '$city','$postcode', '$homePhoneNumber', '$mobilePhoneNumber', '$email', '$Date_of_Birth', '$password1', NULL, NULL)";
			mysql_query($query, $db_conn);
			$results = mysql_affected_rows();
			
			if($results>0) {
				$succesful=1;
			}
			else{
				register_form();
			}
		}else
		{
			$query = "insert into customers values(NULL, '$firstName', '$lastName', '$inital', '$addressLineOne', '$addressLineTwo', '$city','$county', '$postcode', '$homePhoneNumber', '$mobilePhoneNumber', '$email', '$Date_of_Birth', '$password1', NULL, NULL)";
			$results = mysql_affected_rows();
			
			if($results>0) {
				$succesful=1;
			} else {
				register_form();
			}
		}
		
		if ($succesful==1){
			echo $firstName
				." "
				. $lastName 
				. ", You have succesfully become a customer of Funky Monkey Records. You will recieve a validation e-mail so you can activiate your account.<br><br>
						";
				$sql = mysql_query("Select customer_id from customers where username = '$username'");
			$row = mysql_fetch_array($sql);
			$customer_id = $row['customer_id'];
			
			$emailMessage = "<html><body>Dear ". $firstName . " " . $lastName. "<br><br>
				You have registred an account at Funky Monkey Records. In order to complete registration you have to click this activation
				link:<br><a href="validate.php?page=validate&customer_id=" . $customer_id . "">validate.php?page=validation&customer_id=" . $customer_id . "</a></body></html>";
			
			$to = $email;
			$from = "mmc01ms@hotmail.com";
			$message= $emailMessage;
			$subject = "Succesfully registred as ". $username;
			$headers = "From: $from";
			if(mail($to,$subject,$message,$headers)){
			} else{
				echo"<br><br>Failed sending an email";
			}
		}
		if($succesful!=1){
			error_message("Email Problems");
		}
		
		
		if($_GET['action'] == "register")
		{
			create_account();
			exit;
			break;
		}else
		register_form();
	}
?>
[]InTeR[]
Forum Regular
Posts: 416
Joined: Thu Apr 24, 2003 6:51 am
Location: The Netherlands

Post by []InTeR[] »

Hmmm there is no default action :)

Just look @ the code :)

Change:

Code: Select all

if($succesful!=1){
			error_message("Email Problems");
		}
		
		
		if($_GET['action'] == "register")
		{
			create_account();
			exit;
			break;
		}else
		register_form();
	}

Into:

Code: Select all

if($succesful!=1){
			error_message("Email Problems");
		}
		
	}	
	if($_GET['action'] == "register")
	{
		create_account();
		exit;
		break;
	}else
		register_form();
And i think it will work :)
mmc01ms
Forum Commoner
Posts: 97
Joined: Wed Dec 01, 2004 3:33 am
Location: Nottingham, UK

Post by mmc01ms »

cheers that sorted it out!
Post Reply