我搜索过,我找不到自己的错,
我想在textarea中显示$content
。我也尝试将它放入value属性,但这也不起作用。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<?php
$search = array('foo','bar','foobar');
$replace = array('f**','b**','f**b**');
if (isset($_POST['cencor']) &&! empty($_POST['cencor'])){
$content = $_POST['cencor'];
}
?>
<form action="findstring.php" method="post">
<textarea name="cencor" rows="10" cols="80"><?php echo $content ?></textarea><br><br>
<input type="submit" value="submit">
</form>
</body>
</html>
答案 0 :(得分:2)
加载页面后,您应该在<textarea>
中收到以下错误:
<b>Notice</b>: Undefined variable: content in <b>/path/to/file.php</b> on line <b>x</b><br />
然而,您并未检查错误。
您需要做的是在其中使用条件语句作为$content
变量。
旁注:那里缺少的分号是完全有效的,因为之后没有传递进一步的(PHP)指令,所以让我们失去这种误解(在评论中)。
但是,如果在使用以下内容时存在条件语句,则需要它:
if(isset($content)){ echo $content }
并且会失败,因为它正在寻找陈述的结尾&#34;并抛出以下内容:
解析错误:语法错误,意外&#39;}&#39;,期待&#39;,&#39;或&#39;;&#39;在...
目前还不清楚你真正想在这里使用阵列做什么,所以我无法帮助你。
另一个旁注:
&&! empty
是有效的,但为了论证,我使其更具可读性&& !empty
。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
$search = array('foo','bar','foobar');
$replace = array('f**','b**','f**b**');
if (isset($_POST['cencor']) && !empty($_POST['cencor'])){
$content = $_POST['cencor'];
}
?>
<form action="findstring.php" method="post">
<textarea name="cencor" rows="10" cols="80"><?php if(isset($content)){ echo $content; } ?></textarea><br><br>
<input type="submit" value="submit">
</form>
</body>
</html>
<强>脚注:强>
此条件声明:
if (isset($_POST['cencor']) && !empty($_POST['cencor']))
可以简化为:
if (!empty($_POST['cencor']))
没有必要使用isset()
,因为!empty()
足够了。
补充说明:
为了避免未定义的变量通知,您可以完成以下操作并分配&#34;没有&#34;到$content
变量,这是完全有效的:
$search = array('foo','bar','foobar');
$replace = array('f**','b**','f**b**');
if (isset($_POST['cencor']) &&! empty($_POST['cencor'])){
$content = $_POST['cencor'];
}
$content = "";
结束说明:
如果此处的目标是保留在浏览器会话期间输入<textarea>
的值并且用户在整个网站中导航的值,那么这就是您需要使用的内容在这里,会话。
例如:
PHP:
if(!empty($_POST['cencor'])){
$_SESSION['var'] = $_POST['cencor'];
$_POST['cencor'] = $_SESSION['var'];
}
HTML:
<textarea name="cencor" rows="10" cols="80"><?php if(isset($_SESSION['var'])){ echo $_SESSION['var']; } ?></textarea>
NOTA:如果这个答案没有解决你想要达到的目标,你需要详细说明你的问题。