php评论表

时间:2011-11-16 09:54:24

标签: php mysql html forms comments

我有一个我创建的评论表单。它从数据库中获取id并打印出与该id相关的数据,但它也会将信息打印到表单中。我想要一个空白表单,以便用户可以在记录中添加注释。

有什么想法吗?

这是表格的代码:

<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 info@example.com)
    </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>";

有人有什么想法吗?

2 个答案:

答案 0 :(得分:0)

如果您希望表单为空,则只需将value属性设置为空。 E.g value =''。除了id字段。

答案 1 :(得分:0)

我对你的问题感到有些困惑,所以你想要一个允许用户填写空白表格的页面,查看填好的表格并更新表格?

您可以通过检查是否存在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=jbloggs@example.com

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

这样任何用户都可以拥有任意数量的注释,您可以使用foreach语句在页面上呈现此内容,以使用所有现有注释呈现文本框,然后在结尾处为任何新注释添加空白注释,然后他们可以编辑任何评论并添加新评论。