1

ここでは、AJAX と PHP を使用してデータベースの値を取得しています。photos/image1.jpg のような画像のパスをデータベースに保存しました。データベースからそのデータを取得して送り返す間、バックスラッシュまたはフロントスラッシュが含まれているため、そのデータは印刷されません。では、AJAX を使用しているときに、そのデータを特殊文字を含むメイン ページに送り返すプロセスは何ですか?

私の JavaScript コード:

 function getdata(eve)
    {
    var xmlhttp;    
    if (window.XMLHttpRequest)
      {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
      }
    else
      {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    xmlhttp.onreadystatechange=function()
      {
      if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {


        document.getElementById("grayscreen").innerHTML=xmlhttp.responseText;
    } }
    xmlhttp.open("GET","picdetails.php?q="+eve,true);
    xmlhttp.send();

私のPHPコード

    <?php
    include 'config.php';
        $query2="select * from Sampletable where sublabel= '".$_GET['q']."'";
        $query=mysql_query($query2);

                        if(mysql_num_rows($query)>0)
                        {
                            $count=0;
                            while($res=  mysql_fetch_array($query))
                            {
                                if($count==0)
                                {
                                    $ans= "<img src=". $res['image']."\>";
                                    echo $ans;
                                }
                        else {
                                    echo "<img src=".$res['image']." style='display:none'/>";
                        }
                        $count=$count+1;
                            }    
    }
    ?>

ここで $res['image'] は、データベースから取得される images/image1.jpg のような画像のパスです。

画面の出力は

    "<img src="\\">"<img src="style='display:none'/">

しかし、出力は

    <img src="images/images1.jpg"/> <img src="images/images2.jpg" style='display:none'/>

問題は、取得されるデータが images/images1.jpg および images/images2.jpg であり、フロント スラッシュが含まれているためエコー バックされないことです。

そのデータを印刷するには?

4

1 に答える 1