0

我对以下代码有问题。变量 $houseid 在第二个 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.
    }

任何人都可以帮助解决这个问题吗?谢谢你。

4

2 回答 2

3

表单仅提交此表单中的内容,而不提交页面上另一个表单中的内容。

$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>";
于 2013-04-23T12:39:12.143 回答
0

哇,这可能吗?我看不出为什么 $houseid 应该返回空,除非条件返回 false,尝试在 if 语句块中回显其他内容(字符串)并查看它是否出现,我真的认为 if 语句无论如何都返回 false。

于 2013-04-23T12:39:57.453 回答