2017-06-15 25 views
0
  1. 當用戶填寫表單時,如果LinkedIn Id已經存在,它應該會拋出一個錯誤,說LinkedIn Id already exists.檢查是否存在記錄並自動填充mysql表中的ID

  2. 如果用戶沒有輸入ContactID,表格不保存數據。 ContactID是MySQL表中的一個自動遞增字段。由於不止一個用戶同時在同一個表單上工作,我希望ContactID由MySQL表中的下一個可用編號自動填充。

這裏是我的HTML表單代碼和下面的PHP代碼。如果您需要其他細節進行調試,請詢問。

<html> 
<body> 
<form method="post" action="demo.php"> 

<link rel="stylesheet" href="contact_css.css"> 
<!--Create a table --> 

<table> 
<tr><td><b>Contact Information</b></td> 
</tr> 
<tr> 
<div class="leftside"> 
    <td>ContactID</td> 
    <td><input type="text" name="ContactID"></td> 
</div> 
<div class="rightside"> 
    <td>ContactOwner</td> 
<!-- <td><input type="text" name="ContactOwner"></td>--> 
    <td><select name="ContactOwner"> 
<option value="None">None</option> 
<option value="Malik">Malik</option> 
<option value="Ankit">Ankit</option> 
<option value="Vikrant">Vikrant</option> 
</select></td> 
</div> 
    </tr> 
    <tr> 
    <div class="rightside"> 
    <td>LeadSource</td> 
    <td><select name="LeadSource"> 
<option value="None">None</option> 
<option value="Advertisement">Advertisement</option> 
<option value="ColdCall">ColdCall</option> 
<option value="LinkedIn">LinkedIn</option> 

<option value="Web">Web</option> 

</select></td> 
    <!--<td><input type="text" name="LeadSource"></td>--> 
</div> 

<div class="leftside"> 
    <td>First_name</td> 
    <td><input type="text" name="First_name"></td> 
</div> 
</tr> 
<tr> 
<div class="rightside"> 
<td>Last_name</td> 
<td><input type="text" name="Last_name"></td> 
<td>AccountName</td> 
    <td><input type="text" name="AccountName"></td> 
    </tr> 
    <tr> 
<td>Title</td> 
    <td><input type="text" name="Title"></td> 
    <td>EmailID</td> 
    <td><input type="text" name="EmailID"></td> 
    </tr> 
    <tr> 
    <td>Industry</td> 
    <td><input type="text" name="Industry"></td> 
    <td>Department</td> 
    <td><input type="text" name="Department"></td> 
    </tr> 
    <tr> 
    <td>Phone</td> 
    <td><input type="text" name="Phone" required></td> 
    <td>Mobile</td> 
    <td><input type="text" name="Mobile"></td> 
    </tr> 
    <tr> 

    <td>Today_date</td> 
    <td><input type="date" name="Today_date"></td> 

    <td>LinkedIn</td> 
    <td><input type="text" name="LinkedIn"></td> 
    </tr> 
    <tr> 
    <td>CallStatus</td> 
    <td><select name="CallStatus"> 
<option value="None">None</option> 
<option value="AnsweringMachine">AnsweringMachine</option> 
<option value="Callback">Callback</option> 
<option value="NotInterested">NotInterested</option> 
<option value="Prospect">Prospect</option> 
<option value="WrongContact">WrongContact</option> 
<option value="PerformedInternally">PerformedInternally</option> 
<option value="LessThan30Employee">LessThan30Employee</option> 
</select></td> 
<td>Website</td> 
<td><input type="text" name="Website"></td> 

</tr> 
    </table> 

<!-- Second table--> 
<table> 
<tr><td><b>Address Information</b></td> 
</tr> 
<tr> 
<div class="leftside"> 
    <td>Street</td> 
    <td><input type="text" name="Street"></td> 
</div> 
<div class="rightside"> 
    <td>OtherStreet</td> 
    <td><input type="text" name="OtherStreet"></td> 
</div> 
</tr> 
<tr> 
<div class="leftside"> 
    <td>City</td> 
    <td><input type="text" name="City"></td> 
</div> 
<div class="rightside"> 
    <td>State</td> 
    <td><input type="text" name="State"></td> 
</div> 
</tr> 
<tr> 
    <td>Zip</td> 
    <td><input type="text" name="Zip"></td> 
    <td>Country</td> 
    <td><input type="text" name="Country"></td> 
</tr> 
</table> 
<!--Third table--> 
<table> 
<tr><td><b>Description Information</b></td> 
</tr> 
<tr> 
<td>Description</td> 
    <td><input type="text" name="Description" class="Description"></td> 

