我是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;
process.php
<?php
$lang = $_POST['language'];
if (isset($lang)) {
echo $lang;
}
else {
echo 'Buzz off';
}
?>
&#13;
虽然显示错误如:
注意:未定义的索引:语言在 第2行的/Applications/XAMPP/xamppfiles/htdocs/process.php
请帮助:)
答案 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);
}
}
}