gpt4 book ai didi

php - 为用户公开个人资料创建隐私设置

转载 作者:行者123 更新时间:2023-11-29 00:13:17 25 4
gpt4 key购买 nike

我正在尝试通过让用户选择公众可以看到的信息来为他们的个人资料设置个人隐私设置。

我正在测试这个示例查询以尝试解决这个问题。

示例:

用户提交他们的电子邮件、电话号码和备用电话号码。所有这些信息都存储在用户数据库表中。

我通过在用户表中创建 3 个新列来为用户提供显示该信息的选项。如果用户希望通过隐私表单向公众显示该信息,则用户可以选择"is"或“否”。

新列称为 pe、pph 和 paph。 (第一个 p 代表私有(private))。pe 等于电子邮件,pph 等于电话,并且paph 等于 alt-phone

默认情况下,该信息设置为否,供非公开查看。

我的问题:

如何关联

  1. 发送电子邮件
  2. pph 到电话
  3. 转到 alt_phone

然后在查询中运行它,如果 pe 的值为 Yes,它会出现在输出中,如果 pph 的值为 No,它不会出现在页面的输出中。

我在这方面超出了我的舒适区,所以请不要苛责我,但这是我尝试过的。

<?php
$id = (int)$_GET['id'];
$users = DB::getInstance()->query("SELECT `id`, `email`, `phone`, `alt_phone`, `pe`, `pph`, `paph`
FROM `users` WHERE `id` = $id AND `pe`='Yes' AND `pph`='No' AND `paph`='Yes'");

'pe' == ('email');
'pph' == ('phone');
'paph' == ('alt_phone');

foreach($users->results() as $u){
?>

<p align="center"><?php echo escape($u->email); ?></p>
<p align="center"><?php echo escape($u->phone); ?></p>
<p align="center"><?php echo escape($u->alt_phone); ?></p>
<?php } ?>

所以结果应该输出:用户电子邮件和用户备用电话号码,而不是用户的第一个电话号码。

最佳答案

当用户更改他们的设置时,只需将 pe、ph 和 paph 的值更新为 0 或 1。0 = 保持私有(private),而 1 = 公开。

剩下的就简单了:

    <?php

$id = (int)$_GET['id'];
$users = DB::getInstance()->query("SELECT `id`, `email`, `phone`, `alt_phone`, `pe`, `pph`, `paph` FROM `users` WHERE `id` = $id");

/*
Use this query if you make a new table:

$users = DB::getInstance()->query("SELECT `users`.`id`, `users`.`email`, `users`.`phone`, `users`.`alt_phone`, `users_settings`.`pe`, `users_settings`.`pph`, `users_settings`.`paph` FROM `users` LEFT JOIN `users_settings` ON `users_settings`.`userid` = `users`.`id` WHERE `users`.`id` = $id");

*/

foreach($users->results() as $u){

?>

<p align="center"><?php echo ($u->pe === false ? 'Hidden' : escape($u->email)); ?></p>
<p align="center"><?php echo ($u->pph === false ? 'Hidden' : escape($u->phone)); ?></p>
<p align="center"><?php echo ($u->paph === false ? 'Hidden' : escape($u->alt_phone)); ?></p>

<?php } ?>

我所做的就是使用简写 if 查询来检查每个值的设置是 0 还是 1。如果它是 0(即 false),那么不要显示数字/地址,只需说而是“隐藏”。如果 1(即 true`)则显示从查询中收集的变量。

代码未经测试,可能有小错误/打字错误。 (当然,只有在您使用上述 pe、pph 和 paph 字段时才会起作用。

关于php - 为用户公开个人资料创建隐私设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23905825/

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