I am still only getting one value in $idstring... but if I search the firstname, lastname and zipcode I am using for the account i am entering, I now show nine duplicates. This code is meant to avoid duplicates, and display similar results. Where's the issue? It's like the loop is only running one time.
<?php
session_start();
if (!isset($_SESSION['username'])) {
header("Location: login.php");
exit;
}
// Makes initial conection to database
define ('DB_USER', '*******');
define ('DB_PASSWORD', '*******');
define ('DB_HOST', 'localhost');
define ('DB_NAME', '*******');
if(!empty($_GET['continue'])) {
$continue = $_GET['continue'];
}
else {
$continue = "false";
}
$connect = @mysql_connect(DB_HOST, DB_USER, DB_PASSWORD)
or die('215 Our database is currently down for updates, please check back later.');
// or die(mysql_error());
$db = @mysql_select_db(DB_NAME, $connect)
or die('216 Our database is currently down for updates, please check back later.');
// Aquires data source from form
$company = mysql_real_escape_string($_POST['company']);
$phone = mysql_real_escape_string($_POST['phone']);
$email = mysql_real_escape_string($_POST['email']);
$firstname = mysql_real_escape_string($_POST['firstname']);
$lastname = mysql_real_escape_string($_POST['lastname']);
$address1 = mysql_real_escape_string($_POST['address1']);
$address2 = mysql_real_escape_string($_POST['address2']);
$city = mysql_real_escape_string($_POST['city']);
$state = mysql_real_escape_string($_POST['state']);
$province = mysql_real_escape_string($_POST['province']);
$zipcode = mysql_real_escape_string($_POST['zipcode']);
$country = mysql_real_escape_string($_POST['country']);
$subtype = mysql_real_escape_string($_POST['subtype']);
$source = mysql_real_escape_string($_POST['source']);
$payment = mysql_real_escape_string($_POST['payment']);
$leadercode = mysql_real_escape_string($_POST['leadercode']);
$subcode = mysql_real_escape_string($_POST['subcode']);
$startissue = mysql_real_escape_string($_POST['startissue']);
$endissue = mysql_real_escape_string($_POST['endissue']);
$status = mysql_real_escape_string($_POST['status']);
$n_subcode = $leadercode . "-" . $subcode;
$onlynums = preg_replace('/[^0-9]/','',$phone);
if (strlen($onlynums)==10) {
$areacode = substr($onlynums, 0,3);
$exch = substr($onlynums,3,3);
$num = substr($onlynums,6,4);
$phone = $areacode . "-" . $exch . "-" . $num;
}
else {
}
$checkExists = "SELECT id FROM subscriber_data WHERE firstname = '$firstname' AND lastname = '$lastname' AND zipcode = '$zipcode' LIMIT 10";
$checkExists_result= mysql_query($checkExists)
OR die('QUERY ERROR:<br />' .$checkExists. '<br />' .mysql_error());
$NumberOfResults=mysql_num_rows($checkExists_result);
while ($row = mysql_fetch_array($checkExists_result)) {
$existsid = $row["id"];
if (($NumberOfResults == 1) && ($continue == "false")) {
$tmp_company = stripslashes($company);
session_register("tmp_company");
$tmp_phone = stripslashes($phone);
session_register("tmp_phone");
$tmp_email = stripslashes($email);
session_register("tmp_email");
$tmp_firstname = stripslashes($firstname);
session_register("tmp_firstname");
$tmp_lastname = stripslashes($lastname);
session_register("tmp_lastname");
$tmp_address1 = stripslashes($address1);
session_register("tmp_address1");
$tmp_address2 = stripslashes($address2);
session_register("tmp_address2");
$tmp_city = stripslashes($city);
session_register("tmp_city");
$tmp_state = stripslashes($state);
session_register("tmp_state");
$tmp_province = stripslashes($province);
session_register("tmp_province");
$tmp_zipcode = stripslashes($zipcode);
session_register("tmp_zipcode");
$tmp_country = stripslashes($country);
session_register("tmp_country");
$tmp_subtype = stripslashes($subtype);
session_register("tmp_subtype");
$tmp_source = stripslashes($source);
session_register("tmp_source");
$tmp_payment = stripslashes($payment);
session_register("tmp_payment");
$tmp_leadercode = stripslashes($leadercode);
session_register("tmp_leadercode");
$tmp_subcode = stripslashes($subcode);
session_register("tmp_subcode");
$tmp_startissue = stripslashes($startissue);
session_register("tmp_startissue");
$tmp_endissue = stripslashes($endissue);
session_register("tmp_endissue");
$tmp_status = stripslashes($status);
session_register("tmp_status");
header("Location: ../addsubscriber.php?exists=one&existsid=$existsid&continue=true");
exit;
}
elseif (($NumberOfResults > 1) && ($continue == "false")) {
$idarray[] = $row["id"];
$tmp_company = stripslashes($company);
session_register("tmp_company");
$tmp_phone = stripslashes($phone);
session_register("tmp_phone");
$tmp_email = stripslashes($email);
session_register("tmp_email");
$tmp_firstname = stripslashes($firstname);
session_register("tmp_firstname");
$tmp_lastname = stripslashes($lastname);
session_register("tmp_lastname");
$tmp_address1 = stripslashes($address1);
session_register("tmp_address1");
$tmp_address2 = stripslashes($address2);
session_register("tmp_address2");
$tmp_city = stripslashes($city);
session_register("tmp_city");
$tmp_state = stripslashes($state);
session_register("tmp_state");
$tmp_province = stripslashes($province);
session_register("tmp_province");
$tmp_zipcode = stripslashes($zipcode);
session_register("tmp_zipcode");
$tmp_country = stripslashes($country);
session_register("tmp_country");
$tmp_subtype = stripslashes($subtype);
session_register("tmp_subtype");
$tmp_source = stripslashes($source);
session_register("tmp_source");
$tmp_payment = stripslashes($payment);
session_register("tmp_payment");
$tmp_leadercode = stripslashes($leadercode);
session_register("tmp_leadercode");
$tmp_subcode = stripslashes($subcode);
session_register("tmp_subcode");
$tmp_startissue = stripslashes($startissue);
session_register("tmp_startissue");
$tmp_endissue = stripslashes($endissue);
session_register("tmp_endissue");
$tmp_status = stripslashes($status);
session_register("tmp_status");
$idstring = implode( '-', $idarray );
header("Location: ../addsubscriber.php?exists=many&continue=true&idstring=$idstring");
exit;
}
else {
}
}
// Inserts subscriber data into database
$addSubscriber = "INSERT INTO subscriber_data (company, phone, email, firstname, lastname, address1, address2, city, state, province, zipcode, country,
subtype, source, payment, subcode, startissue, endissue, status) VALUES ('$company', '$phone', '$email', '$firstname',
'$lastname', '$address1', '$address2', '$city', '$state', '$province', '$zipcode', '$country', '$subtype', '$source', '$payment', '$n_subcode', '$startissue', '$endissue', '$status')";
$addSubscriber_result= mysql_query($addSubscriber)
OR die('QUERY ERROR:<br />' .$addSubscriber. '<br />' .mysql_error());
// Gets auto-increment subscriber id
$subid = mysql_insert_id();
//Creates Note
$emplID = $username;
$addnote = "New Subscription: Sub Code " . $n_subcode . "<br /><br />";
$date = date("m/d/y");
$time = date("g:iA");
$addnote="INSERT INTO subscriber_notes (emplID, date, time, sessid, note, subsID) VALUES ('$emplID', '$date', '$time', '$PHPSESSID', '$addnote', '$subid')";
$addnote_result= mysql_query($addnote)
OR die('QUERY ERROR:<br />' .$addnote. '<br />' .mysql_error());
session_unregister("tmp_company");
session_unregister("tmp_phone");
session_unregister("tmp_email");
session_unregister("tmp_firstname");
session_unregister("tmp_lastname");
session_unregister("tmp_address1");
session_unregister("tmp_address2");
session_unregister("tmp_city");
session_unregister("tmp_state");
session_unregister("tmp_province");
session_unregister("tmp_zipcode");
session_unregister("tmp_country");
session_unregister("tmp_subtype");
session_unregister("tmp_source");
session_unregister("tmp_payment");
session_unregister("tmp_status");
session_unregister("tmp_firstissue");
session_unregister("tmp_lastissue");
session_unregister("tmp_leadercode");
session_unregister("tmp_subcode");
// Routes to subscriber detail page
header("Location: ../subscriberdetail.php?id=$subid");
exit;
?>
I've tried putting $idarray[] = $row["id"]; outside of the if statement with no luck. Also, does the explode have to be outside f the while loop, and if so, how do I utilize it in my if statement then?