Skapar en ny tråd då det gäller ett annat kalender-script och ett annat kalender-problem.
Problemet är att kalendern sätter datumen på fel veckodag. Det är endast i månad augusti som den sätter rätt, men byter man till tex september så blir den 1:a på en torsdag (det är en onsdag).
Koden:
<?php
//gör månad
$month2 = array
(1=>"Januari",
2=>"Februari",
3=>"Mars",
4=>"April",
5=>"Maj",
6=>"Juni",
7=>"Juli",
8=>"Augusti",
9=>"September",
10=>"Oktober",
11=>"November",
12=>"December");
$month = isset($_GET['month']) ? $_GET['month'] : date('n');
$year = date("Y");
$day = date("d");
//skapar starttid
$timestamp = mktime (0, 0, 0, $month, 1, $year);
$monthname = date("F", $timestamp);
$dagensdatum = date("d");
$dagensdatum2 = date("nd");
//gör tabell
print ("<table border=0 cellpadding=3 cellspacing=0 align=center width=245>");
print ("<tr bgcolor=blue><td colspan=7 align=center><font color=white>
<b>". $month2[$month] ." $year</b></font></td></tr>");
print ("<tr bgcolor=blue>
<td align=center width=35><b>
<font color=white>Mån</font></b></td>
<td align=center width=35><b>
<font color=white>Tis</font></b></td>
<td align=center width=35><b>
<font color=white>Ons</font></b></td>
<td align=center width=35><b>
<font color=white>Tor</font></b></td>
<td align=center width=35><b>
<font color=white>Fre</font></b></td>
<td align=center width=35><b>
<font color=white>Lör</font></b></td>
<td align=center width=35><b>
<font color=red>Sön</font></b></td>
</tr>\n");
$monthstart = date ("w",$timestamp);
if ($monthstart == 0)
{
$monthstart = 6;
}
$lastday = date("d",mktime(0, 0, 0, $month+1, 0, $year));
$startdate = -$monthstart;
for($k=1; $k <=6; $k++)
{
print("<tr bgcolor=#F4F4F4>");
for ($i = 1; $i<= 7; $i++)
{
$startdate++;
$startdate2 = $month;
if($startdate == 1 || $startdate == 2 || $startdate == 3 || $startdate == 4 || $startdate == 5 || $startdate == 6 || $startdate == 7 || $startdate == 8 || $startdate == 9)
{
$startdate2 .= 0;
}
$startdate2 .= $startdate;
if(($startdate <=0) || ($startdate > $lastday))
{
print ("<td bgcolor=#F4F4F4>  </td>");
}
elseif (($startdate >= 1) && ($startdate <= $lastday))
{
$curent_timestamp = mktime(0, 0, 0, $month, $startdate, $year);
// Söndag innan dagens datum
if (date("w", $curent_timestamp) == 0 && $dagensdatum2 > $startdate2)
{
print ("<td align=center><span style=color:red>$startdate</span></td>");
}
// Söndag efter dagens datum
elseif (date("w", $curent_timestamp) == 0 && $dagensdatum2 < $startdate2)
{
print ("<td align=center><span style=color:red><a href="#">$startdate</a></span></td>");
}
// Dagens datum
elseif($dagensdatum == $startdate)
{
print ("<td align=center bgcolor=#FF6600><a href="#">$startdate</a></td>");
// Dag innan dagens datum
}
elseif($dagensdatum2 > $startdate2)
{
print ("<td align=center>$startdate</td>");
}
// Lördag efter dagens datum
elseif (date("w", $curent_timestamp) == 6)
{
print ("<td align=center><a href="#">$startdate</a></td>");
}
// Vardag efter dagens datum
else
{
print ("<td align=center><a href="#">$startdate</a></td>");
}
}
}
print ("</tr>\n");
}
print ("</table>\n");
print("<div align=center>\n");
print ("<form action=\"kalender.php\" method=get>\n");
print ("Välj månad:\n");
?>
<select name=month>
<option value="1"<? if($month == 1) { echo " selected"; } ?>>Januari</option>
<option value="2"<? if($month == 2) { echo " selected"; } ?>>Februari</option>
<option value="3"<? if($month == 3) { echo " selected"; } ?>>Mars</option>
<option value="4"<? if($month == 4) { echo " selected"; } ?>>April</option>
<option value="5"<? if($month == 5) { echo " selected"; } ?>>Maj</option>
<option value="6"<? if($month == 6) { echo " selected"; } ?>>Juni</option>
<option value="7"<? if($month == 7) { echo " selected"; } ?>>Juli</option>
<option value="8"<? if($month == 8) { echo " selected"; } ?>>Augusti</option>
<option value="9"<? if($month == 9) { echo " selected"; } ?>>September</option>
<option value="10"<? if($month == 10) { echo " selected"; } ?>>Oktober</option>
<option value="11"<? if($month == 11) { echo " selected"; } ?>>November</option>
<option value="12"<? if($month == 12) { echo " selected"; } ?>>December</option>
</select>
<?php
print ("<input type=submit name=submit value=\"Välj\">\n");
print("</form>\n");
$datum = date("Y-m-d");
print "Den $datum";
$tid = date("H:i:s");
print "<br>Kl $tid";
$week = date("W");
print "<br> Vecka $week";
print ("</div>");
?>
Testkörning:
http://www.dwdesign.se/annat/script_tester/kalender.php
Antagligen så är det här:
$monthstart = date ("w",$timestamp);
if ($monthstart == 0)
{
$monthstart = 6;
}
som felet ligger, men vad är felet?? Ngn som kan hjälpa mig med detta?? :stud