使用从html表单到php的字符串和变量

使用从html表单到php的字符串和变量,php,html,string,syntax,if-statement,Php,Html,String,Syntax,If Statement,我一直在努力解决html和php中的一个问题。 在我的html中,我有一个表单标记,包括: <input type="text" name="car1" size="4" value="" /> car1 我试图找到一种方法,当用户没有在html的car1字段中输入任何内容时,echo$car1;将不打印任何内容或为空,但当用户输入内容时,$car1将回显我最喜欢的汽车是$car1 我尝试使用if(empty()和if(isset()但是由于某种原因,我在使它工作时遇到了问题 有什

我一直在努力解决html和php中的一个问题。 在我的html中,我有一个表单标记,包括:

<input type="text" name="car1" size="4" value="" /> car1
我试图找到一种方法,当用户没有在html的car1字段中输入任何内容时,echo$car1;将不打印任何内容或为空,但当用户输入内容时,$car1将回显我最喜欢的汽车是$car1

我尝试使用
if(empty()
if(isset()
但是由于某种原因,我在使它工作时遇到了问题

有什么好办法吗?谢谢你的帮助!

试试:

if ($_POST["car1"] !== "") {
    $car1 = "my favourite …";
} else {
    $car1 = "";
}
简单到:

if (!empty($_POST['car1'])) {
    echo 'my favorite car is ' . htmlentities($_POST['car1']);
}
查看哪些值被视为空。如果您想要更多的控制,请使用以下方法:

if (isset($_POST['car1']) && $_POST['car1'] !== '')
你应该

  • 在使用
    $\u POST
    中的键之前,请务必检查它们是否为
    !空的
    isset
  • 总是HTML转义用户为输出提供的数据
  • 使用标签:

    <input type="text" name="car1" size="4" id="car1Input" value="" />
    <label for="car1Input">car1</label>
    
    
    car1
    

唯一的小问题是
empty(“0”)
将计算为
true
…因此如果
car1
的值为
“0”
,将不会计算
$car1=…
。不知何故,字符串和变量之间没有那个点!谢谢帮助!@David我知道,手册上说了这一点,但对于这个例子,因为没有名为“0”的车这似乎是一个有效的回答,我使用海报提供的上下文来决定适当的方法,即如何写东西。正如我在Dagon的回答中指出的:唯一的小问题是
empty(“0”)
将计算为true…因此如果
car1
的值为
“0”
,将不会对
$car1=…
进行计算。@David,在这种情况下,请使用
isset
。这取决于您认为哪些值为“空”。您的答案的唯一一个小问题是,如果
$\u POST['car1']
不存在,它将抛出通知。:)啊,非常正确!当然,除非你足够专业,可以使用
error\u reporting=0
if (isset($_POST['car1']) && $_POST['car1'] !== '')
<input type="text" name="car1" size="4" id="car1Input" value="" />
<label for="car1Input">car1</label>
if(isset($_POST["car1"]))
    $car1 = "my favorite car is $_POST["car1"]";
else 
    $car1 = "";
return $car1 //if function or
echo $car1; //if general