Zum Inhalt springen

CSS Datei durch Link austauschen?


Gast Quark

Empfohlene Beiträge

Hi, bin hier gerade am rumbasteln, hab auch schon einiges gefunden aber leider nicht wirklich das richtige.

Will eine Website erstellen, die durch den klick auf einen Link die externe Stylesheet datei verändert. die beiden Stylesheets, nennenwir wie style1.css und style2.css sind schon da.

ich will also das wenn man auf den Link geht style1.css durch style2.css ersetzt wird.

"wichtig" ist, das ein weiterer klick auf den selben link (der is ja noch da, nur die farben haben sich verändert in meinem fall) wieder style2.css durch style1.css zurück-ersetzt wird.

das ganze sollte ohne javascript funktionieren, HTML und PHP is aber ok.

hab mich bissl mit dem style-switcher probiert aber kam nich wirklich klar damit.

geht das überhaupt ohne javascript, das der selbe button (link) die css-datei immer hin und hertauscht?

danke schonmal.

Link zu diesem Kommentar
Auf anderen Seiten teilen

klar geht das....

dazu wäre es aber schön wenn du sessions verwendest


<?php
session_start();
if ( empty( $_SESSION['sitestyle'])) {
$_SESSION['sitestyle'] = 'style1.css';
}

if ( !empty( $_GET['sitestyle'])) {
$_SESSION['sitestyle'] = $_GET['sitestyle'];
}

function toggleCss() {
return $_SESSION['sitestyle'] == 'style2.css' ? 'style1.css' : 'style2.css';
}

?>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="<?php echo $_SESSION['sitestyle'] ?>">
</head>
<body>
<a href="?sitestyle=<?php echo toggleCss() ?>">SiteStyle-Wechseln</a>
</body>
</html>
[/PHP]

Link zu diesem Kommentar
Auf anderen Seiten teilen

danke schonmal. mit den sessions gibt es allerdings fehlermeldungen:

Warning: Cannot send session cookie - headers already sent by (output started at /home/httpd/htdocs/***.de/***/index.php:1) in /home/httpd/htdocs/***.de/***/index.php on line 2

Warning: Cannot send session cache limiter - headers already sent (output started at /home/httpd/htdocs/***.de/***/index.php:1) in /home/httpd/htdocs/***.de/***/index.php on line 2

kann damit jemand was anfangen? headers already sent. weiß nicht wieso.

"line2" ist übrigens die, wo die session starten soll.

Link zu diesem Kommentar
Auf anderen Seiten teilen

da ist nichts davor. darum wundere ich mich ja über die Meldung:

<?php

session_start();

if ( empty( $_SESSION['sitestyle'])) {

$_SESSION['sitestyle'] = 'global1.css';

}

if ( !empty( $_GET['sitestyle'])) {

$_SESSION['sitestyle'] = $_GET['sitestyle'];

}

function toggleCss() {

return $_SESSION['sitestyle'] == 'global2.css' ? 'global1.css' : 'global2.css';

}

?>

<html>

<head>

<title>blabla</title>

so gehts in der ersten zeile los.

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...