表单输入值文本被截断

时间:2017-06-27 10:20:38

标签: php mysql

当有撇号时,我尝试在表单输入中显示的文本被截断。这是我用来在数据库中插入数据的代码(在数据库内正确插入文本,见下图)。只有当有撇号时我才有这种行为。还有另一个图像,你可以在浏览器上看到输出,实际上输出很奇怪..

$text = $_POST['text'];             // MEMORIZZO LA VARIABILE
$data = date("Y-m-d");              // PREPARO LA DATA
$id = '';                           // VARIABILE ID
$rows = array();                    // PREPARO ARRAY
$stmt = mysqli_stmt_init($con);     // INIZIALIZZO LA CONNESSIONE
mysqli_stmt_prepare($stmt, 'INSERT INTO autovetture(name,data)
                        VALUES(?,?)') or die(mysqli_error($con));   // QUERY INSERIMENTO DATI
mysqli_stmt_bind_param($stmt,'ss',$text,$data); // PREPARO I PARAMETRI
mysqli_stmt_execute($stmt);                         // ESEGUO LA QUERY

这是我用来打印页面的代码:

$html .= "<form  method='post'>";
$html .= "<div class='form-group'>";
$html .= "<label>Nome autovettura</label>";
$html .= "<input type='text' class='form-control' placeholder='Inserisci il nome della Casa automobilistica' id='txt_auto_mod' value='{$rows1[name]}' />";
$html .= "</div>";

在这里你可以看到3抓: 一个数据插入到数据库中没有错误,一个在没有撇号的情况下在浏览器中有更正的输出,在有撇号时在浏览器上有问题。在这里使用firebug调试页面,你可以看到代码在某种程度上被误解了..

grab 1

grab 2

grab 3

1 个答案:

答案 0 :(得分:1)

在将值放入表单时对HTML实体进行编码:

$html .= "<input type='text' class='form-control' placeholder='Inserisci il nome della Casa automobilistica' id='txt_auto_mod' value='" . htmlentities($rows1[name], ENT_QUOTES) . "' />";