Navigation für Kalender

soa

Erfahrenes Mitglied
Hallo,

ich habe ein kleines Problem mit meiner Kalendernavigation.

Über dem Kalender gebe ich den aktuellen Monat und das Jahr aus. Dazu kommen 2 Links, die zum Vor - bzw. Nachmonat führen.

Mit dem Nachmonat gibt es auch keine Probleme, nach Juli kommt August usw.,
doch wenn ich jetzt, also im Juli, auf den Link Vormonat klicke, wird Vormonat auf
12 gesetzt und ich springe in den Dezember.

Ich finde den Fehler leider nicht..

PHP:
if(isset($_GET['vormonat']))
{
   $monat = $_GET['vormonat']; 
   $jahr  = $datum[year];   
}       
    
else if(isset($_GET['nachmonat']))
{   
  $monat = $_GET['nachmonat']; 
  $jahr  = $datum[year]; 
}    
else
{
  $monat = $datum[mon]; 
  $jahr  = $datum[year]; 
}
    
 
   
$start = mktime ( 0, 0, 0, $monat , 1, $jahr ); 
$ersterArr = getdate($start); 




//----------------------------------------------------------------------------------------------

$monatsname = array();
			$monatsname[1] = "Januar";  
			$monatsname[2] = "Februar"; 
			$monatsname[3] = "März";
			$monatsname[4] = "April";   
			$monatsname[5] = "Mai";
			$monatsname[6] = "Juni";
			$monatsname[7] = "Juli";
			$monatsname[8] = "August";
			$monatsname[9] = "September";
			$monatsname[10] = "Oktober";
			$monatsname[11] = "November";
			$monatsname[12] = "Dezember";

print "<table width= 90%  align=right >\n";				
			
			if ($_GET['vormonat'] <= 1 )
			{
			$vor_monat = 12;
			}
			else
			$vor_monat = $monat -1;
		  echo( " <a href=\"?vormonat=".$vor_monat."\">&lt;&lt;</a> ");
		  
      
      //Ausgabe des aktuellen Monats + Jahresangabe
      echo $monatsname[$monat];
      echo "&nbsp; ";
      echo $jahr;	
      
      
     if ($_GET['nachmonat'] >= 12 )
      $nach_monat = 1;
      else
      $nach_monat = $monat +1;
		  echo( "<a href=\"?nachmonat=".$nach_monat."\">&gt;&gt;</a>&nbsp; &nbsp; ");	
print "</table>";

Über einen Tipp wäre ich echt verbunden...

SOA
 
Das liegt einfach daran, dass die Abfrage:

if ($_GET['vormonat'] <= 1 )

immer dann TRUE liefert, wenn "vormonat" gar nicht gesetzt ist. Daher steht hier immer die 12 in deinem Link.

Ändere das in:

if (isset($_GET['vormonat']) and $_GET['vormonat'] <= 1 )

dann klappt es.

Marian
 
Zurück