Zufälliges Bild für alle Seiten beibehalten
Stefan
- php
Hallo Self-Leute!
ich habe vor ein Bild aus einer Auswahl von mehreren zufällig auswählen zu lassen, welches nicht nur auf der Hauptseite sondern auch auf den darauffolgenden genutzt wird. Für das zufällige Laden eines Bildes hab ich mir selbst auch schon ein Javascript geschrieben:
var banner_quantity = 6;
var banner = new Array();
for (i=0; i<banner_quantity; i++){
banner[i] = new Image();
}
banner[0].src = "images/global/borrev1.gif";
banner[1].src = "images/global/borrev2.gif";
banner[2].src = "images/global/borrev3.jpg";
banner[3].src = "images/global/borrev4.gif";
banner[4].src = "images/global/borrev5.gif";
banner[5].src = "images/global/borrev6.gif";
function loadBanner(){
var banner_nr = Math.floor(Math.random()*(banner_quantity-1));
document.bannerpic.src = banner[banner_nr].src;
}
Banner ist hierbei wohl eher irreführend, da es wirklich nur ein Bild im Kopf der Html ist. Da Javascript bei so einer Sache aber eher die falsche Wahl ist und da ich die Kommunikation zwischen der Hauptseite und den nächsten Seiten nicht aufbauen kann, würde ich mir gern ein PHP-Script basteln. Habe mich da erstmal ein bisschen kund getan wie so ein Script in PHP-Form aussehen könnte:
<?php
$banner = array(images/banner1.gif,images/banner2.gif,images/banner3.gif);
$zufall = array_rand($arr);
<img src="<?php $zufall; ?>" alt="banner">
?>
Keine Ahnung, ob das jetzt wirklich so funktioniert, da ich mir das aus php.net zusammengeschnipselt habe. Ich hab auch keine Ahnung, wie ich das ins Html einbette. Interessant wäre es aber nun dieses zufällige Bild auch auf den nächsten Seiten erscheinen zu lassen und erst bei einem Neubesuch dieser Webseite ein anderes Bild laden zu lassen. Was ist da zutun? Geht das über Cookies?
Gruß
Stefan
Hey,
bei der ausgabe im IMG-Tag musst du schreiben:
<img src="<?php echo($zufall); ?>" alt="banner">
Du kannst dass dann mit Sessions verbinden.
Also erst checken ob ne Session besteht, wenn nicht ein Zufallsbild wählen, wenn schon das bestimmte Bild anzeigen.
Also du brauchst:
Sessions
If-Abfragen
Danke für die schnelle Antwort Alex!
Hab im php.net auch eine Menge Erklärung zu Sessions erhalten aber vieles war halt Techno-Gebabbel, was mich als Anfänger eher irritiert hat. Ich hab mal das kleine Script mit der Session-Anweisung erweitert:
<?php
$banner = array(images/banner1.gif,images/banner2.gif,images/banner3.gif);
$_SESSION['zaehler'] = 0
session_start();
if ($_SESSION['zaehler'] = 0) {
$zufall = array_rand($arr);
$_SESSION['zaehler'] = 1;
}
<img src="<?php echo($zufall); ?>" alt="banner">
?>
Stimmt das so? PHP erscheint mir kryptischer als jede andere Sprache, die ich bisher gelernt habe :-D
<?
session_start();
if(isset($_SESSION['zaehler']))
{
$bild = $_SESSION['zaehler'];
}
else
{
$banner = array(images/banner1.gif,images/banner2.gif,images/banner3.gif);
$zufall = array_rand($arr);
$_SESSION['zaehler'] = $zufall;
$bild = $zufall;
}
So das müsste passen. Danach musst du halt wieder das <img>-Tag irgendwo setzen.
gruß
aLex
Ja das macht Sinn irgendwie. Danke nochmal! Werde das morgen dann mal testen.
Gruß
Stefan
Hi,
Hab im php.net auch eine Menge Erklärung zu Sessions erhalten
Da Du ohnehin Javascript verwendest, brauchst Du keine serverseitigen Session dazu. Ich würde die Bildangabe einfach in einem Cookie speichern - wer keine Cookies zuläßt, bekommt halt andere Zufallsbilder...
freundliche Grüße
Ingo
Und die Armen Leute die kein JS zulassen bekommen dann nur ein Bild oder villeicht sogar garkeins...
Lass ihn doch PHP nutzen, wenn er eh schon fast fertig ist mit dem PHP skript
Hallo Alex.
Und die Armen Leute die kein JS zulassen bekommen dann nur ein Bild oder villeicht sogar garkeins...
Um Himmels Willen! Wirklich menschenverachtend, fürwahr.
Lass ihn doch PHP nutzen, wenn er eh schon fast fertig ist mit dem PHP skript
Kanonenschießen auf Spatzen war schon immer eine populäre Disziplin.
Einen schönen Sonntag noch.
Gruß, Ash*scnr*ura
Hallo Ashura,
Kanonenschießen auf Spatzen war schon immer eine populäre Disziplin.
So trifft man wenigstens alle spatzen und muss nciht so genau zielen ;)
gruß
aLex
Hallo,
$banner = array(images/banner1.gif,images/banner2.gif,images/banner3.gif);
müßte das nicht so lauten?
$banner = array('images/banner1.gif', 'images/banner2.gif,images/banner3.gif');
mfg
Twilo
Hallo
$banner = array(images/banner1.gif,images/banner2.gif,images/banner3.gif);
müßte das nicht so lauten?
$banner = array('images/banner1.gif', 'images/banner2.gif,images/banner3.gif');
Nur, wenn images/banner2.gif,images/banner3.gif _ein_ Element des Arrays sein soll. Ansonsten sollte es so gehen: $banner = array('images/banner1.gif', 'images/banner2.gif', 'images/banner3.gif');
. :-)
Tschö, Auge