Jump to content

Registration Page Checks If Email Exists & Same Page Error Display


lukeawade

Recommended Posts

I have a registration page that if requires certain textfields be filled out. If they are not filled out or in the correct format then it displays an error on the same page under the textfield. If everything is filled out correctly it sends them an email and redirects them to a thankyou.html page.

 

The problem I am having is I want to check if the email they entered exists in the database(this actually works but I cant get the error to display on the same page because I am using "die" but if i use echo i cant figure out how to get it to work) & if the email is real and if it exists in the database or the email isnt real then an error is displayed under the email textfield. I placed my code below but removed alot of the html code so that just the email field is displayed but all my precode is there. Thanks to all who can help.

 

<?php require_once('../Connections/connRegistration.php'); ?>
<?php
// Load the common classes
require_once('../includes/common/KT_common.php');

// Load the tNG classes
require_once('../includes/tng/tNG.inc.php');

// Make a transaction dispatcher instance
$tNGs = new tNG_dispatcher("../");

// Make a transaction dispatcher instance
$tNGs = new tNG_dispatcher("");

// Make unified connection variable
$conn_connRegistration = new KT_connection($connRegistration, $database_connRegistration);

// Start trigger
$formValidation = new tNG_FormValidation();
$formValidation->addField("first_name", true, "text", "", "", "", "");
$formValidation->addField("last_name", true, "text", "", "", "", "");
$formValidation->addField("company", true, "text", "", "", "", "");
$formValidation->addField("address1", true, "text", "", "", "", "");
$formValidation->addField("city", true, "text", "", "", "", "");
$formValidation->addField("state", true, "text", "", "", "", "");
$formValidation->addField("zip", true, "text", "zip_generic", "", "", "");
$formValidation->addField("phone", true, "text", "phone", "", "", "");
$formValidation->addField("cell_phone", false, "text", "phone", "", "", "");
$formValidation->addField("fax", false, "text", "phone", "", "", "");
$formValidation->addField("email", true, "text", "email", "", "", "");
$formValidation->addField("distribution_method", true, "distribution_method", "", "", "", "");
$tNGs->prepareValidation($formValidation);
// End trigger

