Probleme mit Kalender

fizzle

Gesperrt
Hallo, ich habe folgendes Script:

PHP:
<?php 
define("EINTAG", (60*60*24) ); 
if ( ! checkdate( $monat, 1, $jahr ) ) 
    { 
     $heuteArr = getdate(); 
    $monat = $heuteArr[mon]; 
    $jahr = $heuteArr[year]; 
    } 
$start = mktime ( 0, 0, 0, $monat, 1, $jahr ); 
$ersterArr = getdate($start); 
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title><?php print "Kalendar: $ersterArr[month] $ersterArr[year]" ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link type="text/css" rel="stylesheet" href="style.css">
</head>

<body bgcolor="#eeeeee">
<form action="<? print $PHP_SELF ?>" method="post"> 
<select name="monat"> 
<?php 
$monate = Array("Januar", "Februar", "März", "April", 
                "Mai", "Juni", "Juli", "August", "September", 
                "Oktober", "November", "Dezember"); 
for ( $x=1; $x <= count( $monate ); $x++ ) 
    { 
    print "\t<option value=\"$x\""; 
    print ($x == $monat)?" SELECTED":""; 
    print ">".$monate[$x-1]."\n"; 
    } 
?> 
</select> 
<select name="jahr"> 
<?php 
for ( $x=1990; $x<2010; $x++ ) 
    { 
    print "\t<option"; 
    print ($x == $jahr)?" SELECTED":""; 
    print ">$x\n"; 
    } 
?> 
</select> 
<input type="submit" value="Anzeigen"> 
</form>

<p> 
<?php 
$days = Array("S", "M", "D", "M", 
              "D", "F", "S"); 
print "<TABLE bgcolor=#e7e7e7 BORDER = 1 BORDERCOLOR=#000000 CELLPADDING=1 CELLSPACING=0 style='border-left:0; border-top:0; border-bottom:0; border-right:0;'>\n"; 
foreach ( $days as $day ) 
    print "\t<td bordercolor=#000000><b><div align=right>$day</div></b></td>\n";
	
for ( $zaehler=0; $zaehler < (6*7); $zaehler++ ) 
    { 
    $tagArr = getdate( $start );
	
if ( (($zaehler) % 7) == 0 ) 
        { 
        if ( $tagArr[mon] != $monat ) 
            break; 
        print "</tr><tr>\n"; 
        }
		
if ( $zaehler < $ersterArr[wday] || $tagArr[mon] != $monat ) 
        { 
        print "\t<td><br></td>\n"; 
        }
else 
        { 
        print "\t<td><div align=right>$tagArr[mday]</div></td>\n"; 
        $start += EINTAG; 
        } 
    }
	
print "</tr></table>"; 

?> 
</body>
</html>

1. möchte ich das dort das aktuelle Datum immer mit einer bestimmten Farbe markiert wird (andrer Hintergrund) und
2. möchte ich das der Border nicht so dick ist, sondern nur ganz dünn.

Kann mir da einer helfen?
 
hmm, ich kann zwar noch nicht sehr viel PHP, in dem Script verstehe ich aber fast alles und in HTML bin ich eigentlich perfekt!, nur will es bei mir irgendwie nicht gehen, dass er den tabellen border nur halb so dünn macht.
Und ausserdem habe habe ich noch gefragt, wie ich das mache as dort das aktuelle Datum immer mit einer bestimmten Farbe markiert wird (andrer Hintergrund). Soll ich das in einem HTML Forum fragen?
 
<TABLE bgcolor=#e7e7e7 BORDER=1

Schau Dir mal CSS an, mit html kannst Du die Tabellen-Borderdicke NICHT unter 1 einstellen, aber das weißt Du ja als Perfekter HTML-User bestimmt ...


Das umfärben musst Du in dieser Zeile einleiten.

Gedanklich:
Du fragst den heutigen Tag ab und wenn $heutigerTag = $tagArr[mday] änderst du die Hintergrundfarbe der Zelle sonst gibt das script die Standardfarbe aus.

PHP:
            print "\t<td><div align=right>$tagArr[mday]</div></td>\n";
 
Zuletzt bearbeitet:
Ok, vielen Dank.

Das wegen CSS, ich kann auch sehr gut CSS, aber irgendwie kommen da ständig Fehler wenn ich versuche das zu ändern, aber vielleicht liegt das auch nur an meinem Pc, ich lade das mal auf meinen Server hoch.
 
ähm Neurodeamon, irgendwie bekomme ich das doch noch nicht ganz umgesetzt. Könntest du mir vielleicht sagen was genau ich schreiben muss?
 
Sorry für OT ab er mal eben was eingeworfen ...
Original geschrieben von fizzle
HTML bin ich eigentlich perfekt
[...]
ich kann auch sehr gut CSS

Und wieso in Gottes Namen suchst du dann ausgerechnet in einem PHP Forum nach Hilfe für ein Script von du mit Sicherheit nich die geringste Ahnung hast!?

Du musst dir doch nur die zwei Befehle auf einer HTML oder CSS Seite suchen und per echo in das Script implementieren. Wenn du ein wenig PHP kannst - wie erwähnt - dann sollte das doch kein Problem sein mit deinen "perfekten HTML"-Kenntnissen.

»»» http://www.css4you.de/border-style.php [Border Befehle #1]
»»» http://www.css4you.de/border-width.php [Border Befehle #2]

Zum ersten Problem würd ich dir gerne helfen aber ich find die Stelle nicht auf die das Problem zutrifft!

Ciao

Mod's nicht böse sein :>
 
Hmm joa ist ok, aber das, was du da verlinkt hast, kann ich auch alles schon, Aber das nun mal irgendwie nicht.
Hmm, aber könnte mir jemand bitte noch mal sagen, wie ich das mache, dass er das aktuelle Datum immer z.B mit einem roten Hintergrund macht, so dass heute z.B die Zelle wo die 17 steht einen roten Hintergrund hat?
 
Zuletzt bearbeitet:
z. B.
PHP:
// tag des monats  - z. b. 16 vom 16.03.2004
$heutigertag = date("j");
// einfache if-abfrage
if ($tagArr != $heutigertag){
// normale ausgabe
print "\t<td><div align=right>$tagArr[mday]</div></td>\n";
} else {
// zelle einfärben (heute)
print "\t<td class=\"heute\"><div align=right>$tagArr[mday]</div></td>\n";

}
 
JA das geht, aber ich habe grade gesehen das er bei der 17, dann auch bei allen andren Jahren Monaten (ich habe ja so eine Auswahlbox festgelegt) mit einem andrem Hintergrund versieht. Wie kann ich das machen, dass er das wirklich auch nur beim richtigem Jahr und Monat macht?
 
Zuletzt bearbeitet:
Zurück