-1
<?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。

这可能吗,如果可以,我该怎么做?

4

2 回答 2

0

I want to manipulate something like jmc@inbox.com to **c@inbox.com.

您可以尝试使用此函数substr_replace 函数

于 2013-07-26T01:29:11.353 回答
0

你可以尝试这样的事情。我在代码中使用了正确的注释。

 $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
于 2013-07-26T01:48:19.173 回答