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

非常感谢您的帮助!

谢谢 PleaseStand 提供建议链接: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 查询对放在 / 之前的问号很敏感。

为了解决这个问题,你可以使用这个代码从数据库中读取

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 回答