За последние 24 часа нас посетили 15779 программистов и 1544 робота. Сейчас ищут 888 программистов ...

Танцы над календарем

Тема в разделе "Сделайте за меня", создана пользователем Memes, 23 май 2017.

  1. Memes

    Memes Новичок

    С нами с:
    23 май 2017
    Сообщения:
    3
    Симпатии:
    0
    Нужно чтоб выводило "выбранную дату" только после выбора любой даты,или после нажатия "текущей даты".
    Код приложил.
    --- Добавлено ---
    PHP:
    1. <td valign=top width=100%>
    2. <?php
    3. $url = '?menu=calendar';
    4. if($_POST['reset']=='Текущая дата') {setcookie("month",date('n'));
    5. setcookie("year",date('Y'));
    6. unset($_GET['day']);unset($_GET['month']);unset($_GET['year']);
    7. header("Location: ?menu=calendar");}
    8. if (!isset($_GET['day'])) $cday = date("j"); else $cday = $_GET['day'];
    9. if (!isset($_GET['month'])) $cmonth = date("F"); else $cmonth = date('F',
    10. mktime(0, 0, 0, $_GET['month'], 10, $_GET['year'])); ;
    11. if (!isset($_GET['year'])) $cyear = date("Y"); else $cyear = $_GET['year'];
    12. if ($_POST['mm']=='-') setcookie("month",$_COOKIE["month"]-=1);
    13. if ($_POST['mp']=='+') setcookie("month",$_COOKIE["month"]+=1);
    14. if ($_POST['ym']=='-') setcookie("year",$_COOKIE["year"]-=1);
    15. if ($_POST['yp']=='+') setcookie("year",$_COOKIE["year"]+=1);
    16. if (!isset($_GET['day'])){ setcookie("month",date('n'));
    17. setcookie("year",date('Y')) ;}
    18. if (!isset($_GET['month']))$ass=$_COOKIE["month"];else $ass=$_GET['month'];
    19. unset($_POST);
    20. $daycount=0;
    21. $dayofmonth = date('t', mktime(0, 0, 0, $_COOKIE["month"], 0,
    22. $_COOKIE["year"]));
    23. $day_count = 1;
    24. $num = 0;
    25. $url = $_SERVER["REQUEST_URI"];
    26. $dmonth = $_COOKIE["month"];
    27. $dyear = $_COOKIE["year"];
    28. for($i = 0; $i < 7; $i++) {
    29. $dayofweek = date('w', mktime(0, 0, 0, $_COOKIE["month"], $day_count, $year+
    30. $_COOKIE["year"]));
    31. if($dayofweek == -1) $dayofweek = 6;
    32. if($dayofweek == $i) {
    33. $week[$num][$i] = $day_count;
    34. $day_count++; }
    35. else {
    36. $week[$num][$i] = ""; } }
    37. while(true) {
    38. $num++;
    39. for($i = 0; $i < 7; $i++)
    40. {
    41. $week[$num][$i] = $day_count;
    42. $day_count++;
    43. if($day_count > $dayofmonth) break; }
    44. if($day_count > $dayofmonth) break; }
    45. echo "<form method=post action=\"?
    46. menu=calendar&day=$cday&year=$cyear&month=$ass\">";
    47. echo "<br><input type=submit value='-' name=mm> ";
    48. echo date('F', mktime(0, 0, 0, $_COOKIE["month"], 1, $_COOKIE["year"]));
    49. echo " <input type=submit value='+' name=mp> <br>";
    50. echo "<input type=submit value='-' name=ym> ";
    51. echo date('Y', mktime(0, 0, 0, $_COOKIE["month"], 1, $_COOKIE["year"]));;
    52. echo " <input type=submit value='+' name=yp > <br> ";
    53. echo "<table>";
    54. echo "<tr><td>пн</td><td>вт</td><td>ср</td><td>чт</td><td>пт</td><td
    55. style='color:red;'>сб</td><td style='color:red;'>вс</td><tr>";
    56. for($i = 0; $i < count($week); $i++) {
    57. echo "<tr>";
    58. for($j = 0; $j < 7; $j++) {
    59. if(!empty($week[$i][$j]))
    60. { $daycount++;
    61. if($j == 5 || $j == 6)
    62. echo "<td><font color=red> <a style='color:red;' href='?
    63. menu=calendar&day=$daycount&year=$dyear&month=$dmonth'>".$week[$i][$j]."
    64. </a></font></td>";
    65. else echo "<td> <a href='?menu=calendar&day=$daycount&year=$dyear&month=$dmonth
    66. color=yellow'>".$week[$i][$j]."</a></td>"; }
    67. else echo "<td>&nbsp;</td>"; }
    68. echo "</tr>"; }
    69. echo "</table>";
    70. echo "<input align='center' type=submit name=reset value=\"Текущая дата\">";
    71. echo "<br>Выбрана дата: ", $cday," ",$cmonth," ", $cyear ;
    72. echo "</form>";
    73. ?>
     

    Вложения:

    • calendar.txt
      Размер файла:
      2,9 КБ
      Просмотров:
      0
    #1 Memes, 23 май 2017
    Последнее редактирование модератором: 23 май 2017
  2. neverlose

    neverlose Активный пользователь

    С нами с:
    27 авг 2008
    Сообщения:
    1.112
    Симпатии:
    20
    Измените эту строчку:
    PHP:
    1. echo "<br>Выбрана дата: ", $cday, " ", $cmonth, " ", $cyear;
    Таким образом:
    PHP:
    1. if ($_POST) echo "<br>Выбрана дата: ", $cday, " ", $cmonth, " ", $cyear;
     
    denis01 нравится это.
  3. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.819
    Симпатии:
    1.333
    Адрес:
    Лень
    и тут приходят и пишут - "все равно не работает !!!111адын".

    если посмотреть выше unset($_POST);
     
    denis01 и neverlose нравится это.
  4. neverlose

    neverlose Активный пользователь

    С нами с:
    27 авг 2008
    Сообщения:
    1.112
    Симпатии:
    20
    Ага, эту строчку нужно убрать :)

    PHP:
    1. unset($_POST);
     
    denis01 нравится это.
  5. Memes

    Memes Новичок

    С нами с:
    23 май 2017
    Сообщения:
    3
    Симпатии:
    0
    Работать работает,но дату теперь выбирает сам,и текущую и выбранную не выводит.
     
  6. neverlose

    neverlose Активный пользователь

    С нами с:
    27 авг 2008
    Сообщения:
    1.112
    Симпатии:
    20
    Дата в данном случае будет выводится только есть засабмитить форму.
    Просто при входе выбрана может быть из-за автокомплита (фишка браузера). Но пока вы не сабмитите форму - дата не выведится
     
  7. Memes

    Memes Новичок

    С нами с:
    23 май 2017
    Сообщения:
    3
    Симпатии:
    0
    Что в коде дописать,так проще понять будет :)
     
  8. neverlose

    neverlose Активный пользователь

    С нами с:
    27 авг 2008
    Сообщения:
    1.112
    Симпатии:
    20
    Это Вам в раздел фриланса. Тут мы помогаем решить проблемы, а не решаем их за Вас.
     
  9. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    нет, раздел "сделайте за меня" предполагает помощь готовым кодом за спасибо
     
  10. neverlose

    neverlose Активный пользователь

    С нами с:
    27 авг 2008
    Сообщения:
    1.112
    Симпатии:
    20
    Не обратил внимания. Ну, чтож. Ели найдётся кто будет этот говнокод хотябы читать, то ТСу считай уже повезло
     
    denis01 нравится это.