第3行的c:wamp/www/Hotel 18confirm_booking.php中的undefine索引:n


undefine index:no in c:/wamp/www/Hotel 18confirm_booking.php on line 3

错误:在第3行的c:''wamp/www/Hotel 18''confirm_booking.php中未定义索引:no。

    $roomno=$_GET['no'];
    include('connection.php');
    if(isset($_Request['btnconfirm']))
    {
    $cust=$_POST['custname'];
    $room=$_POST['custroom'];
    $ar=$_POST['arrv'];
    $dep=$_POST['depr'];
    $total=$_POST['total'];
    echo mysql_query("inserted into checkout(customer_name,room_no,arrival_time,departure_time,total,status) values('$cust','$room','$ar','$dep','$total','PAID')");
    mysql_query("update room_booking set status='Clear' where name='$cust' and roomNo='$room'");
 }
 ?>

注意:我从一个页面中引用了"no",它运行良好,但在提交表单时,仍然出现了与$_GET['no']相关的错误。我犯了什么错误?**

此行:

if(isset($_Request['btnconfirm']))

$_Requestsuperglobal,必须是大写的$_REQUEST

将其更改为:

if(isset($_REQUEST['btnconfirm']))

我建议您将mysqli_*与准备好的语句或PDO一起使用。mysql_*函数已弃用,并将从未来的PHP版本中删除。

目前,您对SQL注入持开放态度。

  • 阅读这篇关于如何防止SQL注入的文章

显然,查询字符串中没有传递"no",至少在某些时候是这样。