单选按钮值未存储在数据库中
Posted
技术标签:
【中文标题】单选按钮值未存储在数据库中【英文标题】:Radio button value not stored in database 【发布时间】:2015-08-11 21:06:04 【问题描述】:我创建了一个单选按钮,当用户单击“是”值时,文本框会显示给用户,否则它们将保持隐藏状态。 我的问题是,当用户选择是时,我可以在 sql 中存储是值,但是当用户单击 no 值时,该值未存储在数据库中
<script>
$(document).ready(function()
$(function()
$('input[name="yeshave"]').on('click', function()
if ($(this).val() == 'yes')
$('#textboxes').show();
else
$('#textboxes').hide();
);
);
);
</script>
没有单选按钮代码:
<table>
<tr>
<td>Do you haver passport:</td>
<td><input type="radio" name="yeshave" value="yes"> Yes</td>
<td><input type="radio" name="yeshave" value="no"> No</td>
</tr>
</table>
SQL代码是:
if(isset($_POST['yeshave']))
$selectedValue=$_POST['yeshave'];
$query = "INSERT INTO upload (name, size, type, image,passport_no,dateofissue,dateofexpiry,placeofissue, having_passport ) ".
"VALUES ('$fileName', '$fileSize', '$fileType', '$image','".$passno."','".$doi."','".$doe."','".$poi."','".$selectedValue."')";
mysqli_query($conn,$query) or die('Error, query failed');
【问题讨论】:
对于yes
是否有效?
你的数据库中have_passport字段的数据类型是什么??
为什么不$selectedValue= (!empty($_POST['yeshave'])) : 1 : 0;
? having_passport
是 tinyint 吗?
@saty having_passport 具有 varchar 数据类型
【参考方案1】:
$(document).ready(function()
$('input[name="yeshave"]').on('click', function()
$('#textboxes').toggle($(this).val() == 'yes');
);
);
在 php 中:
$selectedValue = $_POST['yeshave'] ? $_POST['yeshave'] : 'no';
-
你不需要在
$(function()
里面ready
使用toggle
隐藏/显示#textboxes
在 PHP 中,检查值是否存在,如果不存在则使用默认值no
【讨论】:
你的切换是很好的,因为你在我身边得分 10 分,但是当我选择否时,这个条目不会进入数据库 @rupesharora 你检查no
是否在服务器上是POST
ed
你能不能给我你的女仆ID,然后我会把源代码发给你
@rupesharora 在服务器上打印$_POST
并检查no
。检查no
是否打印在yeshave
中【参考方案2】:
设置检查其中之一。试试 -
$selectedValue = isset($_POST['yeshave']) ? $_POST['yeshave'] : 'no';
【讨论】:
以上是关于单选按钮值未存储在数据库中的主要内容,如果未能解决你的问题,请参考以下文章