[英]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.