未定义的变量,即使使用isset

问题描述:

我一直试图解决这个问题我的2天现在,我想不出任何其他事情了。
行126,129和132上的未定义变量。
我一直试图使用isset或empty来获得输出,但它似乎不工作。

希望你们能帮助我:)未定义的变量,即使使用isset

<body> 
    <head> 
     <script src="js/jquery.js"></script> 
     <script src="js/bootstrap.min.js"></script> 
     <script src="js/smoothscroll.js"></script> 
     <script src="js/resetOnClick.js"></script> 

     <link href="css/bootstrap.min.css" rel="stylesheet"/> 
     <link href="css/styles.css" rel="stylesheet"/> 
     <link href="css/notifbox.css" rel="stylesheet"/> 
    </head> 

    <center><label class="control-label" style="font-size:30px">Reservation</label></center> 
    <center><label class="control-label" style="font-size:15px">Edit Record</label></center> 
    <br/> 
    <br/> 

    <?php 
    //$id = isset($_GET['id'])? $_GET['id'] : ""; 
    if(isset($_POST['editreservation'])) 
    { 
     include('config/config1.php'); 
     $rsvtn = $_POST['editreservation']; 
     $sel = "SELECT venue.venue_type, reservation.reservation_date, reservation.reservation_time 
     FROM venue 
     INNER JOIN reservation ON reservation.Venue_idVenue = venue.idVenue where idReservation = '2';"; 
     $query = mysqli_query($conn,$sel); 
     echo $sel; 
     if(!$editreservation) 
{ 
    printf("Error: %s\n", mysqli_error($conn)); 
    exit(); 
} 

     while($detail = mysqli_fetch_array($query)) 
     { 
      $rid = $detail['idReservation']; 
      $ven = $detail['venue_type']; 
      $res_t = $detail['reservation_date']; 
      $res_d = $detail['reservation_time']; 
      echo $ven; 
    ?> 

    <form class="form-horizontal form-label-left" method="post"> 

     <div class="form-group"> 
       <!--BACK Button--> 
       <a href="Reservation Records.php" class="col-md-6 col-md-offset-3" style="font-size:20px">Back</a> 
       <!--BACK Button--> 
     </div> 
     <!--<input type="hidden" name="submitted" value="true"/>--> 
      <div class="item form-group"> 
       <label class="control-label col-md-3 col-sm-3 col-xs-12">Venue<span class="required">*</span></label> 
        <div class="col-md-6 col-sm-6 col-xs-12"> 
         <input id="venue_type" data-content="<?php echo $ven;?>" class="form-control col-md-7 col-xs-12" name="venue_type" placeholder="Venue" required="required" type="text" value="<?php echo $ven;?>"> 
        </div>   
      </div> 

      <div class="item form-group"> 
       <label class="control-label col-md-3 col-sm-3 col-xs-12" for="name">Reservation Date<span class="required">*</span> 
       </label> 
       <div class="col-md-6 col-sm-6 col-xs-12"> 
        <input id="reservation_date" data-content="<?php echo $res_d;?>" class="form-control col-md-7 col-xs-12" name="reservation_date" placeholder="Reservation Date" required="required" type="date" value="<?php echo $res_d;?>"> 
       </div> 
      </div> 

      <div class="item form-group"> 
       <label class="control-label col-md-3 col-sm-3 col-xs-12" for="name">Reservation Time<span class="required">*</span></label> 
       <div class="col-md-6 col-sm-6 col-xs-12"> 
        <input id="reservation_time" data-content="<?php echo $res_t;?>" class="form-control col-md-7 col-xs-12" name="reservation_time" placeholder="Reservation Time" required="required" type="time" value="<?php echo $res_t;?>"> 
       </div> 
      </div> 



      <div class="ln_solid"></div> 
      <div class="form-group"> 
       <div class="col-md-6 col-md-offset-3"> 
        <input type="hidden" name="updRsvtn" value="<?php echo $detail['idReservation'];?>"> 
        <input type="submit" class="btn btn-primary submits" value="Save Edited" onClick="Reservation Records.php" > 
       </div> 
      </div> 
      <?php 
     } 
    } 
    ?> 
    <?php 
    if(isset($_POST['updRsvtn'])) 
     { 
      include('config/config1.php'); 



      $ven = $_POST['venue_type']; 
      $res_d = $_POST['reservation_date']; 
      $res_t = $_POST['reservation_time']; 



      if(!mysqli_query($conn,"UPDATE reservation, venue SET venue_type = '$ven', reservation_date = '$res_d', reservation_time = '$res_t' WHERE idReservation = '$id'")) 
      { 
       echo "Not Queried: Wrong variables !"; 
      } 
      else 
      { 
       header("Location: Reservation Records.php"); 

      } 
      mysqli_close($conn); 
     } 
    ?> 
    </form> 

    <table class = "notif pos"> 
     <thead> 
     <tr> 
      <th><center/><b>*Old Record</b></th> 
     </tr> 
     </thead> 

     <tbody> 
     <tr> 
      <td><center/><?php echo $ven;?></td> 
     </tr> 
     <tr> 
      <td><center/><?php echo $res_d;?></td> 
     </tr> 
     <tr> 
      <td><center/><?php echo $res_t;?></td> 
     </tr> 
     </tbody> 
    </table> 


</body> 

+2

请指定代码中的哪些行是126,129和132? – RK12

+0

126 is​​

+1

您似乎无法理解问题。在那一行上,该变量不存在。为什么它不存在?因为你之前没有定义过它。为什么之前没有定义?因为所有'if'和'while'条件取决于'false'的位置,它从来没有被声明过。找出原因,并/或改变你的逻辑以确定它的定义,并且/或者当它没有被定义时不试图输出它。 – deceze

一个未定义的变量时,我想$editreservation的。如果我们看一些剪断代码的执行以下操作:

if(isset($_POST['editreservation'])){ 
    //$_POST['editreservation'] is set! 
    $rsvtn = $_POST['editreservation']; 
    //$rsvtn is set 
    if(!$editreservation){ 
     //$editreservation has *not* been set by your code. 
    } 
} 

因为$editreservation尚未宣布任何地方,你得到不确定的变量通知。

变量在该点(范围)未被“设置”。 如果你只是想传递一个错误,请尝试:

<td><center/><?php echo isset($ven) ? $ven : '' ?></td> 
<td><center/><?php echo isset($res_d) ? $res_d : '' ?></td> 
<td><center/><?php echo isset($res_t) ? $res_t : '' ?></td> 
+0

由于没有涉及单个'函数',因此范围不成问题。 – deceze

,如果你想避免错误

<tr> 
    <td><center/><?php echo @$ven; ?></td> 
</tr> 
<tr> 
    <td><center/><?php echo @$res_d; ?></td> 
</tr> 
<tr> 
    <td><center/><?php echo @$res_t; ?></td> 
</tr> 

现在用你的代码替换上面的部分,并检查试试这个。