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"]);?>'>

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

Web

Что такое stdClass в PHP?

Web

Получение полного URL-адреса в PHP

Какой выбрать CDN для сайта. Оптимизируем скорость загрузки
Web

Какой выбрать CDN для сайта. Оптимизируем скорость загрузки

Можно ли заменить Google Play: лучшие бесплатные аналоги Гугл Плей
Web

Можно ли заменить Google Play: лучшие бесплатные аналоги Гугл Плей