</table> 
<button type="button">Cancel</button> 
<button type="button" class="button2" onclick="window.location.href='fetch_data.php'" />View</button> 
<button type="button" class="button3" onclick="window.location.href='exm_list.php'" />Edit</button> 
<button type="submit">Add</button> 

</form> 
< /body> 
</html> 

PHP代碼:

<?php 

// create a variable 
if (isset($_POST)){ 

$ContactID=$_POST['ContactID']; 
$ContactOwner=$_POST['ContactOwner']; 
$LeadSource=$_POST['LeadSource']; 
$First_name=$_POST['First_name']; 
$Last_name=$_POST['Last_name']; 
$AccountName=$_POST['AccountName']; 
$Title=$_POST['Title']; 
$EmailID=$_POST['EmailID']; 
$Industry=$_POST['Industry']; 
$Department=$_POST['Department']; 
$Phone=$_POST['Phone']; 
$Mobile=$_POST['Mobile']; 

$Today_date=$_POST['Today_date']; 
$LinkedIn=$_POST['LinkedIn']; 
$CallStatus=$_POST['CallStatus']; 
$Website=$_POST['Website']; 
$Street=$_POST['Street']; 
$OtherStreet=$_POST['OtherStreet']; 
$City=$_POST['City']; 
$State=$_POST['State']; 
$Zip=$_POST['Zip']; 
$Country=$_POST['Country']; 
$Description=$_POST['Description']; 
} 
//create connection 
$connect=mysqli_connect('localhost','root','','contacts'); 
$check="SELECT COUNT(*) FROM contact where ContactID='$_POST[ContactID]' "; 
$result=mysqli_query($connect,$check); 
$data=mysqli_fetch_array($result, MYSQLI_NUM); 
if($data[0] > 1){ 
echo "LinkedIn id already exists"; 
} 
else { 
$newUser="INSERT INTO contact(ContactID,ContactOwner,LeadSource,First_name,Last_name,AccountName,Title,EmailID,Industry,Department,Phone,Today_date,LinkedIn,CallStatus,Website,Street,OtherStreet,City,State,Zip,Country,Description) 
      VALUES('$ContactID','$ContactOwner','$LeadSource','$First_name','$Last_name','$AccountName','$Title','$EmailID','$Industry','$Department','$Phone','$Today_date','$LinkedIn','$CallStatus','$Website','$Street','$OtherStreet','$City','$State','$Zip','$Country','$Description')"; 
if (mysqli_query($connect,$newUser)) 
{ 
    echo "Information Added<br/>"; 
} 
else 
{ 
    echo "Error adding user in database, ContactID exists.<br/>"; 
} 
} 
+1

請使用[MySQLi的預處理語句(http://php.net/manual/en/mysqli.quickstart.prepared- statement.php)來防止SQL注入。 – PeterMader

回答

1

嘗試改變:

$check="SELECT COUNT(*) FROM contact where ContactID='$_POST[ContactID]' "; 

$check="SELECT COUNT(*) FROM contact where ContactID='$ContactID' "; 

另外:

如果用戶未輸入聯繫人ID,表單將不保存數據。 ***聯繫人ID 是mysql表中的自動增量字段。

在您的插入不包括

ContactID, 

,因爲這是一個自動增量字段作爲你提到。你應該做的,而不是要做到這一點:

//創建連接

$connect=mysqli_connect('localhost','root','','contacts'); 
$check="SELECT COUNT(*) FROM contact where ContactID='$ContactID' "; 
$result=mysqli_query($connect,$check); 
$data=mysqli_fetch_array($result, MYSQLI_NUM); 

if($data[0] > 1){ 
      echo "LinkedIn id already exists"; 
}else { 

    $newUser="INSERT INTO contact(ContactOwner,LeadSource,First_name,Last_name,AccountName,Title,EmailID,Industry,Department,Phone,Today_date,LinkedIn,CallStatus,Website,Street,OtherStreet,City,State,Zip,Country,Description) 
      VALUES('$ContactOwner','$LeadSource','$First_name','$Last_name','$AccountName','$Title','$EmailID','$Industry','$Department','$Phone','$Today_date','$LinkedIn','$CallStatus','$Website','$Street','$OtherStreet','$City','$State','$Zip','$Country','$Description')"; 
    if (mysqli_query($connect,$newUser)) 
    { 
     echo "Information Added<br/>"; 
    } 
} 
+0

我嘗試了你的建議,但沒有奏效。 –

+0

@JasmineLalani發生了什麼,你期望發生什麼? – hungrykoala

+0

:你編輯和共享的代碼,我試圖運行它,但它不工作,因爲我require.i.e。如果我沒有輸入「ContactID」,表單沒有被提交,它會拋出一個錯誤「在數據庫中添加用戶時出錯,ContactID存在」。我從插入語句中刪除了ContactID –