我想使用$ _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
作为绝望的尝试,但没有......
答案 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 = '';
}