如何允许用户插入如下所示的分层编号。至于现在,我正在使用文本框,用户将输入1, 1.1, 2, 2.1, 2.1.1
等数字。我只能简单地显示数据,没有缩进。我使用PHP和MySql作为数据库。
1 List item 1.1 List item 1.1.1 List item 2 List item 2.1 List item 2.1.1 List item
我的表格。
<form action="basicview.php?id=<?php echo $p_aid; ?>&&do=insert" method="post">
<div style="padding-bottom:5px">
<div style="float:left;width:5%;padding-top:7px"><label style="color:blue">No</label></div>
<div style="float:left;"><input class="text-input" type="text" name="t_no" size="10" value="" /></div>
<div class="clear"></div>
</div>
<div style="padding-bottom:5px">
<div style="float:left;width:15%;padding-top:7px"><label style="color:blue">Deliverables</label></div>
<div style="float:left;"><textarea class="text-input textarea" name="t_deliverables" cols="70" rows="2"></textarea></div>
<div class="clear"></div>
</div>
PHP。
if ($_GET['do'] == 'insert')
{
$t_no = $_POST['t_no'];
$t_deliverables = $_POST['t_deliverables'];
$sql = "INSERT INTO tbl_detail (p_aid,t_no,t_deliverables) ";
$sql .= "VALUES ($p_aid,'$t_no','$t_deliverables')";
mysql_query($sql);
redirect("basicview.php?id=$p_aid&type=success&msg=new+row+added");
}
答案 0 :(得分:0)
如果您希望用户能够发布html数据而不是纯文本,则可以使用ckeditor
或其他类似工具。这些工具将textarea转换为stackoverflow中的此类框。
但请记住,为了防止XSS攻击,您必须验证服务器端的发布数据。
更重要的是,您编写sql查询的方式非常容易受到sql injection
的攻击。请改用prepared statements
。例如,如果恶意用户发布这些数据,则会丢失tbl_detail表中的所有数据:
$ _ POST [ 'T_NR中'] = “1”
$ _ POST ['t_deliverables'] =“1'); drop table tbl_detail; - ”