[英]Can't reach PHP variable in if statement
我的以下代码有问题。 变量$ houseid在第二个if语句中显示为空,但可以在第一个if语句中调用。 我需要在第二个if语句中达到$ houseid变量。 我已经在两个if和第一个之外对它进行了测试,它似乎在两个中都可以正常工作。
$landlordid = $_SESSION['landlordid'];
$con = mysqli_connect("mysql1616int.cp.blacknight.com","***","***","***"); // Connect to the MySQL server
$mysql = mysqli_query($con, "SELECT * FROM houseInfo WHERE landlordID = '{$landlordid}'");
echo '<form method="POST" action=""><select name="pickhouseid">';
while($row = mysqli_fetch_array($mysql)){
echo '<option value="' . $row['houseID'] . '">'. $row['housename'] . '</option>';
}
echo '</select>
<input type="submit" name="houseselect" value="Select">
</form>';
echo "<br>";
$houseid = $_POST['pickhouseid']; ///where house is set.
if(isset($_POST['houseselect'])){
echo "<form method='POST' action=''><select name='services'><option value='gas1'>Gas Reading</option>
<option value='water1'>Water Reading</option><option value='elec1'>Electricity Reading</option>
</select><input type='submit' value='Select'></form>";
echo "<br>";
echo $houseid; /// returns correct value
}
if (($_POST['services']) == 'gas1') {
echo "something";
echo $houseid; ///doesn't work, appears as empty.
}
任何人都可以帮助解决这个问题吗? 谢谢。
表单仅提交此表单中的内容,而不提交页面上另一表单中的内容。
$houseid
(在您的最后一个if中)现在应该为NULL
因此回显它应该什么也不输出。
因此,将有关$houseid
的信息添加到另一种形式中。 $_POST
数据不会通过多个请求传递。
echo "<form method='POST' action=''><select name='services'><option value='gas1'>Gas Reading</option>
<option value='water1'>Water Reading</option><option value='elec1'>Electricity Reading</option>
</select><input type='submit' value='Select' />
<input type='hidden' value='$houseid' name='houseid' /> <!-- here was added -->
</form>";
哇,有可能吗? 我看不出为什么$ houseid应该返回空,除非条件返回false,尝试在if语句块中回显其他内容(字符串),看看是否出现,我真的认为if语句无论如何都返回false。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.