Zur Navigation

Zufälliger Banner [2]

11 Don

Jetzt funktioniert es. Hab noch mal alles gründlich geprüft und festgestellt, dass ich die Pfade zu den Bildern ändern müsste. Der Pfad
../img/banner.jpg war es in der css datei, weil diese in einem extra verzeichnis abgelegt ist. musste nur "../" entfernen und jetzt funktioniert alles, wie ich es mir vorgestellt habe

Vielen lieben Dank und ein großes Lob für dieses tolle Forum

mfg Don

27.03.2006 16:53

12 Jörg

@Don Danke für das Lob :)

@Marcel Dein Tipp war schon angebracht, da er ja auch die Fehleranfälligkeit des Scriptes verringert :)

27.03.2006 18:34

13 Tilman

Hallo!

Kann man da auch (ohne PHP) jedem Banner einen eigenen Link hinzufügen?

09.12.2007 11:43

14 Rudy

Ohne PHP? Du kannst das ganze auch per Javascript haben, wenn Du möchtest. Das lässt sich dann aber abschalten. Meintest Du das?

Wenn der Banner mit Link eingefügt werden soll, wäre es ME angebracht, ein Konstrukt wie
<div id="banner"><a href="http://bannerlink.com"><img src="bannerbild.jpg" alt="bannertitel"></a></div>
zu verwenden. Natürlich kann auch ein leerer Link verwendet werden, display:block etc. - textlose Links finde ich aber irgendwie gruselig, mit nem img gibts wenigstens noch den Alt-Text.


Das PHP würde ich so aufziehen:
<?php
  $banners = array(
    0 => array('img'=>'banner0.jpg', 'href'=>'http://banner0.com', 'alt'=>'banner0-alt'),
    1 => array('img'=>'banner1.jpg', 'href'=>'http://banner1.com', 'alt'=>'banner1-alt'),
    2 => array('img'=>'banner2.jpg', 'href'=>'http://banner2.com', 'alt'=>'banner2-alt'),
    3 => array('img'=>'banner3.jpg', 'href'=>'http://banner3.com', 'alt'=>'banner3-alt'),
    4 => array('img'=>'banner4.jpg', 'href'=>'http://banner4.com', 'alt'=>'banner4-alt'),
    5 => array('img'=>'banner5.jpg', 'href'=>'http://banner5.com', 'alt'=>'banner5-alt')
  );

  srand(time());
  $banner = $banners[rand(0, count($banners) - 1)];

  $bannercode = '<div id="banner"><a href="'.$banner['href'].'"><img src="'.$banner['img'].'" alt="'.$banner['alt'].'"></a></div>';
?>
.....

<?=$bannercode?>

(ungetestet, Fehler vorbehalten)

09.12.2007 12:50 | geändert: 09.12.2007 12:53

15 Tilman

Und wie funktioniert das genau mit dem PHP-Code?
Muss ich eine PHP-Datei erstellen, und den Code
<?php
 $banners = array(
   0 => array('img'=>'banner0.jpg', 'href'=>'http://banner0.com', 'alt'=>'banner0-alt'),
   1 => array('img'=>'banner1.jpg', 'href'=>'http://banner1.com', 'alt'=>'banner1-alt'),
   2 => array('img'=>'banner2.jpg', 'href'=>'http://banner2.com', 'alt'=>'banner2-alt'),
   3 => array('img'=>'banner3.jpg', 'href'=>'http://banner3.com', 'alt'=>'banner3-alt'),
   4 => array('img'=>'banner4.jpg', 'href'=>'http://banner4.com', 'alt'=>'banner4-alt'),
   5 => array('img'=>'banner5.jpg', 'href'=>'http://banner5.com', 'alt'=>'banner5-alt')
 );

 srand(time());
 $banner = $banners[rand(0, count($banners) - 1)];

 $bannercode = '<div id="banner"><a href="'.$banner['href'].'"><img src="'.$banner['img'].'" alt="'.$banner['alt'].'"></a></div>';
?>
.....

<?=$bannercode?>

(ungetestet, Fehler vorbehalten)

dort einfügen? (Ich kenn mich nicht so aus mit PHP.)

10.12.2007 12:45

16 Jörg

Hallo Tilmann,

den oberen Abschnitt bis zum ersten "?>" fügst du an den Anfang der Seite ein, die den Banner anzeigen soll. Den zweiten Abschnitt "<?=$bannercode?>" fügst du an der Stelle im HTML-Code ein, wo der Banner angezeigt werden soll. Damit das PHP ausgeführt wird, sollte die Datei mit der Endung .php abgespeichert werden

10.12.2007 13:04 | geändert: 10.12.2007 13:05

17 Tilman

Wo genau soll ich den Code einfügen.
Bei mir kommt immer nur der Code selbst im Browser.

15.12.2007 17:42

18 Jörg

Die Dateiendung ist .php? Und PHP läuft auch auf dem Testrechner?

15.12.2007 18:34

19 Forum

Da die folgenden Beiträge schon ein eigenständiges Thema behandeln, habe ich sie mal in einen neuen Thread verschoben :):

Läuft PHP / XAMPP?

27.12.2007 21:05 | geändert von Jörg: 27.12.2007 21:07

20 Tilman

Kann man den Code auch so verändern, dass man
- das target-Attribut
- den Rahmen der Grafik

ändern kann?

02.01.2008 19:04