这是什么意思?致命错误:在写上下文中不能使用函数返回值

时间:2017-06-16 12:19:41

标签: php html forms

遇到PHP错误

  

严重性:编译错误
  消息:在写入上下文中不能使用函数返回值
  行号:116
  floor($ BudgetPerPerson)= $ TotalBudget / $ NumberOfPeople;

label class="heading">How much is your budget? :</label>
<br><br>
<input name="TotalBudget" placeholder="Budget " class="form-control" type="text">
<br><br>
</center>
<!----- Including PHP Script ----->
<label class="heading">How many guest do you intend to invite? :</label>
<br><br>
<input name="NumberOfPeople" placeholder="Number Of People" class="form-control" type="text"><br><br>
</center>
<input type="submit" name="submit" Value="Submit"/>
<!----- Including PHP Script ----->

 <?php
  

这部分我认为是错误的

$TotalBudget= ($_POST['Budget']);
    $people = ($_POST['NumberOfPeople']);
    $BudgetPerPerson  = $TotalBudget / $people;
//Calculate the Budget Per Person
  
$BudgetPerPerson = floor($TotalBudget / $NumberOfPeople);



//The $BudgetPerPersonmust now fit a package price
if($BudgetPerPerson == "17") {
echo "You have Package A";
}
elseif($BudgetPerPerson == "19") {
echo "You have Package B";
}
if($BudgetPerPerson == "22") {
echo "You have Package C";
}
if($BudgetPerPerson == "20") {
echo "You have Package D";
}
if($BudgetPerPerson == "25") {
echo "You have Package E";
}
//Since Package D is the most expensive, if the $BudgetPerPerson is equal to or higher than 20 it will automatically select Package D
elseif($BudgetPerPerson >= "27") {
echo "You have Package F";
}
else {
//This code will execute when the price per package is too low
echo "The amount of people is too high for the budget, please increase your budget or reduce the number of people to receive a package quotation.";
}else {
//Calculate the Difference between the lowest package price and the offered price
ceil($Difference) = ((17 - $BudgetPerPerson) * $NumberOfPeople)
//This code will execute when the price per package is too low
echo "Your budget is too low for the amount of people. Please increase your budget by: $" . $Difference . " to be able to reserve a package";
}

?>

2 个答案:

答案 0 :(得分:3)

你需要用不同的方式写出来:

$BudgetPerPerson = floor($TotalBudget / $NumberOfPeople);

关于第二个问题,这里是错误:

$TotalBudget= ($_POST['Budget']);
$people = ($_POST['NumberOfPeople']);
$BudgetPerPerson  = $TotalBudget / $people;
//Calculate the Budget Per Person

$BudgetPerPerson = floor($TotalBudget / $NumberOfPeople);

您的变量名为$people,而不是$NumberOfPeople

像这样改变:

$TotalBudget= ($_POST['Budget']);
$people = ($_POST['NumberOfPeople']);
//Calculate the Budget Per Person
$BudgetPerPerson  = floor($TotalBudget / $people);

答案 1 :(得分:0)

您使用作业左侧的功能。