I’m trying to write a script for users to register to a club, and it does all the validation stuff properly and works great until it gets to the part where its supposed to check for duplicates. I’m not sure what is going wrong. HELP PLEASE!!!
Thank you in Advance,
<?php
mysql_connect ("sqlhost", "username", "password") or die(mysql_error());
mysql_select_db ("databasename") or die(mysql_error());
$errormsgdb = "";
$errordb = "Sorry but that ";
$error1db = "Name";
$error2db = "email";
$error3db = "mobile number";
$errordbe = " is already registered";
$pass1db = "No Matching Name";
$pass2db = "No Matching Email";
$pass3db = "No Matching Mobile";
$errorcount = 0;
$qResult = mysql_query ("SELECT * FROM table");
$nRows = mysql_num_rows($qResult);
for ($i=1; $i< $nRows+1; $i++){
$result = mysql_query("SELECT id,fname,lname,dob,email,mobile,agree,code,joindate FROM table WHERE fname = '$ffname");
if ($result > 0) {
$errorcount = $errorcount++;
$passdb = 0;
$errormsgdb = $error1db;
echo "<div class=\"box red\">$errordb $errormsgdb
} else {
$pass = 1;
$errormsgdb = $pass1db;
echo "<div class=\"box green\">$errormsgdb</div><br />";
}
//--------------- Check if DB checks returned errors ------------------------------------>
if($errorcount <= 0){
$dobp = $_REQUEST['day'].'/'.$_REQUEST['month'].'/'.$_REQUEST['year'];
$dob = $_REQUEST['year'].$_REQUEST['month'].$_REQUEST['day'];
//header('Location: thankyou.php?ffname='.$ffname.'&flname='.$flname.'&dob='.$dob.'&femail='.$femail.'&fmobile='.$fmobile.'&agree='.$agree.'&code='.$code.'&dobp='.$dobp);
echo "<div class='box green'>Form completed! Error Count = $errorcount</div>";
} else {
echo "<div class='box red'>There was an Error! Error Count = $errorcount</div>";
}
}
?>
There are quite a few things that don’t make sense in your script, the multiple queries for one ! why not just query for the data and see if you get a match – instead of looping each user and checking it ?? … but I think your main problem is
then you do
this will NOT work … you created
$errorcountas a string so incrementing it won’t work. You should initialise it as a number :then to increment :
Example of it not working and then working here