2011-11-16 222 views
0

我有我創建的評論表單。它從數據庫中獲取id並打印出與該id一起使用的數據,但它所做的是將這些信息打印到表單中。我想要一個空白表單,以便用戶可以向記錄添加評論。php評論表

任何想法?

窗體的代碼:

<form method="post" action="pv.php?id=<?php echo $row['ID']?>&action=<?php echo $form_action ?>"> 
<fieldset> 
    <legend></legend> 
    <p> 
     <label for="cname">Date Of Birth</label> * 
     <input id="cname" name="dateofbirth" class="required date" value="<?php echo $row['Date_Of_Birth']?>" /> (eg 1978.11.11) 
    </p> 
    <p> 
     <label for="cgender">Gender</label> * 
     <input type="radio" name="gender" value="Male" <?php if($row['Gender']=='male'){echo 'checked';}?>/> Male <input type="radio" name="gender" value="Female" <?php if($row['Gender']=='female'){echo 'checked';}?>/> Female </td> 
    </p> 
    <p> 
     <label for="curl">Title</label> * 
     <select name="title" id="title" class="required"> 
      <option value="">Please Select</option> 
      <option value="Mr" <?php if($row['Title']=='Mr'){echo 'selected';}?>>Mr</option> 
      <option value="Ms" <?php if($row['Title']=='Ms'){echo 'selected';}?>>Ms</option> 
      <option value="Mrs" <?php if($row['Title']=='Mrs'){echo 'selected';}?>>Mrs</option> 
      <option value="Miss" <?php if($row['Title']=='Miss'){echo 'selected';}?>>Miss</option> 
      <option value="Other" <?php if($row['Title']=='Other'){echo 'selected';}?>>Other</option> 
      </select> 
    </p> 
    <p> 
     <label for="ccomment">First Name</label>  * 
     <input type="text" name="firstname" value="<?php echo $row['First_Name']?>" maxlength="50" /> 
    </p> 


    <p> 
    <label for="cemail">Last Name</label> * 
     <input id="cemail" type="text" name="lastname" value="<?php echo $row['Last_Name']?>" maxlength="75" /> 
    </p> 
    <p> 
     <label for="ccomment">Address 1</label>* 
     <input type="text" name="address1" value="<?php echo $row['Address_Line_1']?>" maxlength="50" /> 
    </p> 
    <p> 
     <label for="ccomment">Address 2</label> 
     <input type="text" name="address2" value="<?php echo $row['Address_Line_2']?>" maxlength="50" /> 
    </p> 
    <p> 
     <label for="ccomment">City</label>* 
     <input type="text" name="city" value="<?php echo $row['City']?>" maxlength="50" /> 
    </p> 
    <p> 
     <label for="ccomment">Postcode</label>* 
     <input type="text" name="postcode" value="<?php echo $row['Postcode']?>" maxlength= "10" /> (eg LE5 5QE) 
    </p> 
    <p> 
     <label for="ccomment">Contact No</label>* 
     <input type="text" name="contactno" value="<?php echo $row['Contact_No']?>" maxlength= "12" /> (eg 077448825723) 
    </p> 
    <p> 
     <label for="ccomment">Email</label>* 
     <input type="text" name="email" value="<?php echo $row['Email']?>" maxlength= "40"/> (eg [email protected]) 
    </p> 
    <p> 
     <label for="ccomment">Comment</label> 
     <textarea rows="10" cols="30" name="note" maxlength= "500"><?php echo $row['Additional_Comment']?></textarea> 
    </p> 
    <p> 
     <input class="submit" type="submit" value="Submit"/> 
    </p> 
    <p> 
    <a href='pv.php'>Main Page</a> 
    </p> 

</fieldset> 

這是一頁上打印出來的數據代碼:

