Error: Duplicate entry '????????' for key 2
Posted: Tue Jun 16, 2009 10:35 am
Hi, i set up a table for candidates where the unique identifer is the email address. When they fillout the form below, if that email address is currently in use, i want check the table and display an error such as "This email address is in use, please try another...."
Currently it just comes back as Error: Duplicate entry '???????" for key 2, which is going to mean nothing to the user.
Can someone given me some guidance please based on the below code.
Add To Table Form
Check Email & Added to Table Page
Currently it just comes back as Error: Duplicate entry '???????" for key 2, which is going to mean nothing to the user.
Can someone given me some guidance please based on the below code.
Add To Table Form
Code: Select all
<form action="candidate_register_step2.php" method="post" name="candidate_register" id="candidate_register" onsubmit="return checkrequired(this); return emailcheck(this)">
<table width="1000" border="0" cellspacing="3" cellpadding="3">
<tr>
<td width="145"><font size="2" face="Geneva, Arial, Helvetica, sans-serif">Firstname</font></td>
<td width="834"><font size="2" face="Geneva, Arial, Helvetica, sans-serif">
<input name="requiredfirstname" type="text" id="requiredfirstname" size="35" maxlength="80">
</font></td>
</tr>
<tr>
<td><font size="2" face="Geneva, Arial, Helvetica, sans-serif">Surname</font></td>
<td><font size="2" face="Geneva, Arial, Helvetica, sans-serif">
<input name="requiredsurname" type="text" id="requiredsurname" size="35" maxlength="80">
</font></td>
</tr>
<tr>
<td><font size="2" face="Geneva, Arial, Helvetica, sans-serif">Date
of Birth</font></td>
<td><font size="2" face="Geneva, Arial, Helvetica, sans-serif">
<input name="requireddob" type="text" id="requireddob" size="10" maxlength="10">
<a href="javascript:showCal('Calendar1')"><font color="#808080" size=1 face=verdana><b>
Select Date</b></font></a> <font size="1" face="Verdana, Arial, Helvetica, sans-serif">or
free type in dd/mm/yyyy format</font></font></td>
</tr>
<tr>
<td><font size="2" face="Geneva, Arial, Helvetica, sans-serif">Current
Location </font></td>
<td><font size="2" face="Geneva, Arial, Helvetica, sans-serif">
<select name="requiredlocation" id="requiredlocation">
<option value="" selected>Select The Country</option>
<option value="GB">United Kingdom </option>
</select>
</font></td>
</tr>
<tr>
<td><font size="2" face="Geneva, Arial, Helvetica, sans-serif">Country
of Birth</font></td>
<td><font size="2" face="Geneva, Arial, Helvetica, sans-serif">
<select name="requiredbirth_country" id="requiredbirth_country">
<option value="" selected>Select The Country</option>
<option value="GB">United Kingdom </option>
</select>
</font></td>
</tr>
<tr>
<td><font size="2" face="Geneva, Arial, Helvetica, sans-serif">Email</font></td>
<td><font size="2" face="Geneva, Arial, Helvetica, sans-serif">
<input name="requiredemail" type="text" id="requiredemail" size="45" maxlength="120">
</font></td>
</tr>
<tr>
<td><font size="2" face="Geneva, Arial, Helvetica, sans-serif">Password</font></td>
<td><font size="2" face="Geneva, Arial, Helvetica, sans-serif">
<input name="requiredpassword" type="text" id="requiredpassword" size="8" maxlength="8">
</font></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="Submit" value="Submit">
<input name="Reset" type="reset" id="Reset" value="Reset"> </td>
</tr>
</table>
</form>Check Email & Added to Table Page
Code: Select all
<?php
$firstname=$_POST['requiredfirstname'];
$surname=$_POST['requiredsurname'];
$dob=$_POST['requireddob'];
$location=$_POST['requiredlocation'];
$birth_country=$_POST['requiredbirth_country'];
$email=$_POST['requiredemail'];
$password=$_POST['requiredpassword'];
include("http://10.122.100.180/PaulTest/includes/login_details.inc");
mysql_connect ($dbhost, $dbuser, $dbpass) or die (mysql_error()); //Connects to database
//echo $dbhost. "<br/>";
//echo $dbuser. "<br/>";
//echo $dbpass. "<br/>";
//echo $dbname. "<br/>";
mysql_select_db ($dbname) or die (mysql_error()); //Selects your database
$query = "INSERT INTO candidate (firstname, surname, dob, location, birth_country, email, password, status)
VALUES ('$firstname', '$surname', '$dob', '$location', '$birth_country', '$email', '$password', 'Awaiting CV')";
//echo $query. "<br/>";
echo "";
$result = mysql_query($query) or die("Error: ". mysql_error());
?>
<form enctype="multipart/form-data" action="candidate_registration_complete.php" method="POST">
<table width="1000" border="0" cellspacing="3" cellpadding="3">
<tr>
<td width="126"><input type="hidden" name="MAX_FILE_SIZE" value="100000" />
<font size="2" face="Geneva, Arial, Helvetica, sans-serif">Upload CV</font></td>
<td width="853"><input name="uploadedfile" type="file" />
<input name="id" type="hidden" id="id" value="<?php
$email=$_POST['requiredemail'];
include("includes/login.inc");
mysql_connect ($dbhost, $dbuser, $dbpass) or die (mysql_error()); //Connects to database
mysql_select_db ($dbname) or die (mysql_error()); //Selects your database
$sql = "SELECT * FROM candidate where email = '$email'";
$result = mysql_query($sql);
//echo $sql;
if (!$result) {
echo "Could not successfully run query ($sql) from DB: " . mysql_error();
exit;
}
if (mysql_num_rows($result) == 0) {
echo "No Id";
}
// While a row of data exists, put that row in $row as an associative array
// Note: If you're expecting just one row, no need to use a loop
// Note: If you put extract($row); inside the following loop, you'll
// then create $userid, $fullname, and $userstatus
while ($row = mysql_fetch_assoc($result)) {
echo $row["id"];
}
mysql_free_result($result);
mysql_close();
?>