Rückgabewerte von Funktionen nicht mit IE6 und IE7

Hallo erst mal! Ich bin neu hier im Forum und bin jetzt auch nicht so der überfachman was PHP angeht, aber wahrscheinlich habe ich auch wegen Letzteres folgendes Problem.

Ich habe eine Tabelle in die Werte eingetragen werden die durch eine bzw. mehrere Funktionen aus der Datenbank ausgelesen werden. Es wird auch alles korrekt mit Mozilla (2.0.0.7) und Opera (9.21) angezeigt. Wenn ich die Seite aber in IE6 und IE7 lade werden die ausgelesenen Werte nicht angezeigt.

Hier mal ein Beispiel einer der Funktionen (und ja ich weis, dass ich die DB-Abfragen etwas seltsam strukturiert schreibe ;)):

[php]function name($id) {

    $sql = "SELECT
                id_name
            FROM
                tabelle_infos
            WHERE
                id_game = '".$id."';";
                
    $get_nameid=mysql_query($sql) OR die(mysql_error());    
    $aus_nameid=mysql_fetch_array($get_nameid);

    $sql = "SELECT
                name
            FROM
                tabelle_name
            WHERE
                id_name = '".$aus_nameid['id_name']."';";
                
    $get_name=mysql_query($sql) OR die(mysql_error());    
    $aus_name=mysql_fetch_array($get_name);
    
    return stripslashes(htmlentities($aus_name['name']));

}
[/php]Das Ganze wird da so in der entsprechenden Seite (in einer Tabelle) angewandt:

[php] <? echo name($_GET['id']); ?>[/php]Wie schon geschrieben klappt das Ganze mit Mozilla/Opera ohne Probleme, aber mit IE6 und IE7 wird anscheinend schlicht und einfach überhaupt nichts ausgeben. Was für mich aber etwas unverständlich ist, weil PHP wird doch Serverseitig ausgeführt. Aber wie schon gesagt, bin kein Profi, evtl. weis ja jemand von Euch woran es liegen könnte. Eine Fehlermeldung wird übrigens nicht ausgegeben.

  1. Bei einer Funktion sollte die { eine eigene Zeile bekomme.
  2. Leite PHP bitte so ein: <?php…
  3. Du weißt, dass Mozilla nicht gleich Firefox ist, oder?
  4. Ich würde bei MySQL-Ausgaben immer ein   dazuschreiben

Salut (;
Ich vermute, dass das Problem bei der Tabelle und nicht beim PHP-Code liegt. Klingt nämlich eher nach Darstellungsproblem.
Sollte man aber auch daran erkennen können, ob nach Aufruf der Seite im InternetExplorer der auszugebende Wert nicht wenigstens im Quelltext auftaucht.

Habe ich jetzt mal überall gemacht, hat leider keine Besserung des Problems gebracht. :frowning:

Habe ich jetzt ebenfalls überall geändert. Aber hat IE zeigt immer noch nichts an. Gibt es eigentlich irgendeinen Grund wieso <? normalerweise genauso funktioniert wie <?php, oder gibt es doch einen Unterschied? Bis jetzt habe ich das immer so gemacht, wenn ich PHP-Code über mehr als eine Zeile verwendet habe, habe ich <?php benutzt und wenn es nur so kurze Sachen, die nicht länger als eine Zeile sind, waren, dann <?.

Sorry, hatte mich verschrieben, da ich früher oft Mozilla verwendet hatte, meinte natürlich Firefox.

Wo genau sollte ich das z.B. an meinem Beispiel verwenden?

Danke für die Tipps! Leider funktioniert das Ganze immer noch nicht mit IE. :frowning:

Im Quelltext hatte ich auch gleich nachgeschaut, aber da waren wirklich keine Werte. Bei einer Funktion werden übrigens zwei Variablen zusammen ausgegeben. Das Ganze sieht dann in etwa so aus

[php] return $aus_name[‚text1‘]." („.$aus_name[‚text2‘].“)";[/php]Mit Firefox und Opera wird dann etwas ausgegeben z.B. „Text1 (Text2)“ während mit dem IE6 und IE7 nur „()“ dasteht. Von daher denke ich, dass es kein Darstellungsfehler sein dürfte.

Stimmt nicht, ist anders sogar uebersichtlicher.

  1. Leite PHP bitte so ein: <?php…
    Wenn es im FF und Opera dargestellt wird, dann wird er den PHP-Teil wohl richtig eingeleitet haben.

@topic: wie ein PHP-Code ausgefuehrt wird, ist browserunabhaengig. Es wird wohl so sein, dass du entweder eine falsche id uebergibst, oder der Text lediglich nicht dargestellt wird, jedoch im QT steht.

btw: Bevor du Daten in eine DB schreibst, solltest du mysql_real_escape_string benutzen.

Ab und zu muss ich halt auch mal klugsch***en (was ich sonst natürlich niiiiiie mach) :mrgreen:

php entscheidet nicht zwischen IE und Mozilla’s engine, demnach gehört das ganze ins html forum, da es ein darstellungsproblem ist.

php ist SERVERSEITIG !

Mir ist schon klar, dass php serverseitig abläuft, aber wie ich schon geschrieben habe kann es imo auch kein Darstellungsproblem sein, da im Quellcode des IE die entsprechenden Werte auch nicht drinnen stehen, bei Firefox/Opera allerdings schon, deswegen wird das Ganze bei denen auch überhaupt erst angezeigt. Aber ich habe keine Ahnung an was es genau liegen könnte.

@Commodore
Kann es sein, dass Werte bei IE nicht richtig übergeben werden, bei FF und Opera schon? Alle Variablen auf der entsprechenden Seite werden auch mit GET übergeben.

Also wenn ich Fehler im PHP- und HTML-Code ausschließe, dann kann’s ja eigentlich nur noch an meinen IEs liegen.

wie währe es mit nem link?