大家好我试图创建一个拖放页面,我想在重新加载时维护floor_id。
我在点击按钮时从上一页获取floor_id,并且我将其添加到会话中,以便下次页面重新加载时不会出现任何错误。
但是当我从上一页中选择其他选项时,会话中存储的值相同,则不会使用post方法分配值。任何人都可以提供一些想法。
此页面是我从中获取所选ID。
?>
<form action="rooms.php" method="post">
<select name="fl_type" id="ft" >
<option value=0>Select Floor</option>
<?php
while($row=mysqli_fetch_row($result))
{
?>
<option value="<?php echo $row[2];?>"><?php echo $row[2];}?></option>
<input type="submit" name="room" value="generate" />
</form>
<br />
</body>
我在这里获取代码并获取ID。
<?php
$i=0;
require("config.php");
$id=$_SESSION['restid'];
if(isset($_SESSION['ft'])){
$ft=$_SESSION['ft'];
$query="select floor_id,width,height from floor_m where floor_type='".$ft."' and rest_id='".$id."'";
$res1=mysqli_query($con,$query);
$row1=mysqli_fetch_row($res1);
$fd=$row1[0];
$w=$row1[1];
$h=$row1[2];
//echo $fd;
$query2="select room_as_id,width,height,start_x,start_y,room_id,room_type_id from room_m where floor_id='".$fd."'";
//echo $query2;
$res2=mysqli_query($con,$query2);
while($row2=mysqli_fetch_row($res2))
{
$room_type_id=$row2[6];
$query3="select room_type from room_type where room_type_id='".$room_type_id."'";
$res3=mysqli_query($con,$query3);
$row3=mysqli_fetch_row($res3);
$room='room_id'.$i;
$width='width'.$i;
$height='height'.$i;
$start_x='x'.$i;
$start_y='y'.$i;
$room_id='room'.$i;
$room_type='roomt'.$i;
$response[$room]=$row2[0];
$response[$width]=$row2[1];
$response[$height]=$row2[2];
$response[$start_x]=$row2[3];
$response[$start_y]=$row2[4];
$response[$room_id]=$row2[5];
$response[$room_type]=$row3[0];
//echo $response[$room_id];
$i++;
/*echo '<script>var data1 = '.json_encode($row2[0]).';var data2 = '.json_encode($row2[1]).';var data3 = '.json_encode($row2[2]).';var data4 = '.json_encode($row2[3]).';var data5 = '.json_encode($row2[4]).';//
</script>*/
}
$i--;
$response['count']=$i;
echo '<script> var data='.json_encode($response).'</script>';
$wd=500/$w;
$_SESSION['wd']=$wd;
$_SESSION['ft']=$ft;
$_SESSION['fid']=$fd;
echo '<script>var pf = '.json_encode($_SESSION['wd']).';
var ft='.json_encode($_SESSION['ft']).';
var fid='.json_encode($_SESSION['fid']).';</script>';
$ht=$h*$wd;
}
else{
$ft=$_POST['fl_type'];
//echo $ft;
}
$sql="select width,height,floor_id from floor_m where floor_type='".$ft."' and rest_id='".$id."'";
//echo $sql;
$res=mysqli_query($con,$sql);
$row=mysqli_fetch_row($res);
$w=$row[0];
$h=$row[1];
$fid=$row[2];
$wd=500/$w;
$wd=round($wd);
//echo $wd;
$_SESSION['wd']=$wd;
$_SESSION['ft']=$ft;
$_SESSION['fid']=$fid;
echo '<script>var pf = '.json_encode($_SESSION['wd']).';
var ft='.json_encode($_SESSION['ft']).';
var fid='.json_encode($_SESSION['fid']).';</script>';
$ht=$h*$wd;
//echo $wd,$ht;
?>
答案 0 :(得分:0)
要使用$_SESSION
变量,您需要在所有PHP脚本的顶部启动会话。这可以这样做:
session_start()
同样,它必须位于您打算使用$_SESSION
变量的每个PHP脚本的顶部。如果你不这样做,它会毫无错误地继续下去,但不会保存。