//start Trigger_SendEmail trigger
//remove this line if you want to edit the code by hand
function Trigger_SendEmail(&$tNG) {
  $emailObj = new tNG_Email($tNG);
  $emailObj->setFrom("test@test.com");
  $emailObj->setTo("{email}");
  $emailObj->setCC("");
  $emailObj->setBCC("test@test.com");
  $emailObj->setSubject("Project Registration");
  //WriteContent method
$emailObj->setContent("{first_name}, <br><br>
  
  Thank you for registering.
  
  The Project Information Management Team <br><br><br><br>
  
  
  
  (Preferred Delivery Method: {distribution_method})
  ");
  $emailObj->setEncoding("ISO-8859-1");
  $emailObj->setFormat("HTML/Text");
  $emailObj->setImportance("Normal");
  return $emailObj->Execute();
}
//end Trigger_SendEmail trigger

if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

$colname_rsMail = "-1";
if (isset($_POST['email'])) {
  $colname_rsMail = $_POST['email'];
}
mysql_select_db($database_connRegistration, $connRegistration);
$query_rsMail = sprintf("SELECT first_name, email FROM dashboard_registration WHERE email = %s", GetSQLValueString($colname_rsMail, "text"));
$rsMail = mysql_query($query_rsMail, $connRegistration) or die(mysql_error());
$row_rsMail = mysql_fetch_assoc($rsMail);
$totalRows_rsMail = mysql_num_rows($rsMail);

// checks if the email is in the database
if (!get_magic_quotes_gpc()) {
$_POST['email'] = addslashes($_POST['email']);
}
$usercheck = $_POST['email'];
$check = mysql_query("SELECT email FROM dashboard_registration WHERE email = '$usercheck'") or die(mysql_error());
$check2 = mysql_num_rows($check);

//if the name exists it gives an error
if ($check2 != 0) {
die('Sorry, the email '.$_POST['email'].' has already registered.');
}

// Make an insert transaction instance
$ins_dashboard_registration = new tNG_insert($conn_connRegistration);
$tNGs->addTransaction($ins_dashboard_registration);
// Register triggers
$ins_dashboard_registration->registerTrigger("STARTER", "Trigger_Default_Starter", 1, "POST", "KT_Insert1");
$ins_dashboard_registration->registerTrigger("BEFORE", "Trigger_Default_FormValidation", 10, $formValidation);
$ins_dashboard_registration->registerTrigger("END", "Trigger_Default_Redirect", 99, "thankyou.html");
$ins_dashboard_registration->registerTrigger("AFTER", "Trigger_SendEmail", 98);
// Add columns
$ins_dashboard_registration->setTable("dashboard_registration");
$ins_dashboard_registration->addColumn("first_name", "STRING_TYPE", "POST", "first_name");
$ins_dashboard_registration->addColumn("last_name", "STRING_TYPE", "POST", "last_name");
$ins_dashboard_registration->addColumn("company", "STRING_TYPE", "POST", "company");
$ins_dashboard_registration->addColumn("address1", "STRING_TYPE", "POST", "address1");
$ins_dashboard_registration->addColumn("address2", "STRING_TYPE", "POST", "address2");
$ins_dashboard_registration->addColumn("city", "STRING_TYPE", "POST", "city");
$ins_dashboard_registration->addColumn("state", "STRING_TYPE", "POST", "state");
$ins_dashboard_registration->addColumn("zip", "STRING_TYPE", "POST", "zip");
$ins_dashboard_registration->addColumn("phone", "STRING_TYPE", "POST", "phone");
$ins_dashboard_registration->addColumn("cell_phone", "STRING_TYPE", "POST", "cell_phone");
$ins_dashboard_registration->addColumn("fax", "STRING_TYPE", "POST", "fax");
$ins_dashboard_registration->addColumn("email", "STRING_TYPE", "POST", "email");
$ins_dashboard_registration->addColumn("registration_date", "DATE_TYPE", "POST", "registration_date");
$ins_dashboard_registration->addColumn("ip", "STRING_TYPE", "POST", "ip");
$ins_dashboard_registration->setPrimaryKey("reg_id", "NUMERIC_TYPE");
$ins_dashboard_registration->addColumn("distribution_method", "STRING_TYPE", "POST", "distribution_method");
$ins_dashboard_registration->addColumn("proj_id", "INT_TYPE", "POST", "proj_id");

// Execute all the registered transactions
$tNGs->executeTransactions();

// Get the transaction recordset
$rsdashboard_registration = $tNGs->getRecordset("dashboard_registration");
$row_rsdashboard_registration = mysql_fetch_assoc($rsdashboard_registration);
$totalRows_rsdashboard_registration = mysql_num_rows($rsdashboard_registration);?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Project Dashboard Registration</title>
<?php echo $tNGs->displayValidationRules();?>
</head>
<body>
<table width="525" border="0" align="center" cellpadding="0"  cellspacing="0">
  <tr>
    <td valign="top" background="../Copy of jedunn/images/table_middle.gif"><table width="525" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td height="420" valign="top" class="norepeatbg">  
        <form method="post" id="form1" action="<?php echo KT_escapeAttribute(KT_getFullUri()); ?>">
   <div align="center">
     <table width="402" align="center" cellpadding="2" cellspacing="0" >
				<tr>
				  <td height="49" valign="top" class="style22" >*</td>
				  <td valign="top" class="style2" ><label for="email">
				  <div align="left">E-mail:</div>
				  </label></td>
				  <td valign="top" class="style22"><div align="left">
				    <input name="email" type="text" id="email" value="<?php echo $row_rsdashboard_registration['email']; ?>" size="32" />
				    <?php echo $tNGs->displayFieldError("dashboard_registration", "email"); ?>
                        </div></td>
			    </tr>
				<tr>
				  <td colspan="3" valign="top" class="style22" ><table width="337" border="0" align="center" cellpadding="0" cellspacing="0">
                      </table></td>
			  </tr>
    </table>
   </div>
			  <input type="hidden" name="proj_id" id="proj_id" value="23" />
                  <input type="hidden" name="registration_date" id="registration_date" />
			  <input type="hidden" name="ip" id="ip" value="<?php echo $_SERVER['REMOTE_ADDR']; ?>" />
  </form>
      </td>
      </tr>
    </table>    </td>
  </tr>
    </table></td>
  </tr>
</table>
</body>
</html>
<?php
mysql_free_result($rsMail);
?>

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.