次のコードに問題があります。変数 $houseid は、2 番目の if ステートメントでは空として表示されますが、最初の if ステートメントでは呼び出すことができます。2 番目の 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.
}
誰でもこの問題を解決できますか? ありがとうございました。