Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
12 / 12 / 1
Регистрация: 16.07.2012
Сообщений: 754
1

Как сократить php-код вывода сообщения

31.10.2018, 17:50. Показов 1321. Ответов 6

Author24 — интернет-сервис помощи студентам
Добрый день.
Как сократить php-код вывода сообщения?
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
    if( isset( $_POST['nazvanie_knopki_1'] ) )
    {
       echo 'Кнопка 1 нажата!';
    }
    
    if( isset( $_POST['nazvanie_knopki_2'] ) )
    {
        echo 'Кнопка 2 нажата!';
    }
    
    if( isset( $_POST['nazvanie_knopki_3'] ) )
    {
        echo 'Кнопка 3 нажата!';
    }
    
    if( isset( $_POST['nazvanie_knopki_4'] ) )
    {
        echo 'Кнопка 4 нажата!';
    }
?>
<form method="POST">
    <input type="submit" name="nazvanie_knopki_1" value="Нажмите 1" />
    <input type="submit" name="nazvanie_knopki_2" value="Нажмите 2" />
    <input type="submit" name="nazvanie_knopki_3" value="Нажмите 3" />
    <input type="submit" name="nazvanie_knopki_4" value="Нажмите 4" />
</form>
Заранее благодарен за ответ.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.10.2018, 17:50
Ответы с готовыми решениями:

Как сократить код php?
Доброе время суток!Создаю таблицу (модуль joomla) , в которой будут выводиться по по горизонтали и...

Как сделать чтобы при нажатии на чек бокс внизу сообщения не выводились(сотрите вложение плиз) вот етот php скрипт вывода сообщений
Как сделать чтобы при нажатии на чек бокс внизу сообщения не выводились(сотрите вложение плиз) вот...

Слишком длинный типовой код в UserForm VBA. Как сократить код?
Программа выдает ошибку о слишком длинном коде. 1. Есть форма, в форме Multipage с 30 вкладками,...

Как отсортировать и сократить на php
Дано ФИО (полностью) пятерых людей. Представить их инициалы и расположить их в алфавитном порядке...

6
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
31.10.2018, 18:47 2
PHP
1
2
3
4
5
6
foreach (range(1, 4) as $i) {
    if( isset( $_POST['nazvanie_knopki_'.$i] ) ) {
        echo "Кнопка $i нажата!";
        break;
    }
}
1
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
31.10.2018, 19:01 3
Лучший ответ Сообщение было отмечено alanat как решение

Решение

PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
    if ('POST' === $_SERVER['REQUEST_METHOD']) {
        $value = filter_input(INPUT_POST, 'submit', FILTER_VALIDATE_INT);
 
        if (false !== $value) {
           echo 'Кнопка ', $value, ' нажата!';
        }
    }
?>
<form method="POST">
    <button name="submit" value="1">Нажмите 1</button>
    <button name="submit" value="2">Нажмите 2</button>
    <button name="submit" value="3">Нажмите 3</button>
    <button name="submit" value="4">Нажмите 4</button>
</form>
1
12 / 12 / 1
Регистрация: 16.07.2012
Сообщений: 754
31.10.2018, 21:13  [ТС] 4
Цитата Сообщение от Para bellum Посмотреть сообщение
echo 'Кнопка ', $value, ' нажата!';
Если нажать на кнопку, например, "Нажмите 1", то после обновления страницы надпись "Кнопка 1 нажата!" останется. Как сделать так, чтобы после обновления страницы надпись исчезала (будто страницу открыли в первый раз)?
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
31.10.2018, 22:09 5
[PHP]
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
session_start();
$buttons = array_keys(range(1, 4));
if ('POST' === $_SERVER['REQUEST_METHOD']) {
    $value = filter_input(INPUT_POST, 'submit', FILTER_VALIDATE_INT);
    if (false !== $value && array_key_exists($value, $buttons)) {
        $_SESSION['button'] = $value;
    }
    header("Location: {$_SERVER['REQUEST_URI']}");
    exit();
}
if (array_key_exists('button', $_SESSION)) {
    echo "Кнопка {$_SESSION['button']} нажата!"
    unset($_SESSION['button']);
}
?>
<form method="POST">
    <?php foreach ($buttons as $button => $_): ?>
        <button name="submit" value="<?= $button ?>">Нажмите <?= $button ?></button>
    <?php endforeach ?>
</form>
1
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
01.11.2018, 07:11 6
Jewbacabra, а почему бы вместо
PHP
1
$buttons = array_keys(range(1, 4));
не написать:
PHP
1
$buttons = range(0, 3);
?
А ещё лучше диапазон указать 1..4, чтобы не было "нулевой" кнопки.
1
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
01.11.2018, 10:16 7
Para bellum, потому что там должен быть array_flip и тогда будут ключи от 1 до 4
0
01.11.2018, 10:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.11.2018, 10:16
Помогаю со студенческими работами здесь

Как сократить код?
У меня есть объект Worker и 6 экземпляров этого объекта. Нужно с новой строчки выводить все...

Как сократить код
Имеется вот такой код. Думается мне что записываться как то покороче может. Подскажите решение...

Как сократить код?
Пишу игру в которой есть 144 кнопки выходит вот такой код, как сделать его короче, может функцию...

Как сократить код
Пример написаного кода 'RAD 1 'A mm ///////////////////////////////// 'B1R1A If...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru