PHP Problem mit Avataranzeige in Forum
-
Hallo
Ich hab grad von einem Freund den untenstehenden Code bekommen. Der Code soll bewirken, dass beim Threadstarter ein Avatar-Bild angezeigt wird.
Das funktioniert aber leider nicht. Kann bitte mal jemadn den Code kontrollieren.in $post->author is der username von dem der gepostet hat ... theoretisch auch der vom threadstarter
if($allowavatars == "yes") { $usernamee=strtolower($post->author); $array_1 = array("ä","ü","ö","ß"); $array_2 = array("ae","ue","oe","ss"); for($x=0;$x<4;$x++) $usernamee = str_replace($array_1[$x],$array_2[$x],$usernamee); $bild="images/avatar/$usernamee.jpeg"; $bild1="images/avatar/$usernamee.gif"; if (file_exists($bild)) $avatar="<img src=\"$bild\" alt=\"$usernamee\" width=\"100\">"; else { if (file_exists($bild1)) $avatar="<img src=\"$bild1\" alt=\"$usernamee\" width=\"100\">"; } }
Vielen Dank
PS: Falls sich wer den Fehler anschauen will, das Forum ist hier.
-
lass dir bitte an beiden stellen mal durch echo den entsprechenden wert der variablen ausgeben und überprüfe ihn. (wenn nix kommt, ist die variable leer)
for($x=0;$x<4;$x++) $usernamee = str_replace($array_1[$x],$array_2[$x],$usernamee); echo $username; $bild="images/avatar/$usernamee.jpeg"; $bild1="images/avatar/$usernamee.gif"; echo $bild1; echo $bild;
-
images/avatar/martin.gif images/avatar/martin.jpeg
Kenn mich da jetzt nicht soo gut aus aber auf den ersten Blick sieht das doch ok aus.
Frage 1: muss nicht vor dem images im Pfad auch noch ein / sein ?
Frage 2: die / muss man eh nicht escapen mit einem \ davor, oderDanke
-
was mir grad einfällt..
ich dachte, das ist ein ausschnitt...
aber wenn nicht:
es fehlt einecho $avatar;
sonst siehst du nix...
-
Bin leider kein so PHP Profi.
...wenn ich da jetzt schreibe echo $avatar wo ja der IMG-Tag drinnen ist, dann gibt er das Bild aus und nicht den Text, oder wie ?THX
-
php läuft nur auf dem server.
dein browser versteht nur html.
was macht also php? es wirft zu deinem browser pures html zurück.
also ist
avatar="nur eine variable, ein string, der ausgegeben werden muss:
echo $avatar;
alles was du echos, kommt als html zurück
und was macht dein browser, wenn er
<img src="usernamee" width="100">
als html bekommt?
das bild ausgeben.
ohne echo kein htmloutput in deinem skript.
-
Ok, danke.
Werd mal anchfragen ob das Bild auch ausgegeben wird.
-
nachfragen??
ich glaube, du hast nicht verstanden ...
du sollst deinen code verändern:
if($allowavatars == "yes") { $usernamee=strtolower($post->author); $array_1 = array("ä","ü","ö","ß"); $array_2 = array("ae","ue","oe","ss"); for($x=0;$x<4;$x++) $usernamee = str_replace($array_1[$x],$array_2[$x],$usernamee); $bild="images/avatar/$usernamee.jpeg"; $bild1="images/avatar/$usernamee.gif"; if (file_exists($bild)) $avatar="<img src=\"$bild\" alt=\"$usernamee\" width=\"100\">"; else { if (file_exists($bild1)) $avatar="<img src=\"$bild1\" alt=\"$usernamee\" width=\"100\">"; } echo $avatar; }
-
Jaja, klar, ich hab das auch schon so verschickt.
Ist nicht mein Code, und auch nicht mein Forum, hab das nur heute per Mail bekommen, weil der gedacht hatte ich kenn mich mit PHP ganz gut aus. Deswegen das mit dem nachfragen.
Hab ihm dem Link hierher geschickt.Danke