我有一个包含文本字段,多个选项和日期,日期时间,时间字段的php表单,我想在提交表单时将日期,日期时间和时间字段设置为可选。怎么做。?仅插入值,输入日期,日期时间,时间字段。
Php代码
//获取变量
$checkout_date_input = $_POST['checkout_date_input'];
$checkout_time_input = $_POST['checkout_time_input'];
$arrival_date_time = $_POST['arrival_date_time'];
$arrival_flightno = $_POST['arrival_flightno'];
$departure_date_time = $_POST['departure_date_time'];
$departure_flightno = $_POST['departure_flightno'];
//插入SQL查询
$query = mysql_query("insert into reservationform(booking_checkout_date, booking_checkout_time, booking_arrival_date, booking_arrival_flightno, booking_departure_date,booking_departure_flightno) values ('$checkout_date_input', '$checkout_time_input',
$arrival_flightno,'$departure_date_time',$departure_flightno)");
答案 0 :(得分:2)
解决方案#1
最好的方法是检查用户是否输入了某些内容,如果他们已经输入了值,如果他们还没有输入该值,那么。
if(!empty(trim($_POST['checkout_date_input']))){
$checkout_date_input = $_POST['checkout_date_input'];
} else {
$checkout_date_input = null;
}
解决方案#2
您可以做的另一件事是指定要插入数据库的列名。
INSERT INTO table (column1, column2) VALUES ('value1','value2')
此查询仅将值插入column1和column2,其他列将为null。 如果设置了多个if语句,用于检查字段是否已填充,则可以确定要将值插入哪些列,哪些列不插入。
这两种解决方案都基于您的数据库列允许空值的假设,这些值将插入到数据库中。
<强>安全强>
您的代码非常容易受到攻击您的数据库。我建议使用PDO和预处理语句来确保数据库查询的卫生。 More info can be found here.