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



发布于 2017-06-27 10:25:57
在将值放入表单时,对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) . "' />";https://stackoverflow.com/questions/44777817
复制相似问题