Seite 1 von 1

<fieldset> mit Zufallfarbe --- BBCode mit php inhalt.

Verfasst: 29.10.2008 20:59
von Locou
Hallo, ich habe ein benutzerdefinierten BBCode erstellt.
<fieldset> nämlich.
Das ist der html code:

Code: Alles auswählen

<fieldset style="border: 2px solid #161414; background-color: #eaeac1; padding: 3px;">
<legend>
<div style="border: 2px solid #161414; background-color: #eaeac1; padding: 1px;">
<strong><font size="+1">
{TEXT1}
</font></strong></div></legend>
{TEXT2}
</fieldset>
Diesen bbcode wollte ich mit einer Zufall-Hintergrundfarbe etwas aufpeppen.
Nur klappt das irgentwie nicht :-?

Code: Alles auswählen

<?php 
//#eaeac1
srand(microtime()*1000000);
$zufall = rand(1,10);
switch ($zufall) {
	case 1: $far="eaeac1"; break;
	case 2: $far="eac1c1"; break;
	case 3: $far="eac1e3"; break;
	case 4: $far="ddc1ea"; break;
	case 5: $far="c8c1ea"; break;
	case 6: $far="c1d5ea"; break;
	case 7: $far="c1eae5"; break;
	case 8: $far="c2eac1"; break;
	case 9: $far="eae9c1"; break;
	case 10: $far="ead6c1"; break;
	default: $far="eaeac1"; break;
}
?>
<fieldset style="border: 2px solid #161414; background-color: <?php echo ($far); ?>; padding: 3px;">
<legend>
<div style="border: 2px solid #161414; background-color: <?php echo ($far); ?>; padding: 1px;">
<strong><font size="+1">
{TEXT1}
</font></strong></div></legend>
{TEXT2}
</fieldset>

Verfasst: 30.10.2008 08:17
von Miriam
Auf den ersten Blick meine ich:

Code: Alles auswählen

background-color: #<?php echo ($far); ?>; 
Beachte die Raute vor dem FarbHexCode.

Verfasst: 30.10.2008 13:41
von Locou
Ich seh grad das die variablen grarnicht übereinstimmten. :grin:

naja ich habs jetzt etwas geändert, aber es klapt imemr noch nicht. :x

hab den code jetzt etwas geändert:

Code: Alles auswählen

<?php
srand(microtime()*1000000);
$colour = rand(0,16777215);
?>
<fieldset style="border: 2px solid #161414; background-color: #<?php echo dechex($colour); ?>; padding: 3px;">
<legend>
<div style="border: 2px solid #161414; background-color: #<?php echo dechex($colour); ?>; padding: 1px;">
<strong><font size="+1">
{TEXT1}
</font></strong></div></legend>
{TEXT2}
</fieldset>
Wäre es aus möglich den css-code auch in die stylesheet.css zu schreiben und da die zufallsfarbe einzufügen?

Verfasst: 30.10.2008 18:57
von Miriam
Klappt doch gut und vllt noch besser, wenn Du mt_rand() und mt_srand() benutzen würdest.

Verfasst: 30.10.2008 19:20
von Locou
Miriam hat geschrieben:Klappt doch gut und vllt noch besser, wenn Du mt_rand() und mt_srand() benutzen würdest.
Eh nein, es klappt nicht :-?

Also die hintergrundfarbe funktioniert nicht.

aber ich bin glaub ich mit diese methode weiter gekommen:
also der hintergrund ändert sich jetzt nach jedem aktualisieren.



viewtopic.php

Code: Alles auswählen

...
include($phpbb_root_path . 'includes/area.' . $phpEx);
...
area.php (inhalt des php-codes)

Code: Alles auswählen

<?php
srand(microtime()*1000000);
$colour = rand(0,16777215);
$colorhex = dechex($colour);
echo ('<style type="text/css">');
echo ('.area {border: 2px solid #161414; background-color: #');
echo ($colorhex);
echo (';}');
echo ('</style>');
?>
also in dem code gebe ich eine css-quell datei aus.
der bbcode hat die classe area.
somit bekommt der bbcode aus einer externen datei seine hintergrundfarbe.

das einzige problem ist, das es fehler gibt!
also es ensteht wohl ein problem, weil es nun zwei css dateien für eine seite gibt
hier ist der fehler:

Code: Alles auswählen

[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3547: Cannot modify header information - headers already sent by (output started at /includes/area.php:6)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3549: Cannot modify header information - headers already sent by (output started at /includes/area.php:6)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3550: Cannot modify header information - headers already sent by (output started at /includes/area.php:6)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3551: Cannot modify header information - headers already sent by (output started at /includes/area.php:6)

Verfasst: 30.10.2008 19:46
von Miriam
Eh nein, es klappt nicht

Also die hintergrundfarbe funktioniert nicht.
Bei mir hat es einwandfrei geklappt :-P

Und das ist doch Aussage genug: output started at /includes/area.php:6.
Du gibst Daten mit echo() aus und das noch vor dem HTML Header.
Warum machst Du das eigentlich so kompliziert?
KB:headers_already_sent

Verfasst: 30.10.2008 21:14
von Locou
Miriam hat geschrieben:
Eh nein, es klappt nicht

Also die hintergrundfarbe funktioniert nicht.
Bei mir hat es einwandfrei geklappt :-P

Und das ist doch Aussage genug: output started at /includes/area.php:6.
Du gibst Daten mit echo() aus und das noch vor dem HTML Header.
Warum machst Du das eigentlich so kompliziert?
KB:headers_already_sent
Ne bei mir funktionier das nicht.
vielleicht hast du ja andere einstellungen
wie könnt ich denn die css ausgabe in den header bekommen?

Verfasst: 30.10.2008 21:24
von Miriam
Ich meinte HTTP... sorry....
Zeig doch mal den ganzen Code her.. Und wie willst Du ihn wo einbauen?

Verfasst: 30.10.2008 21:32
von Locou
Ja, den ganzen code habe ich ja gezeigt.
Ich gebe ja <style> über echo aus.
nur wird dann <style> nicht im header ausgegeben sondern irgentwo anders. das ist ja grade das problem.

ich wüsste jetzt nicht wie ich das in den header bekomme. :-?


was meinst du mit HTTP?

Verfasst: 30.10.2008 21:58
von Miriam
KB:template_system