Zum Inhalt springen

Wechselnde Headergrafik - HELP PLS!


vastolorde

Empfohlene Beiträge

Hi erstmal,

ich habe mich die letzten zwei Tage durch das Internet gesucht um mein Vorhaben (siehe Themenüberschrift) zu realisieren - leider erfolglos. Ich habe z.b. verschiedene "Random Image Scripts" ausprobiert, diese versucht meinen Bedürfnissen anzupassen, aber aus irgendwelchen Gründen will das nicht klappen. Deswegen bin ich nun hier, in der Hoffnung ich habe doch dank meiner nicht wirklich vorhandenen Kenntnisse in CSS und PHP irgendwo einen Fehler beim implementieren des Scripts gemacht, beim "anpassen", etc. usw.

Der Teil meiner "index.php" wo ich laut sämtlichen Tutorials zu wechselnden Headergrafiken das Image aufrufen muss sieht folgendermaßen aus:


</style>


<body>

<div id="page">



<div id="header">

	<div id="headerimg">

		<h1></h1>


		<div class="description"></div>

	</div>

</div>

<hr />

Der CSS-Code zum Header ist folgender (dieser ist in einer separaten "style.css" in meinem "css"-Ordner - inkl. aller Grafiken):

#header {

	background: #81bd01 url('header02.jpg') no-repeat bottom center;

	}


#headerimg 	{

	margin: 7px 9px 0;

	height: 314px;

	width: 994px;

	}

Mein Vorhaben im Detail:

Ich möchte einfach nur das mit jedem neuladen der Startseite eine andere Headergrafik angezeigt wird. Wie ich das realisiert bekomme (PHP+CSS, Javascript, HTML) ist mir mittlerweile egal.. da ich mich nicht so auskenne vertraue ich auf die Professionelle Meinung der hier ansäßigen Foren-Mitglieder.

Ich hoffe mir kann geholfen werden.

Vielen vielen Dank schon einmal im voraus.

PS: Die fragliche Website wo ich das einbauen möchte > Vasto Lorde

Link zu diesem Kommentar
Auf anderen Seiten teilen

Vielleicht hilft dir das irgendwie weiter.

Könnte mir vorstellen das du alle Pfade deiner Header in der Datenbank Speicherst und dann bei jedem Neuladen eins weiter gehst und dann mit Dynamischem CSS lädst.

Bzw. du benutzt das Beispiel mit den Zufalls Headren wie im Beispiel.

Der Link dazu:

http://einmal-am-tag.de/2009-06/dynamisches-stylesheet/

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke, ich werd das gleich mal ausprobieren. So ähnlich hatte ich es schon einmal woanders gelesen, allerdings bei weitem nicht so ausführlich beschrieben und im Endeffekt wußte ich dann nicht mehr wirklich welche Code-Schnippsel genau wo eingefügt werden sollen - hatte ein bissl herumprobiert, aber gebracht hatte es nichts. :(

Der gepostete Link allerdings sieht vielversprechend aus, vielen Dank also. Ich werd mich melden, egal wie es ausgeht. :D

Link zu diesem Kommentar
Auf anderen Seiten teilen

@Herzbert

Ich habe es ausprobiert, der ganze CSS-Kram wird auch weiterhin angewandt, aber, die Headergrafik wird nun generell nicht mehr angezeigt. Im richtigen Ordner müsste eigentlich auch alles sein.. nur zur Kontrolle poste ich mal die änderen die ich vorgenommen habe:

css/style.css > css/style.css.php


<?php

   session_start(); /* ... muss am Anfang eingefügt werden */

   /* error_reporting(E_ALL)  und ini_set('display_errors', 'On') zur Fehlersuche */

   error_reporting(E_ALL);

   ini_set('display_errors', 'On');


   header('Content-type: text/css');

   /*

    An dieser Stelle wird der Quellcode eingefügt.

    Mehr dazu später …

   */


?>

und ein Stück weiter unten in der style.css.php

$headers = 3;

#header {

    background-image: url(../images/header<?=rand(1,$headers)?>.jpg);

	}

