|
 |
|
| Autor |
Nachricht |
Malli User [User]


Anmeldung: 03.02.08 Beiträge: 19 Wohnort: Berlin
|
Verfasst am: 13.07.2008, 05:28 Titel: Wenn etwas nicht zutrifft... |
|
|
Hallo!
Als erstes möchte ich sagen, dass ich doch noch ein winziger Anfänger bin, was php anfängt. Deswegen hoffe ich hier die benötigte Hilfe zu bekommen.
Erstmal mein Vorhaben:
Unzwar bin ich gerade am rumwerkeln an meiner Musik-Community. Die User haben die Möglichkeit zu Ihren selbsterstellten Musik ein Songbild hinzuzufügen. Auf meiner Seite gibt es auch eine Charts-Übersicht auf der die eingetragen und hochgeladene Songbilder angezeigt werden sollen.
Ich bin jetzt soweit, dass die hochgeladenen Bilder bereits angezeigt werden (*stolz auf mich sein*) . Die Songbilder sind aber keine Pflicht und somit möchte ich, wenn eine User kein Songbild angegeben/hochgeladen hat eine alternatives (festes) Bild vom Server angezeigt wird. Und da liegt mein Problem.
Wie bekomme ich das hin dass anstatt des Songbildes ein anderers Bild angezeigt wird? Kann mir da jemand eine Hilfestellung geben?
|
|
| Nach oben |
|
 |
JFM Beliebter [User]


Anmeldung: 25.09.05 Beiträge: 418 Wohnort: Gütersloh
|
Verfasst am: 13.07.2008, 08:59 Titel: |
|
|
Du kannst einem Img-Tag:
| Code: | | <img src="userbild.png" height="100px" width="100px" /> |
Denn Befehl "onError" mitgeben:
| Code: | | <img src="userbild.png" height="100px" width="100px" onError="this.src='standardbild.png'" /> |
So wird immer das Standardbild geladen, wenn das andere Bild, nicht aufgerufen werden kann.
Geht nartürlich nur wenn der User JavaScript nicht deaktiviert hat, sollte aber selten vorkommen.
Mit php geht das ganze natürlich auch:
Ich weiß nicht wie du die Daten speicherst, ob du die Url des Bildes speicherst oder ob du das Bild einfach an hand einer UserID abrufst, aber du kannst jedenfalls mit einer if-schleife arbeiten.
| Code: |
if($userbild=="")
{
echo"<img src=standardbild.png />";
}
else
{
echo"<img src=$userbild />";
}
|
Hier gehe ich davon aus, das du den Namen des Bildes in einer DB speicherst, denn du in die Variable "$userbild" ablegst. Wenn diese Variable leer ist, also kein Bild hinterlegt wurde, dann wird das Standardbild angezeigt. Andernfalls das Bild welches in der DB hinterlegt ist. _________________
http://www.onestripe.de
|
|
| Nach oben |
|
 |
Malli User [User]


Anmeldung: 03.02.08 Beiträge: 19 Wohnort: Berlin
|
Verfasst am: 13.07.2008, 11:10 Titel: |
|
|
Ahhh, das ist ja super! Vielen Dank hat geholfen, musste zwar noch ein wenig anpassen klar, aber sonst funktioniert es ohne Fehler und Probleme...Vielen lieben Dank! 
|
|
| Nach oben |
|
 |
800XE Bekannter [Mod]


Anmeldung: 24.10.04 Beiträge: 1379 Wohnort: Speyer
|
Verfasst am: 13.07.2008, 11:10 Titel: |
|
|
| JFM hat folgendes geschrieben: | Denn Befehl "onError" mitgeben:
| Code: | | <img src="userbild.png" height="100px" width="100px" onError="this.src='standardbild.png'" /> |
|
Sachen gibts (wuste ich jetzt nicht das HTML+JavaScript ne FehlerAbfrage hat) .....
Aber, wie in deinem 2ten, dem PHPcode
Der Name das Bildes kommt sicher aus einer $Var ...
= kein Userbild = kein Inhalt in $Var
domain.tld/member/Andy.html
| Code: | | <img src="'.$userpic.'" |
ergibt dann .... domain.tld/member/Andy.html
| Code: | | <img src="/'.$userpic.'" |
ergibt dann .... domain.tld/
und von dort gibtes einen 200OK keinen Error404 ....
... dann ist doch nix mit "onError"?
Wie schon gesagt ...
vielleicht etwas Einfacher, einfach dafor, so das alter Code unverändert stehen bleibt
in der $Var wo das Bild(der dateiname) drinsteht .....
| Code: |
if ( $userpic )
{
// alles ok, der(die) hat ein Bild
}
else
{
$userpic = 'defaultbild.jpg';
// kein Bild war, jetzt Bild ist
}
|
oder, weil kürzer ist
| Code: |
if ( !strlen($userpic) ) $userpic = 'defaultbild.jpg';
|
und danach dein bisheriges PHP .... das die Ausgabe macht _________________
Seien wir realistisch, versuchen wir das Unmögliche!
CMS800 :::::::::: Andy 800XE Zmuda :::::::::
ich bin nicht unhöflich, ich bin binär
|
|
| Nach oben |
|
 |
benjam4 Bekannter [Mod]


Anmeldung: 17.05.06 Beiträge: 1311 Wohnort: Ostfildern ...
|
Verfasst am: 13.07.2008, 14:29 Titel: |
|
|
Und allgemein, zu deiner Überschrift:
Wenn etwas nicht zutreffen soll dann macht man statt:
| Code: | | if($beispiel == "irgendeinwert") {} |
einfach ein ! dazu:
| Code: | | if ($beispiel != "irgendeinwert") {} |
geht auch in anderen Formen zB so:
| Code: | | if(!empty($var)) {} |
Dabei wird nur etwas passieren, wenn $var einen inhalt hat. wenn du das ! weglässt, dann natürlich andersherum. _________________ Rechtschreibfehler sind beabsichtigt, sie dienen der Verschleiherung meiner tatsächlichen Genialität
____________________________________
Eine Signatur sie alle zu knechten
|
|
| Nach oben |
|
 |
JFM Beliebter [User]


Anmeldung: 25.09.05 Beiträge: 418 Wohnort: Gütersloh
|
Verfasst am: 13.07.2008, 19:09 Titel: |
|
|
@800xe
Der onError wird ja dann ausgeführt wenn die Bilddatei, also der img-Tag an sich, nicht ausgeführt werden kann.
Setzt man als src zB. webmasterwelt.net ein, existiert zwar der Pfad, es ist aber keine Bilddatei, also kann der Tag so nicht ausgeführt werden und der onError wird aufgerufen.
Es funktioniert zumindest. Setzte ich so schon länger auf der Seite eines Fußballclubs ein, wenn kein Bild zu einem Spieler hinterlegt ist, wird das Vereinswappen angezeigt. Und es läuft.  _________________
http://www.onestripe.de
|
|
| Nach oben |
|
 |
|
|
 |
|
Alle Zeiten sind GMT + 1 Stunde
|
| Seite 1 von 1 |
|  |