回应其他

时间:2018-03-20 18:00:38

标签: php

我是PHP的新手,而且我一周以前一直在学习PhP,所以请耐心等待。

虽然如果POST请求中的任何变量不同或未设置,我试图回显一个else语句。



<form action="process.php" method="POST">
<p> <input type="radio" name="language" value="PHP"> PHP <br>
<input type="radio" name="language" value="RUBY"> RUBY <br>
<input type="radio" name="language" value="HTML"> HTML	 <br>
 </p>
<input type="Submit" value="Submit">
</form>
&#13;
&#13;
&#13;

process.php

&#13;
&#13;
<?php
$lang = $_POST['language'];
if (isset($lang)) {
	echo $lang;
}
else {
	echo 'Buzz off';
}

?>
&#13;
&#13;
&#13;

虽然显示错误如:

  

注意:未定义的索引:语言在   第2行的/Applications/XAMPP/xamppfiles/htdocs/process.php

请帮助:)

1 个答案:

答案 0 :(得分:2)

您尝试获取未定义的数组索引并将其放入变量中,这将引发异常。
在尝试将数组键isset放入变量之前,应检查数组键if ($_POST['language']) { $lang = $_POST['language']; echo $lang; } else { echo 'Buzz off'; } ,如下所示:

$lang = $_POST['language'] ?? 'Buzz off';
echo $lang;

如果您使用的是PHP7,则可以使用Null coalescing operator

 public class Card 
 {
    public int CardId { get; set; }
    public string CardTitle { get; set; }

    public virtual ICollection<CardLayout> CardLayouts { get; set; }

    [NotMapped]
    public IEnumerable<Layout> Layouts
    {
       get
       {
         return this.CardLayouts.Select(cl => cl.Layout);
       }
    }
 }