Kurosan: AJAX Request gibt keine Bilder aus der PHP aus

Beitrag lesen

Hallo

Ich versuche mich das erstemal mit AJAX, da ein require_once oder ähnliches nicht funktioniert(führt zu einem extremen reload der Seite, liegt daran das keiner genau weiß wie das ganze Programm richtig aufgebaut ist(PCPIN)).

Mein Problem ist das die Namen(php/msql = login) angezeigt werden durch das AJAX request, aber nicht die Bilder(php/msql = bin.php?id).

Das PHP-Script:
...........................................................................

<link href="../../main.css" rel="stylesheet" type="text/css" />  
<?php  
  /** include database access **/  
  include '../config/dbconnect.php';  
  
  /** get 1st **/  
  $JP_TFC0 = mysql_query("SELECT * FROM ".$dbPrix."user WHERE ".$dbPrix."user.activated = 'y' ORDER BY ".$dbPrix."user.time_online DESC LIMIT 0, 1; ");  
  $result0 = @mysql_fetch_array($JP_TFC0);  
  $JP_TFC0A = mysql_query("SELECT * FROM ".$dbPrix."avatar WHERE ".$dbPrix."avatar.user_id = $result0[id] AND ".$dbPrix."avatar.primary = 'y'; ");  
  $result0a = @mysql_fetch_array($JP_TFC0A);  
  
  /** get 2nd **/  
  $JP_TFC1 = mysql_query("SELECT * FROM ".$dbPrix."user WHERE ".$dbPrix."user.activated = 'y' ORDER BY ".$dbPrix."user.time_online DESC LIMIT 1, 2; ");  
  $result1 = @mysql_fetch_array($JP_TFC1);  
  $JP_TFC1A = mysql_query("SELECT * FROM ".$dbPrix."avatar WHERE ".$dbPrix."avatar.user_id = $result1[id] AND ".$dbPrix."avatar.primary = 'y'; ");  
  $result1a = @mysql_fetch_array($JP_TFC1A);  
  
  /** get 3rd **/  
  $JP_TFC2 = mysql_query("SELECT * FROM ".$dbPrix."user WHERE ".$dbPrix."user.activated = 'y' ORDER BY ".$dbPrix."user.time_online DESC LIMIT 2, 3; ");  
  $result2 = @mysql_fetch_array($JP_TFC2);  
  $JP_TFC2A = mysql_query("SELECT * FROM ".$dbPrix."avatar WHERE ".$dbPrix."avatar.user_id = $result2[id] AND ".$dbPrix."avatar.primary = 'y'; ");  
  $result2a = @mysql_fetch_array($JP_TFC2A);  
  
  /** get 4th **/  
  $JP_TFC3 = mysql_query("SELECT * FROM ".$dbPrix."user WHERE ".$dbPrix."user.activated = 'y' ORDER BY ".$dbPrix."user.time_online DESC LIMIT 3, 4; ");  
  $result3 = @mysql_fetch_array($JP_TFC3);  
  $JP_TFC3A = mysql_query("SELECT * FROM ".$dbPrix."avatar WHERE ".$dbPrix."avatar.user_id = $result3[id] AND ".$dbPrix."avatar.primary = 'y'; ");  
  $result3a = @mysql_fetch_array($JP_TFC3A);  
  
  /** get 5th **/  
  $JP_TFC4 = mysql_query("SELECT * FROM ".$dbPrix."user WHERE ".$dbPrix."user.activated = 'y' ORDER BY ".$dbPrix."user.time_online DESC LIMIT 4, 5; ");  
  $result4 = @mysql_fetch_array($JP_TFC4);  
  $JP_TFC4A = mysql_query("SELECT * FROM ".$dbPrix."avatar WHERE ".$dbPrix."avatar.user_id = $result4[id] AND ".$dbPrix."avatar.primary = 'y'; ");  
  $result4a = @mysql_fetch_array($JP_TFC4A);  
  
  
echo "<table id='nutshell border='0' cellpadding='3' style='width:100%;height:100%;background-color:#D1D9E4;align:center' cellspacing='0'>  
    <tr style='text-align:center;'>  
      <td><img src='bin.php?id=".$result0a['binaryfile_id']."' width='110px' height='120px' alt='This User has no Picture'/></td>  
      <td><img src='bin.php?id=".$result1a['binaryfile_id']."' width='110px' height='120px' alt='This User has no Picture'/></td>  
      <td><img src='bin.php?id=".$result2a['binaryfile_id']."' width='110px' height='120px' alt='This User has no Picture'/></td>  
      <td><img src='bin.php?id=".$result3a['binaryfile_id']."' width='110px' height='120px' alt='This User has no Picture'/></td>  
      <td><img src='bin.php?id=".$result4a['binaryfile_id']."' width='110px' height='120px' alt='This User has no Picture'/></td>  
    </tr>  
    <tr style='text-align:center;'>  
      <td>".$result0['login']."</td>  
      <td>".$result1['login']."</td>  
      <td>".$result2['login']."</td>  
      <td>".$result3['login']."</td>  
      <td>".$result4['login']."</td>  
    </tr>  
  </table>";  
?>

...........................................................................

Das PHP-Script bezieht eine weiteres PHP-Script ein, dieses hier:

<?php  
include '../config/dbconnect.php';  
  $query = "SELECT body,mime_type FROM ".$dbPrix."binaryfile WHERE id=".$_GET['id'];  
  $result = @MYSQL_QUERY($query);  
  $data = @MYSQL_RESULT($result,0,"body");  
  $type = @MYSQL_RESULT($result,0,"mime_type");  
  Header( "Content-type: $type");  
  echo $data;  
  
?>

...........................................................................

Der AJAX Request sieht so aus:

// Request senden  
function setRequest() {  
        // Request erzeugen  
        if (window.XMLHttpRequest) {  
                request = new XMLHttpRequest(); // Mozilla, Safari, Opera  
        } else if (window.ActiveXObject) {  
                try {  
                        request = new ActiveXObject('Msxml2.XMLHTTP'); // IE 5  
                } catch (e) {  
                        try {  
                                request = new ActiveXObject('Microsoft.XMLHTTP'); // IE 6  
                        } catch (e) {}  
                }  
        }  
  
        // überprüfen, ob Request erzeugt wurde  
        if (!request) {  
                alert("Kann keine XMLHTTP-Instanz erzeugen");  
                return false;  
        } else {  
                var url = "./mods/function/imager.php";  
                // Request öffnen  
                request.open('post', url, true);  
                // Request senden  
                request.send(null);  
                // Request auswerten  
                request.onreadystatechange = interpretRequest;  
        }  
}  
// Request auswerten  
function interpretRequest() {  
        switch (request.readyState) {  
                // wenn der readyState 4 und der request.status 200 ist, dann ist alles korrekt gelaufen  
                case 4:  
                        if (request.status != 200) {  
                                alert("Der Request wurde abgeschlossen, ist aber nicht OK\nFehler:"+request.status);  
                        } else {  
                                var nutshell = request.responseText;  
                                // den Inhalt des Requests in das <div> schreiben  
                                document.getElementById('nutshell').innerHTML = nutshell;  
                        }  
                        break;  
                default:  
                        break;  
        }  
}  
function refresh () {  
  setRequest();  
  if (nutshell == "4") {  
  alert(nutshell);  
  }  
}  
refresh();

..........................................................................

Der untere Teil des AJAX Request führt zumindestens dazu das überhaupt was geladen wird, aber ich glaube das ich da was falschmache(ist halt mein erster gehversuch mit AJAX Request)