$ _POST和代码操作

时间:2014-12-09 20:25:59

标签: php post

我想使用$ _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>';

显然第一种方法更正确,但如何在执行其余PHP操作代码之前将$input变量传递给字段?

我尝试$_POST['inputText'] = $input作为绝望的尝试,但没有......

2 个答案:

答案 0 :(得分: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>

如果这就是您想要的,请告诉我。问候!

答案 1 :(得分:0)

尝试

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

在开头而不是

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