1

「編集」ボタンを押すと、ウェブページでこの問題が発生します。すべてのhrefがリンクに「\」を追加します。

ボタンを押すと追加され続けます。

xampp-localhostでテストしましたが、すべて正常です。ホストされている場合にのみ発生します。

私はphpを初めて使用します。グーグルしようとしましたが、どこを見ればいいのかわかりません。以下のコードは私の編集ボタンのアクションです。

if ($img_path!=NULL){
        //delete old image  
        $sql="SELECT image FROM entry WHERE url =?";
        $stm = $db->prepare($sql);
        $stm->execute(array($_POST['url']));
        $e = $stm->fetch();
        if($e['image']!="/simple_blog/img/no_img.jpg"){
            unlink($_SERVER['DOCUMENT_ROOT'].$e['image']);
        }

        //update new contain
        $sql = "UPDATE entry SET entry=?, title=?, image=?, url=? WHERE url = ?";
        $stmt = $db->prepare($sql);
        $stmt->execute(array($_POST['wall'],$_POST['title'],$img_path,$url,$_POST['url']));
    } elseif ($img_path==NULL){
        $sql = "UPDATE entry SET entry=?, title=?,url=? WHERE url = ?";
        $stmt = $db->prepare($sql);
        $stmt->execute(array($_POST['wall'],$_POST['title'],$url,$_POST['url']));
    }
    $stmt->closeCursor();
    header('Location: /simple_blog/blog/'.$_POST['url']);

問題についてよく説明していない場合は申し訳ありませんが、こちらのページをご覧ください。最初のエントリに問題を入れました。

ブログへのリンク

ユーザー:testUser

パス:12345

助けてくれてありがとう!

提案リンクをお願いしますスタンドしてください:Dそれは魔法の引用です

次のコードを追加するだけで、すべてが正常に機能します。

<?php
if (get_magic_quotes_gpc()) {
$process = array(&$_GET, &$_POST, &$_COOKIE, &$_REQUEST);
while (list($key, $val) = each($process)) {
foreach ($val as $k => $v) {
    unset($process[$key][$k]);
    if (is_array($v)) {
        $process[$key][stripslashes($k)] = $v;
        $process[] = &$process[$key][stripslashes($k)];
    } else {
        $process[$key][stripslashes($k)] = stripslashes($v);
    }
}
}
unset($process);
}?>
4

1 に答える 1

-1

SQLクエリは、その前に/を置くための疑問符に敏感です。

この問題を解決するには、このコードを使用して DB から読み取ることができます

function dbdecode($string){
    $string=str_replace('\\',"\\",$string);
    $string=str_replace("\'","'",$string);
    $string=str_replace("\`","`",$string);
    $string=str_replace('\"','"',$string);
    $string=str_replace('\*','*',$string);
    return $string;
}
于 2013-01-19T08:16:06.993 に答える