当存在撇号时,我尝试在表单输入中显示的文本会被截断。这是我用来在数据库中插入数据的代码(在数据库中文本已正确插入,请参见下图)。仅当有撇号时我才会出现此行为。还有另一张图片,您可以在浏览器上看到输出,而且输出确实很奇怪..
$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 调试页面,您可以看到代码在某种程度上被误解了..
最佳答案
将值放入表单时对 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/