if($_GET['action']=='comment'){ 
    $form_action = 'comment_ok'; 
    $id=$_GET['id']; 
    $result = mysql_query("SELECT * FROM project_data WHERE id='$id'"); 
    $row = mysql_fetch_array($result); 

    echo'<b>'; 
     echo $row['Date_Of_Birth']; 
     echo '&nbsp&nbsp'; 
     echo $row['Gender']; 
     echo '&nbsp&nbsp'; 
     echo $row['Title']; 
     echo '&nbsp&nbsp'; 
     echo $row['First_Name']; 
     echo '&nbsp&nbsp'; 
     echo $row['Last_Name']; 
     echo '&nbsp&nbsp'; 
     echo $row['Address_Line_1']; 
     echo '&nbsp&nbsp'; 
     echo $row['Address_Line_2']; 
     echo '&nbsp&nbsp'; 
     echo $row['City']; 
     echo '&nbsp&nbsp'; 
     echo $row['Postcode']; 
     echo '&nbsp&nbsp'; 
     echo $row['Contact_No']; 
     echo '&nbsp&nbsp'; 
     echo $row['Email']; 
     echo '&nbsp&nbsp'; 
     echo $row['Additional_Comment']; 
     echo '</b>'; 



} 

,我的代碼片段用於將ID發送到表格:

echo "<td><a href='pv.php?action=edit&id=" . $row['ID']."'>Edit</a>&nbsp&nbsp<a href='pv.php?action=delete_ok&id=" . $row['ID']."'>Delete</a>&nbsp&nbsp**<a href='pv.php?action=comment&id=" . $row['ID']."'>Comment</a></td>"**; 
     echo "</tr>"; 

任何人有任何想法?

+1

請給您的問題添加一些代碼,否則很難給您提供建議 –

+0

我認爲您需要更具體些,例如通過提供代碼示例。 – Yuri

+0

如果這沒有幫助,我會把整個項目的代碼:D – mayman212

回答

0

我對你的問題有點困惑,所以你想要1頁允許用戶填寫一個空白表格,看到一個填寫表格和更新表格?

您可以通過檢查如果一個ID存在,這樣做的空白表格或填寫的表格:

<? 
if (isset(id)) // Here you can check if the id exists, which means you will be doing an update to the sql 
echo' 
<form method="post" action="pv.php?id=' . $row['ID'] . '&action=' . $form_action . '"> 
    <!-- Your form here with values --> 
e.g. <label for="cemail">Last Name</label> * 
    <input id="cemail" type="text" name="lastname" value="' . $row['Last_Name'] . '" maxlength="75" /> 
</form>'; 

// Put your sql update here to take the values from the above form 

} 
elseif (!isset(id)) // Here there is no id so you will want to insert 
{ 

echo' 
<form method="post" action="pv.php?id=' . $row['ID'] . '&action=' . $form_action . '"> 
    <!-- Your form here with values --> 
e.g. <label for="cemail">Last Name</label> * 
    <input id="cemail" type="text" name="lastname" maxlength="75" /> // No value here because will insert new record 
</form>'; 

// Put your sql insert here to create a new record 
} 
?> 

您是否也希望用戶能夠添加一個新評論完全而不是編輯的一個已經與他們的ID相關聯?我想你必須通過給他們添加另一個評論的選項來做到這一點,爲此我會創建一個新表,然後將註釋插入到該表中,以便您有一個包含用戶信息的表,然後使用另一個表用戶的意見,例如:

example_users: 
id = 1 
fname=Joe 
lname=Bloggs 
[email protected] 

user_comments 
id=1 
user_id=1 
comment = Comment will be saved here 

這樣,任何用戶都可以有任意數量的評論,你可以通過使用foreach語句來渲染他們的所有現有註釋的文本框的頁面上渲染這個,然後有一個對於任何新的,最後都會留下空白,然後他們可以編輯任何評論並添加新的評論。

0

如果您希望表單爲空,那麼只需將value屬性設置爲空。例如,值=''。除了id字段。

+0

我有一個表單控件三個鏈接,一個用於編輯,一個插入一個新條目,另一個用於評論。插入一個是空白的,因爲我沒有發送id,編輯一個被填充,因爲我發送了id,並且註釋是相同的,但它不應該被填充。 – mayman212

+0

據我所知,當一個ID已被髮送時,你會回顯內容。所以有兩種選擇:不要發送該ID,或忽略它。順便說一句,你有一個相當脆弱的地方在這裏:'$ id = $ _ GET ['id']; $ result = mysql_query(「SELECT * FROM project_data WHERE id ='$ id'」);'您應該考慮[SQL注入](http://en.wikipedia.org/wiki/SQL_injection)的風險。 – kasimir

+0

您的表單字段沒有填寫,因爲您發送了ID,因爲您設置了value屬性 - value = <?php echo $ row [...]; ?>。如果你以這種方式離開它的值=「」,那麼它將是空的。 – Chibuzo