<?php
include_once('db.php');
session_start();
$selectEmail = $db->prepare("SELECT `email` FROM `users` WHERE `uid` = :uid");
$selectEmail->execute(array(':uid' => $_SESSION['uid']));
$EmailRow = $selectEmail->fetch();
$UserEmail = $EmailRow['email'];
echo $UserEmail;
?>
我实际上还没有写任何代码,也没有要求编写任何代码。
这更像是一个"我将如何做到这一点"的问题。
无论如何,我的问题是:如何操纵 MySQL 的结果?
例如:我从带有PDO的数据库中选择一个用户的电子邮件地址,并将其输出到文本输入中,以便他们看到他们的电子邮件,但将其前三个字符替换为星号,以便当他们尝试更改它时,我可以验证他们是否知道防止帐户被盗的真实电子邮件地址。
我想操纵类似 jmc@inbox.com 到**c@inbox.com 的东西。
这可能吗,如果是,我该怎么做?
I want to manipulate something like jmc@inbox.com to **c@inbox.com.
您可以尝试使用此功能substr_replace功能
你可以尝试这样的事情。我在代码中使用了适当的注释。
$userEmail = "info@example.com";
$len = strlen($userEmail); //Get the length of the email
list($email, $domain) = explode('@', $userEmail); //Separate domain and mail
$emailLength = strlen($email); //find mail length
$maskLength = floor( $emailLength/2 ); //find the length of mask, half of the email length in this example
$email = substr($userEmail, $maskLength, $len); //remove the characters that needs to be masked
for($i = 0; $i < $maskLength; $i++){
$mask .= '*';
}
$maskedEmail = $mask . $email;
echo $maskedEmail; //your output