gpt4 book ai didi

PHP报错问题

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

我在第 8 行收到以下错误 :Undefined index: privacy_policy 这是 $privacy_policy = mysqli_real_escape_string($mysqli, $_POST['privacy_policy']); 我想知道如何解决这个问题?

这是第 8 行。

$privacy_policy = mysqli_real_escape_string($mysqli, $_POST['privacy_policy']);

这是 PHP。

if (isset($_POST['submitted'])) {

$mysqli = mysqli_connect("localhost", "root", "", "sitename");
$dbc = mysqli_query($mysqli,"SELECT users.*
FROM users
WHERE user_id=3");

$privacy_policy = mysqli_real_escape_string($mysqli, $_POST['privacy_policy']);

if (mysqli_num_rows($dbc) == 0) {
$mysqli = mysqli_connect("localhost", "root", "", "sitename");
$dbc = mysqli_query($mysqli,"INSERT INTO users (user_id, privacy_policy)
VALUES ('$user_id', '$privacy_policy')");
}


if ($dbc == TRUE) {
$dbc = mysqli_query($mysqli,"UPDATE users
SET privacy_policy = '$privacy_policy'
WHERE user_id = '$user_id'");

echo '<p class="changes-saved">Your changes have been saved!</p>';

}


if (!$dbc) {
print mysqli_error($mysqli);
return;
}

}

这是 HTML。

<form method="post" action="index.php">
<fieldset>
<ul>
<li><input type="checkbox" name="privacy_policy" id="privacy_policy" value="yes" <?php if (isset($_POST['privacy_policy'])) { echo 'checked="checked"'; } else if($privacy_policy == "yes") { echo 'checked="checked"'; } ?> /></li>

<li><input type="submit" name="submit" value="Save Changes" class="save-button" />
<input type="hidden" name="submitted" value="true" />
<input type="submit" name="submit" value="Preview Changes" class="preview-changes-button" /></li>
</ul>
</fieldset>
</form>

最佳答案

如果警告说 $_POST['privacy_policy'] 未定义,那么这(几乎)无疑是正确的。

您的隐私政策值来自一个复选框,如果您在提交表单时未选中该复选框,则 $_POST 数组中将没有它的条目。如果在您提交表单时选中它,则 $_POST['privacy_policy'] 中的值将为 yes

在将 $_POST['privacy_policy'] 中的值分配给某物之前,请检查它是否设置为 isset .这将阻止您的警告出现。

更新

我会像这样处理一个未选中的复选框:

$privacy_policy = "no";
if(isset($_POST['privacy_policy']))
{
$privacy_policy = mysqli_real_escape_string($mysqli, $_POST['privacy_policy']);
}

关于PHP报错问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2600620/

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