[PHP-users 6002] はじめまして。PHP初心者です。

小峰 誠 php-users@php.gr.jp
Fri, 8 Mar 2002 16:08:11 +0900


This is a multi-part message in MIME format.

------=_NextPart_000_0038_01C1C6BB.72269640
Content-Type: text/plain;
	charset="iso-2022-jp"
Content-Transfer-Encoding: 7bit

はじめまして。PHP初心者の誠です。
現在、カレンダーを作成していますが、
当月(今なら3月)を表すことはすぐにできたのですが、
前の月や次の月を表す場合に、PHPを使用して表したいのですが、
上手くいきません。
ソースは
<html>
<body bgcolor="lime">
<center>
<!--
     カレンダー表示php
-->
<?php
 /* 今の日時を取得*/
 $now_month = getdate(time());  /*各項目(年・月・日)を配列で受け取る。*/
 $tmp = getdate(mktime(0,0,0,$now_month[mon],1)); /* 今月の初めの日時を取得
*/
 $first_mday = $tmp[wday]; /*今月一日の曜日*/
 $now_day = 1;  /*現在作画している日*/

 echo( "<table border=\"2\" width=\"600\" height=\"400\">"); /* テーブルの作
成 */
 echo( "<tr>");
 echo( "<th colspan =\"7\">$now_month[year]年 $now_month[mon]月</th></tr>");
 echo( "</tr>");
 echo( "<tr>");
 echo( "<TD bgcolor = #ffffff align = center><B>日</B></TD>");
 echo( "<TD bgcolor = #ffffff align = center><B>月</B></TD>");
 echo( "<TD bgcolor = #ffffff align = center><B>火</B></TD>");
 echo( "<TD bgcolor = #ffffff align = center><B>水</B></TD>");
 echo( "<TD bgcolor = #ffffff align = center><B>木</B></TD>");
 echo( "<TD bgcolor = #ffffff align = center><B>金</B></TD>");
 echo( "<TD bgcolor = #ffffff align = center><B>土</B></TD>");
 echo( "</tr>");
 echo( "<tr>");

 /* 日にちの作画スタート */
 for($i = 0; $i < $first_mday; $i++){   /* 一日の曜日まで作画位置をずらす */
     echo( "<td></td>");
 }

 while(checkdate($now_month[mon],$now_day,$now_month[year])){
     if($now_day == $now_month[mday]){  /*今日は黄色で作画する。*/
         echo( "<td bgcolor = #ffff00 align = right><font size=\"4\" color =
#00ff00><a href='form.php'>$now_day</a></font></td>");
     }elseif($first_mday == 0){  /* 日曜日の場合は赤で作画する*/
         echo( "<td bgcolor =\"red\" align = right><font size=\"4\" color
=#0000ff><a href='form.php'>$now_day</a></font></td>");
     }elseif($first_mday == 6){  /*土曜日は青で作画する。*/
         echo( "<td bgcolor =\"blue\" align = right><font size=\"4\" color =
#0000ff><a href='form.php'>$now_day</a></font></td>");
     }else{  /* その他は黒 */
         echo( "<td bgcolor = #ffffff align = right><font size=\"4\"><a
href='form.php'>$now_day</a></td>");
     }
     $now_day++;
     $first_mday++;
     if(($first_mday % 7)==0){ /* 現在、土曜日なので改行 */
         $first_mday = 0;
         echo( "</tr>");
         echo( "<tr>");
     }
 }

 /* 日にちの作画の終了 */
 while($first_mday == 6){ /* カレンダーが埋まるまで位置をずらす */
     echo( "<td></td>");
     $first_mday++;
 }

 echo( "</tr>");
 /* テーブルの作画の終了 */
 /*前月・次月を作画*/
 echo( "<BR><table border=1 width=600>" );
 echo( "<tr>" );
 echo( "<TD align=\"left\"><A href=\"$PHP_SELF\" name=\"presub\">" );
 echo( "前 月" );
 echo( "</A>" );
 echo( "</TD>" );
 echo( "<TD align=\"right\"><A href=\"$PHP_SELF\" name=\"nxtsub\">" );
 echo( "次 月" );
 echo( "</A>" );
 echo( "</TD>" );
 echo( "</tr>" );
 echo( "</TABLE>");
 /* 前月・次月の作画の終了 */
?>
</center>
</body>
</html>
です。これで当月のカレンダーは作成できますが、次月・前月の表示が・・・。
おそらく<A href=\"*****\">の箇所に間違いがあるのではないかと思い
修正or作成をしているのですが、上手くいきません。
どなたかよろしくお願いします。

------=_NextPart_000_0038_01C1C6BB.72269640
Content-Type: text/html;
	charset="iso-2022-jp"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-2022-jp">
<META content=3D"MSHTML 6.00.2713.1100" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV>=1B$B$O$8$a$^$7$F!#=1B(BPHP=1B$B=3Di?4<T$N@?$G$9!#=1B(B</DIV>
<DIV>=1B$B8=3D:_!"%+%l%s%@!<$r:n@.$7$F$$$^$9$,!"=1B(B</DIV>
<DIV>=1B$BEv7n!J:#$J$i=1B(B3=1B$B7n!K$rI=3D$9$3$H$O$9$0$K$G$-$?$N$G$9$,!"=
=1B(B</DIV>
<DIV>=1B$BA0$N7n$d<!$N7n$rI=3D$9>l9g$K!"=1B(BPHP=1B$B$r;HMQ$7$FI=3D$7$?$$=
$N$G$9$,!"=1B(B</DIV>
<DIV>=1B$B>e<j$/$$$-$^$;$s!#=1B(B</DIV>
<DIV>=1B$B%=3D!<%9$O=1B(B</DIV>
<DIV>&lt;html&gt;<BR>&lt;body =
bgcolor=3D"lime"&gt;<BR>&lt;center&gt;<BR>&lt;!--=20
<BR>&nbsp;&nbsp;&nbsp;&nbsp; =
=1B$B%+%l%s%@!<I=3D<(=1B(Bphp<BR>--&gt;<BR>&lt;?php<BR>&nbsp;/*=20
=1B$B:#$NF|;~$r<hF@=1B(B*/ <BR>&nbsp;$now_month =3D=20
getdate(time());&nbsp;&nbsp;/*=1B$B3F9`L\=1B(B(=1B$BG/!&7n!&F|=1B(B)=1B$B=
$rG[Ns$G<u$1<h$k!#=1B(B*/<BR>&nbsp;$tmp =3D=20
getdate(mktime(0,0,0,$now_month[mon],1)); /* =
=1B$B:#7n$N=3Di$a$NF|;~$r<hF@=1B(B*/ <BR>&nbsp;$first_mday=20
=3D $tmp[wday]; /*=1B$B:#7n0lF|$NMKF|=1B(B*/ <BR>&nbsp;$now_day =3D =
1;&nbsp; /*=1B$B8=3D:_:n2h$7$F$$$kF|=1B(B*/ </DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;echo( "&lt;table border=3D\"2\" width=3D\"600\" =
height=3D\"400\"&gt;"); /*=20
=1B$B%F!<%V%k$N:n@.=1B(B */ <BR>&nbsp;echo( =
"&lt;tr&gt;");<BR>&nbsp;echo( "&lt;th colspan=20
=3D\"7\"&gt;$now_month[year]=1B$BG/=1B(B=20
$now_month[mon]=1B$B7n=1B(B&lt;/th&gt;&lt;/tr&gt;");<BR>&nbsp;echo(=20
"&lt;/tr&gt;");<BR>&nbsp;echo( "&lt;tr&gt;");<BR>&nbsp;echo( "&lt;TD =
bgcolor =3D=20
#ffffff align =3D =
center&gt;&lt;B&gt;=1B$BF|=1B(B&lt;/B&gt;&lt;/TD&gt;");<BR>&nbsp;echo(=20
"&lt;TD bgcolor =3D #ffffff align =3D=20
center&gt;&lt;B&gt;=1B$B7n=1B(B&lt;/B&gt;&lt;/TD&gt;");<BR>&nbsp;echo( =
"&lt;TD bgcolor =3D=20
#ffffff align =3D =
center&gt;&lt;B&gt;=1B$B2P=1B(B&lt;/B&gt;&lt;/TD&gt;");<BR>&nbsp;echo(=20
"&lt;TD bgcolor =3D #ffffff align =3D=20
center&gt;&lt;B&gt;=1B$B?e=1B(B&lt;/B&gt;&lt;/TD&gt;");<BR>&nbsp;echo( =
"&lt;TD bgcolor =3D=20
#ffffff align =3D =
center&gt;&lt;B&gt;=1B$BLZ=1B(B&lt;/B&gt;&lt;/TD&gt;");<BR>&nbsp;echo(=20
"&lt;TD bgcolor =3D #ffffff align =3D=20
center&gt;&lt;B&gt;=1B$B6b=1B(B&lt;/B&gt;&lt;/TD&gt;");<BR>&nbsp;echo( =
"&lt;TD bgcolor =3D=20
#ffffff align =3D =
center&gt;&lt;B&gt;=1B$BEZ=1B(B&lt;/B&gt;&lt;/TD&gt;");<BR>&nbsp;echo(=20
"&lt;/tr&gt;");<BR>&nbsp;echo( "&lt;tr&gt;");</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;/* =1B$BF|$K$A$N:n2h%9%?!<%H=1B(B */ <BR>&nbsp;for($i =3D 0; =
$i &lt; $first_mday;=20
$i++){&nbsp;&nbsp; /* =1B$B0lF|$NMKF|$^$G:n2h0LCV$r$:$i$9=1B(B */ =
<BR>&nbsp;&nbsp;&nbsp;&nbsp; echo(=20
"&lt;td&gt;&lt;/td&gt;");<BR>&nbsp;}</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;while(checkdate($now_month[mon],$now_day,$now_month[year])){<B=
R>&nbsp;&nbsp;&nbsp;&nbsp;=20
if($now_day =3D=3D $now_month[mday]){&nbsp; =
/*=1B$B:#F|$O2+?'$G:n2h$9$k!#=1B(B*/=20
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo( "&lt;td =
bgcolor =3D=20
#ffff00 align =3D right&gt;&lt;font size=3D\"4\" color =3D =
#00ff00&gt;&lt;a=20
href=3D'form.php'&gt;$now_day&lt;/a&gt;&lt;/font&gt;&lt;/td&gt;");<BR>&nb=
sp;&nbsp;&nbsp;&nbsp;=20
}elseif($first_mday =3D=3D 0){&nbsp; /* =
=1B$BF|MKF|$N>l9g$O@V$G:n2h$9$k=1B(B*/=20
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo( "&lt;td =
bgcolor=20
=3D\"red\" align =3D right&gt;&lt;font size=3D\"4\" color =
=3D#0000ff&gt;&lt;a=20
href=3D'form.php'&gt;$now_day&lt;/a&gt;&lt;/font&gt;&lt;/td&gt;");<BR>&nb=
sp;&nbsp;&nbsp;&nbsp;=20
}elseif($first_mday =3D=3D 6){&nbsp; =
/*=1B$BEZMKF|$O@D$G:n2h$9$k!#=1B(B*/=20
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo( "&lt;td =
bgcolor=20
=3D\"blue\" align =3D right&gt;&lt;font size=3D\"4\" color =3D =
#0000ff&gt;&lt;a=20
href=3D'form.php'&gt;$now_day&lt;/a&gt;&lt;/font&gt;&lt;/td&gt;");<BR>&nb=
sp;&nbsp;&nbsp;&nbsp;=20
}else{&nbsp; /* =1B$B$=3D$NB>$O9u=1B(B */ =
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
echo( "&lt;td bgcolor =3D #ffffff align =3D right&gt;&lt;font =
size=3D\"4\"&gt;&lt;a=20
href=3D'form.php'&gt;$now_day&lt;/a&gt;&lt;/td&gt;");<BR>&nbsp;&nbsp;&nbs=
p;&nbsp;=20
}<BR>&nbsp;&nbsp;&nbsp;&nbsp; $now_day++;<BR>&nbsp;&nbsp;&nbsp;&nbsp;=20
$first_mday++;<BR>&nbsp;&nbsp;&nbsp;&nbsp; if(($first_mday % 7)=3D=3D0){ =
/*=20
=1B$B8=3D:_!"EZMKF|$J$N$G2~9T=1B(B */ =
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $first_mday=20
=3D 0;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo(=20
"&lt;/tr&gt;");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
echo(=20
"&lt;tr&gt;");&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp; =
}<BR>&nbsp;}</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;/* =1B$BF|$K$A$N:n2h$N=3D*N;=1B(B */ =
<BR>&nbsp;while($first_mday =3D=3D 6){ /*=20
=1B$B%+%l%s%@!<$,Kd$^$k$^$G0LCV$r$:$i$9=1B(B */ =
<BR>&nbsp;&nbsp;&nbsp;&nbsp; echo(=20
"&lt;td&gt;&lt;/td&gt;");<BR>&nbsp;&nbsp;&nbsp;&nbsp;=20
$first_mday++;<BR>&nbsp;}</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;echo( "&lt;/tr&gt;");<BR>&nbsp;/* =
=1B$B%F!<%V%k$N:n2h$N=3D*N;=1B(B */=20
<BR>&nbsp;/*=1B$BA07n!&<!7n$r:n2h=1B(B*/<BR>&nbsp;echo( =
"&lt;BR&gt;&lt;table border=3D1=20
width=3D600&gt;" );<BR>&nbsp;echo( "&lt;tr&gt;" );<BR>&nbsp;echo( =
"&lt;TD=20
align=3D\"left\"&gt;&lt;A href=3D\"$PHP_SELF\" name=3D\"presub\"&gt;"=20
);<BR>&nbsp;echo( "=1B$BA0!!7n=1B(B" );<BR>&nbsp;echo( "&lt;/A&gt;" =
);<BR>&nbsp;echo(=20
"&lt;/TD&gt;" );<BR>&nbsp;echo( "&lt;TD align=3D\"right\"&gt;&lt;A=20
href=3D\"$PHP_SELF\" name=3D\"nxtsub\"&gt;" );<BR>&nbsp;echo( =
"=1B$B<!!!7n=1B(B"=20
);<BR>&nbsp;echo( "&lt;/A&gt;" );<BR>&nbsp;echo( "&lt;/TD&gt;" =
);<BR>&nbsp;echo(=20
"&lt;/tr&gt;" );<BR>&nbsp;echo( "&lt;/TABLE&gt;");<BR>&nbsp;/* =
=1B$BA07n!&<!7n$N:n2h$N=3D*N;=1B(B */=20
<BR>?&gt;<BR>&lt;/center&gt;<BR>&lt;/body&gt;<BR>&lt;/html&gt;<BR>=1B$B$G=
$9!#$3$l$GEv7n$N%+%l%s%@!<$O:n@.$G$-$^$9$,!"<!7n!&A07n$NI=3D<($,!&!&!&!#=1B=
(B</DIV>
<DIV>=1B$B$*$=3D$i$/=1B(B&lt;A =
href=3D\"*****\"&gt;=1B$B$N2U=3Dj$K4V0c$$$,$"$k$N$G$O$J$$$+$H;W$$=1B(B</D=
IV>
<DIV>=1B$B=3D$@5#o#r:n@.$r$7$F$$$k$N$G$9$,!">e<j$/$$$-$^$;$s!#=1B(B</DIV>=

<DIV>=1B$B$I$J$?$+$h$m$7$/$*4j$$$7$^$9!#=1B(B</DIV></BODY></HTML>

------=_NextPart_000_0038_01C1C6BB.72269640--