$ _POST и манипулирование кодом

0

Я хочу захватить значение поля с помощью $ _POST, манипулировать им, а затем передать значение обратно на ту же страницу в том же поле, прежде чем код PHP будет манипулировать им.

Если я положу PHP-код после поля, он будет манипулировать кодом, перезагружает страницу, но не возвращает управляемый код обратно в поле.

    if (!isset($input)) {
        $input = '';
    }   

    echo '<form id="testform" method="post" action="">';
    echo '<input type="text" name="inputText" value="' . $input . '">';
    echo '<button type="submit" name="button"> Button </button>';
    echo '</form>';

    $input = $_POST['inputText'];

    if(isset($_POST['inputText'])) {
        $input = $input . ' manipulated';
    }

    echo $input; //test

Если я поставил PHP-код перед полем, он не сможет найти поле для манипулирования значением...

    if (!isset($input)) {
        $input = '';
    }

    $input = $_POST['inputText'];

    if(isset($_POST['inputText'])) {
        $input = $input . ' manipulated';
    }

    echo $input; //test

    echo '<form id="testform" method="post" action="">';
    echo '<input type="text" name="inputText" value="' . $input . '">';
    echo '<button type="submit" name="button"> Button </button>';
    echo '</form>';

Очевидно, что первый подход более правилен, но как передать переменную $input в поле до того, как остальная часть моего кода манипуляции с PHP выполняется?

Я пробовал $_POST['inputText'] = $input как отчаянную попытку, но ничего..

Теги:
post

2 ответа

1
Лучший ответ

Ну, из того, что я понял в вашем объяснении, вы хотите изменить входное значение на что-то еще и показать его в том же поле. Если это правильно, вы можете сделать это:

<form id="testform" method="post" action="">
    <input type="text" name="inputText" value="<?php echo ( isset($_POST['inputText']) ) ? sprintf( '%s manipulated', $_POST['inputText'] ) : ''; ?>">
    <button type="submit"> Send </button>
</form>

Дайте мне знать, если вы этого хотели. С уважением !

  • 0
    Получил, что работает, но у меня есть другая проблема, я создам другой вопрос.
  • 0
    Это также научило меня пользоваться троичным оператором - после некоторой первоначальной путаницы.
0

Пытаться

$input = isset($_POST['inputText'])?$_POST['inputText'] :'';

в начале, а не в

if (!isset($input)) {
    $input = '';
}
  • 0
    Какое отношение сеансы имеют к этому?
  • 2
    oO, что экспликация снесла меня.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню