我有一个问题。
如果我以“或”形式填写我的表单程序错误
我希望用''''或者addlash等代码替换“和”......
请帮帮我
我的代码:
if (isset($_POST['key'])){
mysql_select_db($database_dbprotect, $dbprotect);
$key = mysql_real_escape_string($_POST['key']);
$verif_query = sprintf("SELECT * FROM $bloc_news_entreprise WHERE $bloc_news_entreprise.key='$key'");
$verif = mysql_query($verif_query, $dbprotect) or die(mysql_error());
$row_verif = mysql_fetch_assoc($verif);
$utilisateur = mysql_num_rows($verif);
if ($utilisateur) {
echo '<span>Cette key existe déjà</span>';}
else {
$key = $_POST['key'];
$tpl = $_POST['tpl'];
$urlA = $_POST['urlA'];
$urlB = $_POST['urlB'];
$urlC = $_POST['urlC'];
$urlD = $_POST['urlD'];
$descriptif = $_POST['descriptif'];
$bigTitre = $_POST['bigTitre'];
$titreA = $_POST['titreA'];
$titreB = $_POST['titreB'];
$titreC = $_POST['titreC'];
$titreD = $_POST['titreD'];
$add_bloc = sprintf("INSERT INTO $bloc_news_entreprise ($bloc_news_entreprise.key, tpl, urlA, urlB, urlC, urlD, descriptif, bigTitre, titreA, titreB, titreC, titreD) VALUES ('$key', '$tpl', '$urlA','$urlB','$urlC','$urlD', '$descriptif', '$bigTitre', '$titreA', '$titreB', '$titreC', '$titreD')");
mysql_select_db($database_dbprotect, $dbprotect);
$result = mysql_query($add_bloc, $dbprotect) or die ("Impossible d'ajouter les données utilisateur dans la base de donnée");
header("Location:config-bloc.php?addbloc=ok");
exit;
}
}
答案 0 :(得分:1)
您可以在传递到数据库插入查询之前转换为htmlentities
,如下所示:
htmlentities($_POST['key'], ENT_QUOTES); // ENT_QUOTES will convert single and double inverted commas to ' etc.
当您执行选择查询时,请使用以下内容将提取的数据转换回单/双引号:
html_entity_decode($varReturnedBySelectQuery); // $varReturnedBySelectQuery is for example returned by select query
答案 1 :(得分:0)
首先,不推荐使用mysql函数,你应该使用pdo_mysql。 然后,为了报价,您可以使用htmlspecialchars或htmlentities 或addslashes但在阅读时不要忘记使用反向功能。