2 Variabeln wenn 1 = leer soll die 2 geladen werden

Jay Free

Mitglied
Hi zusammen,

ich versuche gerade eine Bildausgabe zu bauen die wenn "$XURL" leer ist soll "$None" geladen werden.
Das Script sieht so aus, funktioniert nur leider nicht -.-

PHP:
  <?php  
  $None = '../1.jpg';
  $XURL = '../2.jpg';   
  ?>
    
   <br>

   <img src="<?php echo $XURL; $XURL ? $None : ''; ?>">

Vielleicht kann mir jemand helfen :)

Lg
 
mach es doch so
PHP:
if($XURL == NULL){
echo "<img src='".$None."'>";
}else{
echo "<img src='".$XURL."'>";
}
 
Zuletzt bearbeitet:
Und was funktioniert nicht? Wird gar kein Bild angezeigt, wird das falsche Bild angezeigt oder erscheint eine Fehlermeldung?

Schau dir vielleicht auch mal den Quellcode deiner Seite an, dann entdeckst du vielleicht was.

NACHTRAG: Habe es eben mal mit meinen IF-Kurzblock getestet und es klappt. Wenn beide Variablen wie bei dir einen Wert haben, wird Bild "2.jpg" angezeigt. Wenn man $XURL = "" schreibt, wird Bild "1.jpg" angezeigt.

Der einzige Schwachpunkt bei dieser Prüfung ist wenn die Variable $XURL überhaupt nicht existiert.

Ändere es nochmal so ab, dann muss es auch dann klappen:

PHP:
<img src="<?php echo isset($XURL) && $XURL!='' ? $XURL : $None; ?>">
 
Zuletzt bearbeitet:
Hey!
Danke für eure Beiträge, ich glaube ich hatte mich nur bisschen doof angestellt beim erklären :P
hab jetzt den Code genommen
PHP:
    if($XURL == NULL){
echo '<img src='.$None.' height="200" >';
}else{
echo '<img src="$end";
}

Danke für eure Mühe :)
 
Hi,

also der Code
PHP:
    if($XURL == NULL){
echo '<img src='.$None.' height="200" >';
}else{
echo '<img src="$end";
}
ist gefährlich, da PHP versucht $XURL nach NULL zu casten. Um auf "null" zu prüfen sollte immer der typensichere Vergleichsoperator "===" verwendet werden.

Hier ein weiterer Vorschläge:
PHP:
<?php
// Grunsätzlich die URL für "NONE" zuweisen.
$imgUrl = '../1.jpg';
if (!empty($XURL)) {
    $imgUrl = $XURL;
}
?>
<img src="<?php echo $imgUrl; ?>" ...>

Gruß Kyoya Stefan
 
Zurück