str_replace / addslashes()/ htmlspecialchars()....报价和双引号

时间:2018-03-26 05:32:20

标签: php

我有一个问题。

如果我以“或”形式填写我的表单程序错误

我希望用''''或者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&eacute;e");
                header("Location:config-bloc.php?addbloc=ok"); 
                exit;
                }
        }

2 个答案:

答案 0 :(得分:1)

您可以在传递到数据库插入查询之前转换为htmlentities,如下所示:

htmlentities($_POST['key'], ENT_QUOTES);         // ENT_QUOTES will convert single and double inverted commas to &#039 etc.

当您执行选择查询时,请使用以下内容将提取的数据转换回单/双引号:

html_entity_decode($varReturnedBySelectQuery);  // $varReturnedBySelectQuery is for example returned by select query

答案 1 :(得分:0)

首先,不推荐使用mysql函数,你应该使用pdo_mysql。 然后,为了报价,您可以使用htmlspecialchars或htmlentities 或addslashes但在阅读时不要忘记使用反向功能。