gpt4 book ai didi

php - 未以 PHP MYSQL 形式提交时导致错误的复选框变量

转载 作者:行者123 更新时间:2023-11-29 04:21:19 25 4
gpt4 key购买 nike

我有一个 PHP 变量 $admin 对应于一个复选框。当提交表单并勾选复选框时,值被传递(设置为 1)并且一切都很好,但是如果它没有被勾选,变量会导致 undefined index 错误:

注意:未定义索引:C:...\admin.php 中的 admin

这是查询数据库的表单的 php 部分:

  if($row == 1)
{
echo '<div id="errormsg">This username is already taken</div>';
}
else

{
$add = mysqli_query($dbcon, "INSERT INTO users (id, firstname, lastname, username, password, admin) VALUES
(null, '$fname', '$lname', '$user', '$pass', '$admin') ") or die ("Can't insert data");
echo '<div id="create-success">Successfully added user!</div>';
}

和 HTML 表单:

  <form action="admin.php" method="post" onSubmit="return validate(this)">
<fieldset>
<label class="reg">Username *</label> <input type="text" name="user" /><br />
<label class="reg">Password *</label> <input type="password" name="pass" /><br />
<label class="reg">Repeat Password *</label> <input type="password" name="rpass" /><br />
<label class="reg">First name:</label> <input type="text" name="fname" /><br />
<label class="reg">Last name:</label> <input type="text" name="lname" /><br />
<label class="reg">Admin?:</label> <input type="checkbox" value="1" name="admin" /><br/>
</fieldset>
<input type="submit" name="submit" value="Create User" />
</form>

有没有人知道为什么不选中该框会导致特定于 $admin 变量的错误?

最佳答案

复选框只有在被选中时才会实际传递给脚本。

所以你需要检查你的 php 代码是否存在,像这样:

if ( $_POST && isset( $_POST['admin'] ) {
$admin = $_POST['admin'];
} else {
$admin = 0;
}

编辑:

在你的脚本中我会这样做

if($row == 1) {
echo '<div id="errormsg">This username is already taken</div>';
} else {
$admin = ( $_POST && isset( $_POST['admin'] ) ? $_POST['admin'] : 0;
$add = mysqli_query($dbcon, "INSERT INTO users
(id, firstname, lastname, username, password, admin)
VALUES(null, '$fname', '$lname', '$user', '$pass', '$admin') ") or die ("Can't insert data");
echo '<div id="create-success">Successfully added user!</div>';
}

关于php - 未以 PHP MYSQL 形式提交时导致错误的复选框变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23118060/

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