php - 表单输入值文本被截断

标签 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

最佳答案

将值放入表单时对 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) . "' />";

关于php - 表单输入值文本被截断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44777817/

相关文章:

php - 这个php代码可以sql注入(inject)吗?

MySQL 多个数据库和用户

PHP 在不将文件加载到内存的情况下添加到文件中?

php - 如何在 PHP 的 GD 库中为文本添加光晕或阴影?

php - PHP Web页面无法使用Wamp Server执行mysqli_num

PHP & MySQL : While Loop

javascript - 为什么我的选择表单没有下拉?

mysql - 迭代 JOIN

mysql - 联合分页和两个子查询

php - DDD - 如何处理应用层中的获取或创建逻辑?