florian: Alt-Tag zu Zufallsbild

hallo,

leider habe ich keine ahnung von php, aber ich habe ein funktionierendes php-script gefunden, welches mir per zufall bei jedem neu-laden meiner seite ein zufallsbild darstellt.
ich möchte gerne diesem freien php-script nun ein "alt"-tag hinzufügen, um html-konform zu sein. ein zu jedem bild spezifisches wäre natürlich am optimalsten aber nicht wirklich zwingend wichtig.

<?php
srand();
/* Erzeugt eine Zufallszahl von 1 - n */
$zufall = rand(1, 16);
/* Zusammensetzen des Bildpfades */
$bild = "images/bild" . $zufall . ".jpg";
echo "<img src="" . $bild . "">";
?>

mfg
florian

  1. Hallo,

    du hast prinzipiell 2 Möglichkeiten.
    Wenn das alt-Attribut nicht unbedingt bildspezifisch sein muss, könntest du z.B. jedesmal alt="Zufallsbild" reinschrieben.
    Ansonsten wäre wohl die einfachste Lösung dir ein Array mit alt-Texten zu definieren, welches pro Bild ein Alt-Text enthält.
    Auf diesen könntest ja mit deinem Index $zufall zugreifen und den jeweiligen Alt-Text hinzufügen.

    MfG,
      Juan

  2. » <?php

    srand();
    /* Erzeugt eine Zufallszahl von 1 - n */
    $zufall = rand(1, 16);
    /* Zusammensetzen des Bildpfades */
    $bild = "images/bild" . $zufall . ".jpg";
    echo "<img src="" . $bild . "">";
    ?>

      
    <?  
    //hier deine namen angeben  
    $altNames=array("altName1","altName2","altName3","altName4","altName5","altName6","altName7","altName8","altName9","altName10","altName11","altName12","altName13","altName14","altName15","altName16");  
      
    //die letzte zeile ersetzten  
    echo "<img src=\"" . $bild . "\" alt=\"$altNames[$zufall ]\">";  
      
      
    //lern PHP :-) es lohnt sich  
    ?>  
      
    
    
    1. » <?php

      srand();
      /* Erzeugt eine Zufallszahl von 1 - n */
      $zufall = rand(1, 16);
      /* Zusammensetzen des Bildpfades */
      $bild = "images/bild" . $zufall . ".jpg";
      echo "<img src="" . $bild . "">";
      ?>

      <?
      //hier deine namen angeben
      $altNames=array("altName1","altName2","altName3","altName4","altName5","altName6","altName7","altName8","altName9","altName10","altName11","altName12","altName13","altName14","altName15","altName16");

      //die letzte zeile ersetzten
      echo "<img src="" . $bild . "" alt="$altNames[$zufall ]">";

      //lern PHP :-) es lohnt sich
      ?>

        
      erstmal danke für die fixe antwort.  
      ok, dann müsste es doch wie folgt aussehen und eigentlich auch funktionieren:  
        
      ~~~php
        
      <?php  
      srand();  
      /* Erzeugt eine Zufallszahl von 1 - n */  
      $zufall = rand(1, 16);  
      /* Zusammensetzen des Bildpfades */  
      $bild = "images/bild" . $zufall . ".jpg";  
      //hier deine namen angeben  
      $altNames=array("Norwegen1","Norwegen2","Norwegen3","Norwegen4","Norwegen5","Norwegen6","Norwegen7","Norwegen8","Norwegen9","Norwegen10","Norwegen11","Norwegen12","Norwegen13","Norwegen14","Norwegen15","Norwegen16");  
      echo "<img src=\"" . $bild . "\" alt=\"$altNames[$zufall ]\">";  
      ?>  
      
      

      Leider kommt dann ein Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting ']' in /usr/export/www/vhosts/funnetwork/hosting/motoko17/start.php on line 147

      line 147 ist die letzte des php codes also echo..., schade.

      php würde ich gerne können, nur die zeit zum lernen habe ich derzeit nicht.

      1. Zu dumm: whitespace ist ja ein leerzeichen! also war das leerzeichen nach "zufall ] zuviel, stattdessen muss es heißen:

          
        echo "<img src=\"" . $bild . "\" alt=\"$altNames[$zufall]\">";  
        
        

        Klasse, jetzt funktioniert es! Echt stark.

      2. Da war noch ein leerzeichen nach Zufall zuviel.
        Ersetzt einfach deine letzte Zeile

          
          
        echo "<img src=\"$bild\" alt=\"$altNames[$zufall]\">";  
          
        
        
      3. Moin,

        <?php
        srand();
        /* Erzeugt eine Zufallszahl von 1 - n /
        $zufall = rand(1, 16);
        /
        Zusammensetzen des Bildpfades */
        $bild = "images/bild" . $zufall . ".jpg";
        //hier deine namen angeben
        $altNames=array("Norwegen1","Norwegen2","Norwegen3","Norwegen4","Norwegen5","Norwegen6","Norwegen7","Norwegen8","Norwegen9","Norwegen10","Norwegen11","Norwegen12","Norwegen13","Norwegen14","Norwegen15","Norwegen16");
        echo "<img src="" . $bild . "" alt="$altNames[$zufall ]">";
        ?>

          
        du musst hierbei noch beachten, dass das Array mit dem Index 0 beginnt, dein $zufall aber von 1 bis 16 geht. Also entweder ganz vorne ein leeres Element in das Array packen oder dir so den richtigen Alt-Text rausholen: alt=\"$altNames[$zufall-1]  
          
        MfG,  
          Juan