2013-10-13 56 views
0

我使用下面的代碼,以提示用戶輸入他的名字,中間名和姓。插入多個字段從形式到單場數據庫

<label> 
    <span>First name</span> 
    <input type="text" size ="25" placeholder="Your Name" class="input_text"onfocus="if(this.value==this.defaultValue)this.value=''"  
    onblur="if(this.value=='')this.value=this.defaultValue" 
    value="" name="name" id="name"/> 
</label> 

<label> 
    <span> Middle Name</span> 
    <input type="text" size ="25 class="input_text" placeholder="Father's name" name="middle name" onfocus="if(this.value==this.defaultValue)this.value=''"  
    onblur="if(this.value=='')this.value=this.defaultValue" 
    value="" id="middle name"/> 
</label> 

<label> 
    <span>Last Name</span> 
    <input type="text" size ="25" class="input_text" placeholder="Surname" name="last name" onfocus="if(this.value==this.defaultValue)this.value=''"  
    onblur="if(this.value=='')this.value=this.defaultValue" 
    value="" id="last name"/> 
</label> 

我希望所有的3名,中間名和姓進入一個所謂的名在數據庫中單列。

僅供參考我使用WAMP,並創造了我在phpMyAdmin的數據庫。我想使用php腳本將所有3個字段插入到名稱中。我怎麼去?

回答

1

您可以連接將它們插入到數據庫之前的領域;

$name = ''; 
if(isset($_POST['first_name'])){ 
    $name .= $_POST['first_name']; 
} 
if(if(isset($_POST['middle_name'])){ 
    //add a space before 
    $name .= ' ' .$_POST['middle_name']; 
} 
if(isset($_POST['last_name'])){ 
    //add a space before 
    $name .= ' ' . $_POST['last_name']; 
} 

//現在你在$ name變量有自己的全名,你可以將其插入到數據庫

注: 你不能在你的表單輸入使用空間names.You應該使用一個下劃線,如果你想要兩個單詞。

錯誤:

<input type="text" name="middle name"> 

正確:

<input type="text" name="middle_name"> 
+0

DONE指正!數據庫中始終插入一個空白。但是,如果我註釋掉$ name ='';然後執行mysqli_query($ con,「insert into table_name set name ='$ name'」);它給未定義的符號錯誤 – Mithilesh

+0

未定義指數m_name,l_name等;我已將名稱屬性設爲m_name,l_name等\ – Mithilesh

1

先改變你的中間名和姓attribue,不要讓納米格之間的空間。 ID和名稱標記必須以字母([A-Za-z])開頭,後面可以跟隨任意數量的字母,數字([0-9]),連字符(「 - 」),下劃線(「_」 ),冒號(「:」)和句點(「。」)。

<input type="text" size ="25" class="input_text" placeholder="Father's name" name="middle name" onfocus="if(this.value==this.defaultValue)this.value=''"  
    onblur="if(this.value=='')this.value=this.defaultValue" 
    value="" id="m_name"/> 

<input type="text" size ="25" class="input_text" placeholder="Surname" name="last name" onfocus="if(this.value==this.defaultValue)this.value=''"  
    onblur="if(this.value=='')this.value=this.defaultValue" 
    value="" id="l_name"/> 

你可以把它一個字符串在前端側顯示全名,並將其插入名稱字段:

<?php 
//your connection 
$f_name=$_POST['name']; 
$m_name=$_POST['m_name']; 
$l_name=$_POST['l_name']; 
$full_name=$f_name." ".$m_name." ".$l_name; 
mysqli_query($con,"insert into table_name set name='$full_name'"); 
?> 
0

改名字屬性下面提到的$ _ POST []變量名稱。

<?php 

//your connection 

$f_name = mysqli_real_escape_string($con, $_POST['name']); 
$m_name = mysqli_real_escape_string($con, $_POST['m_name']); 
$l_name = mysqli_real_escape_string($con, $_POST['l_name']); 

$full_name = $f_name . " " . $m_name . " " . $l_name; 

$sql = "INSERT INTO yourTableName (tableColumnName) VALUES ('".$fullname."')"; 
$res = mysqli_query($con, $sql); 

?> 

希望這可以幫助你。

0

您可以使用json_encode爲$ _ POST變量獲得JSON字符串,並將其存儲在數據庫中。

爲了充分利用存儲JSON字符串原始數組,你可以使用json decode,所以沒有信息丟失。

下面是一個例子:根據您的建議

$form_data_json = json_encode($_POST); 
// store $form_data_json in database. 
// .. 
// .. 
// When you want to get stored data, just fetch it from db. let it be stored in $fetch 
$original_post_array = json_decode($fetch, true); 
相關問題