За последние 24 часа нас посетили 11138 программистов и 840 роботов. Сейчас ищет 281 программист ...

Вывод дня недели

Тема в разделе "PHP для новичков", создана пользователем Dmit, 30 янв 2019.

  1. Dmit

    Dmit Новичок

    С нами с:
    21 дек 2018
    Сообщения:
    16
    Симпатии:
    0
    Задача состоит в следующем. Есть поле в форме, где нужно указывать дату. Необходимо вывести дату и номер дня недели, который соответствует выбранной дате. Написал следущее
    Код (Text):
    1. <form action="" method="post">
    2.     <input type="date" name="date_my" id="date">
    3.     <input type ="submit" value="OK">
    4. </form>
    5. <?php
    6. if(isset($_POST['date_my'])){
    7.     $adate = $_POST['date_my'];
    8. }
    9. $weekday = date("w",$adate);
    10.  
    11.  
    12. echo $weekday;
    13. echo '<br>';
    14. echo $adate;
    15. ?>
    Дата выводится та, которую указал пользователь, а вот номер дня возвращается текущий, а не того который будет на дату, выбранную пользователем. Не могу понять, как реализовать данную задачу.
     
  2. Dmit

    Dmit Новичок

    С нами с:
    21 дек 2018
    Сообщения:
    16
    Симпатии:
    0
    Решил сам)) оказывается здесь необходимо использовать функцию strtotime(). В итоге рабочий код выглядит так
    Код (Text):
    1. <?php
    2. if(isset($_POST['date_my'])){
    3.     $adate = $_POST['date_my'];
    4. }
    5. $time = strtotime($adate);
    6. $date = date('w', $time);
    7.  
    8.  
    9. echo $date;
    10. echo '<br>';
    11. echo $adate;
    12. ?>
     
  3. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.120
    Симпатии:
    1.180
    Адрес:
    Лень
    зачем тебе $adate ?
     
  4. Dmit

    Dmit Новичок

    С нами с:
    21 дек 2018
    Сообщения:
    16
    Симпатии:
    0
    ну да, в принципе уже лишнее. можно и убрать
     
  5. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.120
    Симпатии:
    1.180
    Адрес:
    Лень
    зачем тебе 3 echo ? тег ?> ? $time ? $date ?
    --- Добавлено ---
    почему не проверяешь какой запрос пришел POST или не POST ?
     
    Deonis нравится это.
  6. Dmit

    Dmit Новичок

    С нами с:
    21 дек 2018
    Сообщения:
    16
    Симпатии:
    0
    в основном скрипте проверяю. это лишь тестовый. чтобы понять приходит или нет дата. Такой вопрос, имеем индексированный массив выходных дней, а также поле типа date на форме. Как сравнить выбранную в форме дату на предмет вхождения в массив с выходными днями?
    Код (Text):
    1. $date_p = array(0 => '01.01.2019', 1 => '02.01.2019', 2 => '03.01.2019', 3 => '04.01.2019', 4 => '05.01.2019', 5 => '06.01.2019', 6 => '07.01.2019', 7 => '08.01.2019', 8 => '23.02.2019', 9 => '08.03.2019', 10 => '01.05.2019', 11 => '02.05.2019', 12 => '03.05.2019', 13 => '09.05.2019', 14 => '10.05.2019', 15 => '12.06.2019', 16 => '04.11.2019', 17=>'31.12.2019');
     
  7. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.120
    Симпатии:
    1.180
    Адрес:
    Лень
  8. Dmit

    Dmit Новичок

    С нами с:
    21 дек 2018
    Сообщения:
    16
    Симпатии:
    0
    Написал вот так
    Код (Text):
    1.  <?php
    2. if(isset($_POST['date'])){
    3.     $date = $_POST['date'];
    4. }
    5. $date_p = array(0 => '01.01.2019', 1 => '02.01.2019', 2 => '03.01.2019', 3 => '04.01.2019', 4 => '05.01.2019', 5 => '06.01.2019', 6 => '07.01.2019', 7 => '08.01.2019', 8 => '23.02.2019', 9 => '08.03.2019', 10 => '01.05.2019', 11 => '02.05.2019', 12 => '03.05.2019', 13 => '09.05.2019', 14 => '10.05.2019', 15 => '12.06.2019', 16 => '04.11.2019', 17=>'31.12.2019');
    6. if (in_array($date, $date_p)){
    7. echo "есть совпадения";
    8. }
    9. else {
    10. echo "совпадений не найдено"
    11. }
    12. ?>
    но даже если указываю дату входящую в массив, все равно выводит "совпадений не найдено".
     
  9. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.120
    Симпатии:
    1.180
    Адрес:
    Лень
    потому что совпадений не найдено