Quantcast
Channel: Tópicos
Viewing all articles
Browse latest Browse all 14700

Calendário Ajax ajuda com variáveis

$
0
0
Boas, este é o meu primeiro post no Portugal-a-Programar. Sou um programador que está agora a começar e estou com umas dúvidas acerca de um tutorial que vi para fazer um calendário Ajax.

Os erros são os seguintes:

"Notice: Undefined index: showmonth in C:\xampp\htdocs\calendar_start.php on line 3
Notice: Undefined index: showyear in C:\xampp\htdocs\calendar_start.php on line 4"

Penso que , das duas uma, o showmonth e/ou o showyear estão incorrectos, ou as variáveis não estão a passar. Alguma ajuda?

Cá vai o código:

Calendar_start.php

Código :
<?php
$showmonth = $_POST['showmonth'];
$showyear = $_POST ['showyear'];
$showmonth = preg_replace('#[^0-9]#i','',$showmonth);
$showyear = preg_replace('#[^0-9]#i','',$showmonth);
$day_count = cal_days_in_month(CAL_GREGORIAN, $showmonth, $showyear);
$pre_days = date('w',mktime(0,0,0,$showmonth, 1, $showyear));
$post_days = (6-date('w',mktime(0,0,0,$showmonth, $day_count, $showyear)));
echo '<div id="calendar_wrap">';
echo '<div class="title_bar">';
echo '<div class="previous_month"><input name="myBtn" type="submit" value="PreviousMonth" onclick="javascript:last_month();"></div>';
echo '<div id="show_month">' .$showmonth. '/' .$showyear. '</div>';
echo '<div class="next_month"><input name="myBtn" type="submit" value="NextMonth" onclick="javascript:next_month();"></div>';
echo '</div>';
echo '<div class="week_days">';
echo '<div class="days_of_week">Sun</div>';
echo '<div class="days_of_week">Mon</div>';
echo '<div class="days_of_week">Tue</div>';
echo '<div class="days_of_week">Wed</div>';
echo '<div class="days_of_week">Thu</div>';
echo '<div class="days_of_week">Fri</div>';
echo '<div class="days_of_week">Sat</div>';
echo '<div class="clear"></div>';
echo '</div>';
/*Previous Month Filler Days */
if($pre_days != 0){
    for ($i = 1; $i <= $pre_days; $i++){
            echo '<div class ="non_cal_day"></div>';
    }
}
/*Current Month */
for($i = 1 ; $i <= $day_count; $i++){
    echo '<div class="cal_day">';
    echo '<div class="day_heading">' .$i.'</div>';
    echo '</div>';
}
?>

ShowCalendar.php

Código :
<!DOCTYPE HTML>
<html>
<head>
<link href="calendar4u.css" rel="stylesheet" type="text/css" media="all" />
<script language="Javascript" type="text/javascript">
    function initalCalendar(){
            var hr = new XMLHttpRequest();
            var url= "calendar_start.php";
            var currentTime = new Date();
            var month = currentTime.getMonth()+1;
            var year = currentTime.getFullYear();
            showmonth = month;
            showyear=year;
            var vars = "showmonth="+showmonth+"&showyear="+showyear;
            hr.open("POST",url,true);
            hr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
            hr.onreadystatechange = function(){
                    if(hr.readyState == 4 && hr.status == 200){
                            var return_data = hr.responseText;
                            document.getElementBtyId("showCalendar").innerHTML = return_data;
                    }
            }
            hr.send(vars);
            document.getElementById("showCalendar").innerHTML ="processing...";
    }
</script>
<script language="Javascript" type="text/javascript">
    function next_month(){
            var nextmonth = showmonth + 1;
            if(nextmonth > 12){
                    nextmonth = 1;
                    showyear = showyear + 1;
            }
            showmonth=nextmonth;
            var hr = new XMLHttpRequest();
            var url= "calendar_start.php";
            var vars = "showmonth="+showmonth+"&showyear="+showyear;
            hr.open("POST",url,true);
            hr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
            hr.onreadystatechange = function(){
                    if(hr.readyState == 4 && hr.status == 200){
                            var return_data = hr.responseText;
                            document.getElementBtyId("showCalendar").innerHTML = return_data;
                    }
            }
            hr.send(vars);
            document.getElementById("showCalendar").innerHTML ="processing...";
    }
    }
</script>
<script language="Javascript" type="text/javascript">
    function last_month(){
            var lastmonth = showmonth - 1;
            if(lastmonth < 1){
                    nextmonth = 12;
                    showyear = showyear - 1;
            }
            showmonth=nextmonth;
            var hr = new XMLHttpRequest();
            var url= "calendar_start.php";
            var vars = "showmonth="+showmonth+"&showyear="+showyear;
            hr.open("POST",url,true);
            hr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
            hr.onreadystatechange = function(){
                    if(hr.readyState == 4 && hr.status == 200){
                            var return_data = hr.responseText;
                            document.getElementBtyId("showCalendar").innerHTML = return_data;
                    }
            }
            hr.send(vars);
            document.getElementById("showCalendar").innerHTML ="processing...";
    }
    }
</script>
</head>
<body onload ="initialCalendar();">
<div id="showCalendar"></div>
</body>
</html>

Obrigado pelo vosso tempo e por qualquer tipo de ajuda!

Viewing all articles
Browse latest Browse all 14700

Trending Articles