将PHP嵌入HTML 名称:
代码工作正常,但由于某些原因,textarea中的文本显示此错误将PHP嵌入HTML 名称:,php,html,textarea,embedding,Php,Html,Textarea,Embedding,代码工作正常,但由于某些原因,textarea中的文本显示此错误 注意:未定义变量:第29行C:\xampp\htdocs\form3.php中的句子 请提供帮助。您可以使用不同的选项解决此问题: 1-在页面顶部定义$句子,例如: <?php If ( isset ($_POST['name'] ) ) { $name = $_POST['name']; if (!empty ($name)) { $sentence = $name . "
注意:未定义变量:第29行C:\xampp\htdocs\form3.php中的句子
请提供帮助。您可以使用不同的选项解决此问题: 1-在页面顶部定义
$句子
,例如:
<?php
If ( isset ($_POST['name'] ) ) {
$name = $_POST['name'];
if (!empty ($name)) {
$sentence = $name . " is the best footballer of his generation. ";
} else {
echo "Please enter a name";
}
}
?>
<html>
<head>
</head>
<body>
<!-- ********************************** -->
<form action="form3.php" method="POST">
Name: <input type="text" name="name"><br>
<input type="submit" value="Send">
</form>
<textarea rows="7" cols="30"> <?php echo $sentence; ?> </textarea>
</body>
</html>
2-或在打印前使用isset($句子):
$sentence = '';
$语句只有在该语句为true时才会初始化:
如果(!empty($name)){
为避免此错误,请在if语句上方放置
$SENTURE=“”;
。这是一个范围问题。仅当表单已提交时,您才定义$SENTURE
;但无论如何都要显示它。请尝试在if
语句之前将其初始化为空字符串。是否确定$\u POST['name']
isset?人们在提供解决方法时没有明确解释错误。您不必在PHP中声明变量,但在引用变量之前必须为变量赋值。当前的问题与范围有关,但这不是主要原因(如果不满足条件,则仍然不会为其赋值)。这实际上根本不是一个范围问题-PHP没有块级范围。您只需要在PHP的开头定义$SENTURE
,给它一个初始值,以便以后可以参考。我从您的第一条评论中理解了这个问题。我在第一个答案中使用了第一个选项,并定义了$SENTURE I在PHP的开始,它起作用了。Thanx。我指的是第一个选项。为什么第一个选项会更好?在更大的应用程序中,你不一定需要数百个甚至数千个变量声明为空字符串。也许对于这一点,但总体上速记PHP更好。
<?php echo isset($sentence)? $sentence : ''; ?>