Die 3 Headergrafiken heißen "header1.jpg", "header2.jpg" und "header3.jpg" und liegen im "images"-Ordner (wie im Code oben bei URL) Die Struktur auf dem Webserver sieht folgendermaßen aus: +css +galerie +guild +images +js +src guild.php history.php index.php member.php Bei den 4 hier oben genannten php-Dateien habe ich noch wie von dem Tutorial erklärt folgende Zeile ergänzt bzw. ausgetauscht:

<link rel="stylesheet" type="text/css" href="css/style.css.php" />

Für mich als Laien sieht alles stimmig aus. Auch vom Code her (ich kenne mich nur mit C/C++ und ein wenig Win32-ASM aus) würde ich sagen passt alles - warum also geht es dennoch nicht? Semikolon irgendwo vergessen? :D

Link zu diesem Kommentar
Auf anderen Seiten teilen

Okay, ich habe es hinbekommen mit dem wechselnden Header. Aber, die Headergrafik wird auch dann gewechselt wenn ich eine der anderen Seiten aufrufe.

Wie kann ich es erreichen das der Header NUR beim aufrufen bzw. neuladen der "index.php" (Startseite) gewechselt wird, und nicht auch bei allen anderen Seiten? :-(

Link zu diesem Kommentar
Auf anderen Seiten teilen

Du benutzt doch ohnehin Sessions. Bei Aufruf der index.php wählst Du die zufällige Grafik aus und speicherst den Namen in der Session. Bei allen anderen Seiten kannst Du den Namen dann einfach wieder aus der Session beziehen. Aber nicht vergessen zu prüfen, ob der Wert in der Session auch wirklich existiert (für den Fall eines direkten Seitenaufrufs).

Link zu diesem Kommentar
Auf anderen Seiten teilen

Du benutzt doch ohnehin Sessions. Bei Aufruf der index.php wählst Du die zufällige Grafik aus und speicherst den Namen in der Session. Bei allen anderen Seiten kannst Du den Namen dann einfach wieder aus der Session beziehen.

hm... klingt gut! Aber, ich hab leider absolut keine Ahnung wovon du redest und wie ich das bewerkstellige. Wie funzt das mit den Sessions? :hells:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich hab mich gestern Abend noch eine ganze Weile mit den verschiedenen Befehlen (Session_ID, $_SESSION, session_start() usw.) herumgeschlagen und mich dazu auf php.net belesen, doch irgendwie verstehe ich nicht wie ich das in Verbindung mit meinem Header bringe. :-(

Also, ich weiß mittlerweile was die Befehle bewirken, aber, was ich noch nicht verstanden habe ist wie ich meine Headergrafik in einer Session abzuspeichern habe und wie ich sie dann wieder auslese.

Kann mich da jemand bitte mal erleuchten und in die richtige Richtung stupsen? :)

edit:

@unbenannt

Jetzt verstehe ich wieso du geschrieben hast ich würde ja ohnehin schon Sessions verwenden. Sorry, aber der Quellcode weiter oben mit "session_start()" hat bei mir irgendwie nicht hingehauen, ich habe den Wechsel nun doch über ein Javascript gelöst. :)

Bearbeitet von vastolorde
Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 3 Wochen später...

Für alle die evtl. durch Google hierher finden will ich mal noch die Lösung des Problems posten (habe es mittlerweile hinbekommen).

Folgendes muß am ganz oben in Zeile 1 in eure Startseite (z.b. index.php):


<?php

session_start();

// wie viel Bilder (durchgängig von 1 - X) sind im Ordner ?

$max = 5;

$zahl = rand(1, $max);

if ( $zahl == $_SESSION['bild'] ) {

 $zahl++;

}

$_SESSION['bild'] = $zahl;

?>

folgenden img-tag fügt ihr dann an die Stelle ein wo das Bild erscheinen soll. Bei mir sieht das z.b. so aus:

<body>


<div id="page">

	<div id="header"> 

			<img src="http://forum.fachinformatiker.de/images/header/<?php echo $zahl; ?>.jpg"> 

	</div>  

Auf allen anderen Seiten dann folgenden Code einfügen... Wieder ganz oben hin muss:

<?php

session_start();

?>

und das img-tag im body sieht nun folgendermaßen aus:

<body>


<div id="page">

	<div id="header">

			<img src="http://forum.fachinformatiker.de/images/header/<?php echo $_SESSION['bild']; ?>.jpg">

	</div>

Hoffe es hilft jemandem.

Gruß.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...