AJAX Request gibt keine Bilder aus der PHP aus
Kurosan
- php
0 Kurosan
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)
Kann mir wirklich keiner sagen wo mein Denkfehler ist oder wie man das Problem löst ?