基本上我正在处理HTML和PHP文件的预订工具。每当我尝试在我的预订设施页面上提交表单时,表单就会将数据插入名为 M3_156020K_Syahri_SportFacility 的mysql数据库下名为 booking_facilities 的mysql表中。相反,它向我显示了这个错误:
注意:未定义的索引:第16行的活动
注意:未定义的索引:第17行的场地
MySQL数据库
BookFacilities.html
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="css/bookingfacilities/bookingfacilities_desktop.css">
<link rel="stylesheet" type="text/css" href="css/bookingfacilities/bookingfacilities_tablet.css" media="screen and (max-width:768px)">
<link rel="stylesheet" type="text/css" href="css/bookingfacilities/bookingfacilities_mobile.css" media="screen and (max-width:480px)">
<script src="js/bookfacilitiesvalidate.js"></script>
</head>
<body>
<div id="wrapper">
<header>
<nav id="mainMenu">
<img src="logo/logo.png" id="logo">
<ul>
<li><a href="home.html">Home</a></li>
<li><a href="about.html">About</a></li>
<li><a href="rates.html">Booking Rates</a></li>
<li><a href="facilities.html">Recreation</a></li>
</ul>
</nav>
</header>
<section id="banner">
<div id="ritu" class="shadow">
<img src="images/content_pure.jpg">
<img src="images/Sports-Hub-Gym.jpg">
<img src="images/gym.jpg">
<img src="images/ClubFitt2jpg.jpg">
</div>
</section>
<section id="content">
<div id="booking">
<div class="row">
<div class="image" style="background-color:black; color:white; font-weight:bold;">
<p style="padding-left:15px; padding-top:0px;">Booking Facilities</p>
</div>
<div class="image" style="background-color:white; color:black; font-weight:bold;">
<p style="padding-left:15px; padding-top:0px;">Booking Cart</p>
</div>
</div>
</div>
<div id="box">
<div class="user">
<form action="facilities.php" method="post" onsubmit="return validate();">
<p style="color:white; font-size:18px;">Activites</p>
<select name="activities" id="activities">
<option value="0">Select an activity</option>
<option value="1">Badminton</option>
<option value="2">Basketball</option>
<option value="3">Table Tennis</option>
<option value="4">Running Track</option>
<option value="5">Dancing</option>
<option value="6">Swimming Pool</option>
<option value="7">Soccer</option>
</select>
<p style="color:white; font-size:18px;">Venues</p>
<select name="venue" id="venue">
<option value="0">Select a venues</option>
<option value="1">Sports Field and Running Track</option>
<option value="2">Tennis Courts</option>
<option value="3">Dance / Aerobics Studios</option>
<option value="4">Indoor Sports Hall</option>
<option value="5">Multipurpose Rooms</option>
<option value="6">Indoor / Outdoor Swimming Pool</option>
</select>
</form>
</div>
<div class="user">
<form action="facilities.php" method="post" onsubmit="return validate();">
<p style="color:white; font-size:18px;">Days</p>
<select name="days" id="days">
<option value="0">All Days</option>
<option value="1">Sun</option>
<option value="2">Mon</option>
<option value="3">Tues</option>
<option value="4">Wed</option>
<option value="5">Thurs</option>
<option value="6">Fri</option>
<option value="7">Sat</option>
</select>
<p style="color:white; font-size:18px;">Date</p>
<input type="date" name="calendar" id="calendar"><br>
<input type="submit" name="searchbtn" value="Search" style="margin-top:20px;">
</form>
</div>
</div>
</section>
<footer>
<p>© Copyright 2016 SportLab. All Rights Reserved.</p>
<nav id="submenu">
<ul>
<li><a href="#">Sitemap | </a></li>
<li><a href="contact.html"> Contact |</a></li>
<li><a href="term.html">Term of Use </a></li>
<li><a href="privacy.html">| Privacy </a></li>
</ul>
</nav>
</footer>
</div>
</body>
</html>
facilities.php
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Booking Facilities</title>
</head>
<body>
<?php
if(isset($_POST["searchbtn"]))
{
$a=$_POST['activities']; <--- Line 16
$v=$_POST['venue']; <--- Line 17
$dy=$_POST['days'];
$dt= date('d-m-y',strtotime($_POST['calendar']));
$conn=mysqli_connect("localhost", "root", "" , "M3_156020K_Syahri_SportFacility");
$sql_insert = "INSERT into booking_facilities (activities, venue, day, date) values ('$a', '$v' , '$dy' , '$dt' )";
$result=mysqli_query($conn, $sql_insert);
if($result)
{
echo "Success";
}
else
{
echo "Failed";
}
}
?>
</body>
</html>
虽然day是插入mysql表但不是活动和场所。我无法弄清楚我的代码有什么问题。我怎么能修复它?
答案 0 :(得分:2)
检查以下一行:
<form action="facilities.php" method="post" onsubmit="return validate();">
<p style="color:white; font-size:18px;">Days</p>
<select name="days" id="days">
<option value="0">All Days</option>
<option value="1">Sun</option>
<option value="2">Mon</option>
<option value="3">Tues</option>
<option value="4">Wed</option>
<option value="5">Thurs</option>
<option value="6">Fri</option>
<option value="7">Sat</option>
</select>
<p style="color:white; font-size:18px;">Date</p>
<input type="date" name="calendar" id="calendar"><br>
<input type="submit" name="searchbtn" value="Search" style="margin-top:20px;">
</form>
此处, searchbtn 可在上述表单中使用,活动属于不同的表单。在
isset($_REQUEST['searchbtn'])
您无法访问activities
,因为它属于不同的表单。因此,请删除所有表单并将其设置为一个。
答案 1 :(得分:0)
使用一个表单提交所有字段
<form action="facilities.php" method="post" onsubmit="return validate();">
<!-- select for activities -->
<!-- select for venues -->
<!-- select for days -->
<!-- submit button -->
</form>
答案 2 :(得分:0)
在这里,您正在使用相同的操作初始化两个表单。因此,当您单击每个表单时,将提交该表单内的元素。但是当你收到请求时,你会尝试从两个表单中获取值,因此它会显示错误,
<form action="facilities.php" method="post" onsubmit="return validate();">
.....
</form>
根据您的需要使用以下代码, HTML文件
<div id="box">
<form action="facilities.php" method="post" onsubmit="return validate();">
<div class="user">
<p style="color:white; font-size:18px;">Activites</p>
<select name="activities" id="activities">
<option value="0">Select an activity</option>
<option value="1">Badminton</option>
<option value="2">Basketball</option>
<option value="3">Table Tennis</option>
<option value="4">Running Track</option>
<option value="5">Dancing</option>
<option value="6">Swimming Pool</option>
<option value="7">Soccer</option>
</select>
<p style="color:white; font-size:18px;">Venues</p>
<select name="venue" id="venue">
<option value="0">Select a venues</option>
<option value="1">Sports Field and Running Track</option>
<option value="2">Tennis Courts</option>
<option value="3">Dance / Aerobics Studios</option>
<option value="4">Indoor Sports Hall</option>
<option value="5">Multipurpose Rooms</option>
<option value="6">Indoor / Outdoor Swimming Pool</option>
</select>
</div>
<div class="user">
<p style="color:white; font-size:18px;">Days</p>
<select name="days" id="days">
<option value="0">All Days</option>
<option value="1">Sun</option>
<option value="2">Mon</option>
<option value="3">Tues</option>
<option value="4">Wed</option>
<option value="5">Thurs</option>
<option value="6">Fri</option>
<option value="7">Sat</option>
</select>
<p style="color:white; font-size:18px;">Date</p>
<input type="date" name="calendar" id="calendar"><br>
<input type="submit" name="searchbtn" value="Search" style="margin-top:20px;">
</div>
</form>
</div>
对插入使用相同的facilities.php
代码。这里不需要HTML文件中的HTML标签,因为您只是尝试使用此文件进行一些后端工作,然后重定向到另一个带有成功消息的页面。