我需要基于php表单中的输入的特定输出

我需要基于php表单中的输入的特定输出,php,html,Php,Html,我需要根据用户的输入显示特定的文本 例如:如果用户输入橙色,我需要输出为橙色,橙色有利于健康, 如果输入是苹果,我希望它是苹果是红色的 抱歉,如果问题太简单,我对php非常陌生 我的html代码: <form method="post" action="tips.php" style="float: left; margin: 25px; font-size:300%;"> Name: <input type=

我需要根据用户的输入显示特定的文本 例如:如果用户输入橙色,我需要输出为橙色,橙色有利于健康, 如果输入是苹果,我希望它是苹果是红色的

抱歉,如果问题太简单,我对php非常陌生

我的html代码:

<form method="post" action="tips.php" style="float: left; margin: 25px; font-size:300%;">  
  Name: <input type="text" name="name">
  <br><br>
  <center><input type="submit"></div></center>
</form>

姓名:


我的php代码:

<?php
$t = echo $_POST["name"];

if ($t =="Apple") {
  echo "Apples are red";
} 
if ($t =="Oranges") {
  echo "Oranges are good";
} 

?>

echo
函数返回类型无效,从逻辑上讲,从
$\u POST

<?php

header('Content-Type: text/plain'); // set correct mime-type

$name = $_POST["name"];

if ($name =="Apple") {
  echo "Apples are red";
} 
elif ($name =="Oranges") {
  echo "Oranges are good";
}
else {
  // Always send back some response:
  echo "I did not recognize your input.";
}

如前所述,
echo
返回void(未返回任何内容),这意味着您将
$t
分配给了nothing。从变量赋值中删除
echo

$t=$\u POST['name']

此外,最好使用可理解的变量名,字母t对我来说没有太多意义,而是按照建议使用例如
$name

$name=$\u POST['name']

此外,您要多次检查相同的值,最好是这样

switch($name) {
  case 'Apple':
    echo "Apples are red";
    break;
  case 'Oranges':
    echo "Oranges are good";
    break;
  default:
    echo "You entered something else";
    break;
}

您不需要那里的
echo
。只需将变量
$t
设置为POST值
$t=$\u POST['name']
$t=echo$\u POST[“name”];=>$t=$_POST[“name”];您应该添加一个
标题('Content-Type:text/plain')if
语句之前的code>语句,并解释为什么。POST或GET,是否由他修改?我可以把它放在一个if语句中,但这意味着修改他的问题的上下文。真的不知道为什么我们需要显式地设置它。返回的不是有效的HTML文档,而是纯文本。如果没有我建议的显式header语句,PHP将返回一个mime类型为“text/html”的header,它与实际输出不匹配。还可以指出代码中的其他错误,例如OP应该使用if-else语句。