2013-01-15 34 views
-1

我想知道,如果有人可以幫助(對不起,我知道這個問題之前已經長大)如何檢查電子郵件和公司名稱不mysql數據庫已經存在

我有一個註冊表格我希望在提交之前確保公司和電子郵件地址不存在。

我很感激任何幫助。

哦,我的表名是R_TABLE和領域是公司 哦,我的表名是U_TABLE而光場是EMAIL

<? 
    session_start(); 
    //ignore this -->$email = $_POST['email'] ; 

    //error_reporting(E_ALL); 
    //ini_set("display_errors", 1); 

    //Connect to Database 
    include('includes/dbconn.php'); 
    ?> 
    <!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=iso-8859-1" /> 
    <title>Sign Up Form</title> 
    <link rel="shortcut icon" href="favicon.ico" /> 



    <link href="eps.css" rel="stylesheet" type="text/css" /> 
    <div class="header2"> 
    </div> 

    //VALIDATES FIELDS 

    <script language="javascript"> 

    function validateForm() 
    { 

var x=document.forms["form1"]["email"].value; 
var atpos=x.indexOf("@"); 
var dotpos=x.lastIndexOf("."); 
if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length) 
{ 
    alert("Not a valid e-mail address"); 
    return false; 
} 
if (document.forms["form1"]["email"].value != document.forms["form1"] ["email2"].value) { 
    alert("Email addresses do not match"); 
    return false; 
} 


    { 
    var x=document.forms["form1"]["companyName"].value; 
    if (x==null || x=="") 
    { 
    alert("Please enter your company name."); 
    return false; 
    } 




    } 
    } 

    </script> 






    </head> 


    <body background="images/background.gif" repeat > 
    <table width="1101" border="0" align="center" cellpadding="0" cellspacing="0"> 
    <tr> 
    <td> 
    <br/> <br/> 



<p align="center" class="SignUpText">Sign Up Form</p> 
    <table width="600" border="0" align="center" cellpadding="0" cellspacing="0" class="TableBorder"> 
    <tr> 
    <td> 
    <form id="form1" name="form1" method="post" action="signup.php" onSubmit="return validateForm();"> 
    <input name="a" type="hidden" id="a" value="signup" /> 
    <input name="group" type="hidden" id="group" /> 

    <table width="100%" border="0" align="center" cellpadding="5" cellspacing="0" class="MainText"> 
    <tr> 
    <td colspan="4" class="auto-style4" style="height: 40px"><strong> 
<span class="auto-style5">Personal Information</span><br/> 
    </tr> 

    //COMPANY NAME 

    <tr> 
    <td width="25%">Company Name</td> 
    <td style="width: 2%">*</td> 
    <td width="25%"><label> 

<input name="companyName" type="text" class="auto-style3" id="companyName" size="35" /></label></td> 

    <td style="width: 2%"><a href="#" class="hintanchor" onMouseover="showhint('Please enter your registered company name.', this, event, '150px')">?</a></td> 


     //EMAIL 

     <td> 
    <input name="email" type="text" class="auto-style3" id="email" size="40" /></td> 
     <tr> 
     <td>Re-enter Email Address</td> 
     <td style="width: 2%">*</td> 
     <td> 
    <input name="email2" type="text" class="auto-style3" id="email2" size="40" /> </td> 

     //SUBMIT 

     <tr> 
     <td colspan="4"><div align="center"> 
     <input type="submit" name="Submit" value="Sign Up" /> 
     </div> 
     </td> 
     </tr> 
     </table> 
     </form> 
     </td> 
     </tr> 
     </table> 


Here is part of the class that adds new users, the email actually is added to contactEmail field , company is added to companyname within the database which I need to check if it doesn't already have the email and company name stored 

function addmember($companyname, $licencenumber,$companyNumber,$vatNumber,$address1,$address2,$address3,$town,$county,$postcode,$firstname,$surname,$email,$phone,$training,$norepairs,$logo,$repairtype,$repairgroup,$mode) 
{ 

    $ref = "REP"; 
    $licencenumber = "TEST"; 

    $query = "INSERT INTO r_table VALUES "; 
    $query.= "(NULL,"; 
    $query.= "\"$ref\","; 
    $query.= "\"$companyname\","; 
    $query.= "\"$licencenumber\","; 
    $query.= "\"$companyNumber\","; 
    $query.= "\"$vatNumber\","; 
    $query.= "\"$address1\","; 
    $query.= "\"$address2\","; 
    $query.= "\"$address3\","; 
    $query.= "\"$town\","; 
    $query.= "\"$county\","; 
    $query.= "\"$postcode\","; 
    $query.= "\"$firstname\","; 
    $query.= "\"$surname\","; 
    $query.= "\"$email\","; 
    $query.= "\"$phone\","; 
    $query.= "\"$training\","; 
    $query.= "\"$norepairs\","; 
    $query.= "\"$logo\","; 
    $query.= "\"$repairtype\","; 
    $query.= "\"$repairgroup\","; 
    $query.= "NOW(),"; 
    $query.= "NOW(),"; 
    $query.= "$mode)"; 

    $result = mysql_query($query); 

    $insertid = mysql_insert_id(); 
    $ref = "REP".$insertid; 
    $licencenumber = "test".$insertid; 

    $query = "UPDATE r_table SET ref = \"$ref\", licenseNumber=\"$licencenumber\" WHERE id = ".$insertid; 

    $result = mysql_query($query); 

    echo mysql_error(); 

    if (!$result) 
     echo mysql_error(); 
    else 
     return $ref; 
+0

如果它確實存在,那麼會發生什麼? – Strawberry

+1

@Strawberry的啓示。 – 2013-01-15 23:51:46

+1

哦,不是,當然? – Strawberry

回答

1

你可以做一件事像如下:

$query = "select * from `tablename` where `fieldname` = 'value'"; 
$result = mysql_query($query) or die(mysql_error()); 
$num_result = mysql_num_rows($result); 
if($num_result > 0){ 
    //Value exist for field already 
} 

這裏mysql_num_rows返回number of rows of result of query。所以使用這個你可以檢查公司和電子郵件是否已經存在。

+0

謝謝,真的有幫助,接下來的問題是,我得到它迴應以下「電子郵件確實存在」和「電子郵件不存在」我怎麼,而不是如果電子郵件存在,並且要返回到註冊頁面表示它存在,則顯示的信息將停止將數據輸入到數據中。 –

+0

嗨,重定向電子郵件存在,並顯示錯誤..你可以檢查'if($ num_result> 0){頭('位置:register.php?錯誤=電子郵件'); }'和'register.php'你可以檢查'if(isset($ _ REQUEST ['error'])&& $ _REQUEST ['error'] =='email'){echo「Email exist」;}'我希望它會幫助你。謝謝 –

+0

謝謝呃。 Anurag Jain能夠做到這一點。 –

相關問題