gpt4 book ai didi

PHP:checkbox-isset 总是返回 true

转载 作者:行者123 更新时间:2023-12-01 00:47:29 25 4
gpt4 key购买 nike

在我的表单中(我使用 jQuery 的 ajax() 通过 POST 提交)我有以下复选框(检查新用户是否应具有管理员权限):

<form action="../inc/new_user.php" id="new_user_form">
Username:<br><input type="text" name="username" placeholder="Username"><br><br>
Email:<br><input type="text" name="email" placeholder="Email"><br><br>
Password:<br><input type="password" name="password" placeholder="Password"><br><br>


<!-- here's the checkbox -->
Admin: <input type="checkbox" name="admin" /><br><br>

<input type="submit" value="Save">
</form>

然后我发布值(所有其他字段都工作得很好,只是复选框没有):

$( "#new_user_form" ).submit(function( event ) {
event.preventDefault();
var $form = $( this ),
username = $form.find( "input[name='username']" ).val(),
email = $form.find( "input[name='email']" ).val(),
password = $form.find( "input[name='password']" ).val(),
admin = $form.find( "input[name='admin']" ).val(),
url = $form.attr( "action" );

var posting = $.post( url, { username: username, email: email, password: password, admin:admin } );

posting.done(function( data ) {
$( "#message_dialog" ).empty().append( data );
$ ("#message_dialog" ).dialog({
modal: true,
buttons: {
Ok: function() {
$( this ).dialog( "close" );
}
}
});
});
});

此代码用于获取 PHP 中的值:

$user_username      =   $_POST['username'];
$user_email = $_POST['email'];
$user_password = $_POST['password'];
if (isset($_POST['admin'])) {
$user_admin = 1;
} else {
$user_admin = 0;
}

但是当我回显 $user_admin 时,无论复选框的状态如何,我总是得到“1”。这很奇怪,因为我多次被告知如果未选中该复选框,则不会设置 $_POST 值。

我还尝试在输入元素上使用值属性,并在 PHP 中进行比较。我的方法都不起作用,这让我现在发疯。

注意:我将我的 php 变量 $user_admin 设置为 0 或 1,以将其作为 TINYINT 存储在我的数据库 (MySQL) 中。 1 表示“是的,用户是管理员”,0 表示“不,他不是管理员”。

请告诉我这里出了什么问题。

最佳答案

你可能想要一个 bool 值来告诉你复选框是否被选中:

admin = $form.find( "input[name='admin']" ).is(':checked'),

然后用PHP检查

if (isset($_POST['admin']) && $_POST['admin']) {

关于PHP:checkbox-isset 总是返回 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20075511/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com