Web

Как получить значения функции при вводе значения из PHP формы?

Я хочу получить значение с помощью функции из формы, используя пользовательский ввод, но я не думаю, что делаю это правильно, может ли кто-нибудь мне помочь.

Код осуществляет ввод некоторого числа в форме. И после этого он должен выводить его по дням, например, таким как воскресенье.

Вывод:-

Введите значение дня между (0-6): 1

День недели - понедельник.

Мой код: -

<?php

        function day_of_week($week) {

           $week = $_POST['week'];

           $week = array(0 => Воскресенье, 1 => Понедельник, 2 => Вторник, 3 => Среда, 4 => Четверг, 5 => Пятница, 6 => Суббота);

            return $week;

        }

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

            $value = $_POST['value'];

            echo "День недели - ".day_of_week($value);

        }

    ?>

    <form method="POST" action="">

        <label>Enter days value between (0-6):</label>

        <input type="text" name="value">

        <input type="submit">

    </form>

 

Мне также нужен определенный код, который может определить день недели, например

date('w'); 

if(date('w') == 1) {

    echo "это понедельник";

}

 

Я также не слишком уверен, как на самом деле правильно объявлять значения переменных и производить их присваивание.  Какой способ лучше использовать в моем случае: массив, date() или case для получения корректного результата?

Помогите мне объяснить, почему мое решение не отображается должным образом. И какая разница между двойными кавычками и одинарными кавычками, потому что иногда я сталкиваюсь с целым кодом, который использует только одинарные кавычки, а иногда как совокупность с одинарными и двойными кавычками. В чем разница? 

 

Ответ 1

Вам нужно добавить двойные кавычки к строке в паре ключ-значение, а затем вернуть дни с их позицией.

<?php 

function day_of_week($day){

           $week = array(0 => "Воскресенье", 1 => "Понедельник", 2 => "Вторник", 3 => "Среда", 4 => "Четверг", 5 => "Пятница", 6 => "Суббота");

            return $week[$day];

        }

 

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

            $value = $_POST['value'];

            echo "День недели - " . day_of_week($value);

        }

?>

 <form method="POST" action="">

        <label>Введите значения дня между (0-6):</label>

        <input type="text" name="value">

        <input type="submit">

    </form>

  

Ответ 2

Измените функцию так

 function day_of_week($x){

           $week = array(0 => Воскресенье, 1 => 'Понедельник', 2 => 'Вторник', 3 => 'Среда', 4 => 'Четверг', 5 => 'Пятница', 6 => 'Суббота');

            return $week[$x];

        }

Не забудьте заполнить элемент action в вашей форме.

<form method="post" action='<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>'>

Схожие статьи

Mobile First индекс Google: все о последнем тренде SEO-оптимизации
Web

Mobile First индекс Google: все о последнем тренде SEO-оптимизации

Web

Принудительная загрузка файла на php с помощью header()

Web

Как вставить карту на сайт HTML, как сделать это просто по шагам

Как создать грамотное оформление страницы 404 на собственном сайте
Web

Как создать грамотное оформление страницы 404 на собственном сайте