Ok,
I have posted below the php part of the form as the html part is fine. I have made the new columns I am posting in bold, it is this line that is causing the error. I have also made bold the directory for the include file which is off the htdocs - maybe I have this wrong?
<?php
/*****
join.php:
This file displays a 'registration' form and allows users to register a new user account on the site.
*****/
include [B]("Supplier/supplierconfig.php"); [/B]
// Check user not logged in already:
checkLoggedIn("no");
// page title:
$title="Member Registration Page";
/*
Accepting a <form> submission:
The $submit variable in the $_POST superglobal array will only be set if the user has clicked on the 'submit'
button. This is a reasonable way to check that the user did in fact submit the form.
*/
if(isset($_POST["submit"])){
// Info has been submitted, check it:
// Check login, password and password2 are not empty:
# field_validator($field_descr, $field_data, $field_type, $min_length="", $max_length="", $field_required=1) {
field_validator("username", $_POST["username"], "alphanumeric", 4, 15);
field_validator("password", $_POST["password"], "string", 4, 15);
field_validator("confirmation password", $_POST["password2"], "string", 4, 15);
// Check that password and password2 match:
if(strcmp($_POST["password"], $_POST["password2"])) {
// The password and confirmation password didn't match,
// Add a message to be displayed to the user:
$messages[]="Your passwords did not match";
}
/*
Checking the login name doesn't already exist in the 'users' table:
line42
The idea here is that if an entry already exists
in the 'users' db table where 'username' equals $username
(ie the login name the user has just provided in the
join form), then we return an error message saying that
that username is already taken and ask the user to
choose another name.
*/
// build query: line 52
$query="SELECT username FROM suppliers WHERE username='".$_POST["username"]."'";
// Run query:
$result=mysql_query($query, $link) or die("MySQL query $query failed. Error if any: ".mysql_error());
// If a row exists with that username, issue an error message:
if( ($row=mysql_fetch_array($result)) ){
$messages[]="Username \"".$_POST["username"]."\" already exists. Try another.";
}
/*
Creating a new user entry in the users table:
If we got here and no error messages were placed in the $messages array above,
then the $username that the user provided was valid and we can
continue to create an entry in the users table in the mysql db.
We also effectively 'login' the user and then forward them to the members.php
page using the 'header()' function.
line70*/
if(empty($messages)) {
// registration ok, get user id and update db with new info:
newUser($_POST["username"], $_POST["password"], $_POST["first_name"], $_POST["last_name"], $_POST["address_line1"], $_POST["address_line2"], $_POST["town"], $_POST["county"], $_POST["postcode"], $_POST["daytime_phone"], $_POST["beautician"], $_POST["email_address"], $_POST["date_ofbirth"], [B]$_POST["test1"], $_POST["test2"], $_POST["test3"], $_POST["test4"]);[/B]
// Log the user in:
cleanMemberSession($_POST["username"], $_POST["password"]);
// and then redirect them to the members page:
header("Location: [B]Supplier/suppliers.php?".[/B]session_name()."=".session_id());
/*
Note this script stops executing after the header() function above!
(the user is forwarded to the suppliers.php page)
*/
}
}
/*
Below here is HTML interposed with PHP. This HTML is only output if
a. the form hasn't been submitted
(line 90) b. the form was submitted but errors were detected
*/
?>
<html>
<head>
<title><?php print $title ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<?php doCSS()?>
</head>
<body>
<h1><?php print $title?></h1>
<?php
//Check if $message is set, and output it if it is:
if(!empty($messages)){
displayErrors($messages);