Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何仅为指定用户通过ajax更改php_Php_Jquery_Ajax_Calendar - Fatal编程技术网

如何仅为指定用户通过ajax更改php

如何仅为指定用户通过ajax更改php,php,jquery,ajax,calendar,Php,Jquery,Ajax,Calendar,我需要一只手,因为我没有主意了 我有一个ajax脚本和php脚本,逻辑如下: 1.PHP脚本正在制作带有标记预订的日历,并将其发送到HTML页面, 2.在HTML页面上,用户可以点击“下个月”按钮,它会向php脚本发送一个ajax请求。 3.PHP正在做month++并发送结果 由于每次请求都在php脚本中重置,因此只能执行一次。 月份++总是只有一个月的时间 你有没有办法在日历上随意移动 PHP: 不要在每次运行PHP页面时重置该页面中的值 改用变量(如果会话变量尚未设置,则设置为合理的默认值

我需要一只手,因为我没有主意了

我有一个ajax脚本和php脚本,逻辑如下: 1.PHP脚本正在制作带有标记预订的日历,并将其发送到HTML页面, 2.在HTML页面上,用户可以点击“下个月”按钮,它会向php脚本发送一个ajax请求。 3.PHP正在做month++并发送结果

由于每次请求都在php脚本中重置,因此只能执行一次。 月份++总是只有一个月的时间

你有没有办法在日历上随意移动

PHP:


不要在每次运行PHP页面时重置该页面中的值

改用变量(如果会话变量尚未设置,则设置为合理的默认值)


此外,当您尝试递增时,当前代码将失败。看看PHP函数

您应该在JavaScript中而不是在PHP中进行月份递增

AJAX请求应该返回一个与它所传递的参数一致的值。实现它的方式也取决于内部变量

您的实际脚本也没有多少灵活性。它只能在下个月返回。如果您希望能够返回前一个月,或者未来的某个特定月份,该怎么办


在我看来,您应该更改AJAX脚本以返回特定月份的日历,或者返回特定月份的下一个月(或上一个月)的日历。

我需要对会话进行一些研究,但非常感谢。不幸的是,我不能投票支持你:
<?php
require_once ("config.php");

/* Fields counter */
$FieldsNo=1;

/* Getting today's date*/ 
$date = date("d.n.Y");

/* date slicing */
$str = explode(".", $date);
    $day = $str[0];
    $month = $str[1];
    $year = $str[2];
    $gmonth = $month;
    $gyear = $year;

if (isset($_POST['month'])) {

    $month++;
}
require_once ("arrays.php");


/* operation with calendar */
$daysinmonth=cal_days_in_month(CAL_GREGORIAN, $month, $year);
$julianDayCount=cal_to_jd(CAL_GREGORIAN, $month, 1, $year);
$dayOfWeek=jddayofweek($julianDayCount, 0);
$fullies = $daysinmonth;
/* counting amount of empty fields */
switch ($dayOfWeek) {
case 0:
    $empties= 6;
    break;
case 1:
    $empties= 0;
    break;
case 2:
    $empties=1;
    break;
case 3:
    $empties = 2;
    break;
case 4:
    $empties = 3;
    break;
case 5:
    $empties = 4;
    break;
case 6:
    $empties = 5;
    break;
}
/* month translation*/
if ($language == "pl") {
    include("months_pl.php"); 
} else {
    include("months_eng.php"); 
}
/* echoing calendar base */
echo $monthn;
echo $day;
echo "<br>";
if ($language == "pl") {
    include("days_pl.php"); 
} else {
    include("days_eng.php"); 
}

/* first loop - empty fields */
if ($today) {
    include("calendarloopt.php"); 
} else {
    include("calendarloop.php"); 
} 
echo "</tr></tbody></table>";

echo json_encode($loadout);

?>
<!DOCTYPE html>
<html lang="en">
    <head>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
         <script>
            $(document).ready(function(){
            $("#next").click(function() {
var jqXHR = $.ajax({
    type     : "POST",
    url      : "calendar.php",
    data     : {
            month: 'next'
    },
    success: function(html){

$("#loadplace").html(html);

},
    error:    function(error) {
        //ten fragment wykona się w przypadku BŁĘDU
    }
});
            return jqXHR.responseText;
            });
            });
</script>
        <meta charset="utf-8" />
        <title></title>

    </head>
    <body>
        <input type="button" id="next" value="Next Month"/>


        <div id="loadplace" align="right" width="400" height ="400">

<?php
            include 'calendar.php';
            ?>
        </div>
    </body>
</html>