【问题标题】:PHP/MySQL Function result in a variable, e-mail checkingPHP/MySQL 函数导致变量,电子邮件检查
【发布时间】:2014-05-31 15:57:41
【问题描述】:

我如何使用另一个函数来检查电子邮件的格式是否正确([符号数]@[符号数]。[符号数])以及使用 insertUser 添加它时它是否是唯一的? (所有信息都是从 .txt 文件中读取的)。

代码:

class User{

    function randomPassword($length = 8){
        $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
        $randomString = '';
        for ($i = 0; $i < $length; $i++) {
            $randomString .= $characters[rand(0, strlen($characters) - 1)];
        }
        return $randomString;
    }


    function insertUser($firstName, $lastName, $email){
    global $DB;
    $DB->query("INSERT INTO `users` (`fname`, `lname`, `password` , `email`) values ('$firstName', '$lastName', '" . randomPassword() . "', '$email') ");   

    }

在索引文件中:

$USER = new User(); 

     $data = readData();
     foreach($data as $nr => $user){
        $USER->insertUser($user['first_name'], $user['last_name'], $user['email']);
    }

【问题讨论】:

标签: php mysql function email


【解决方案1】:

拨打$this-&gt;randomPassword();

电子邮件验证

function checkEmail($email) {
  if(preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])
  ?*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/",$email)){
    list($username,$domain)=split('@',$email);
    if(!checkdnsrr($domain,'MX')) {
      return false;
    }
    return true;
  }
  return false;
}

【讨论】:

  • 哇,我把函数放在索引文件中并且它工作了,通过使用 $this-> 我假设它也可以在那个文件中工作?电子邮件检查怎么样?
【解决方案2】:

要插入随机字符串,您应该这样做:

将 insertUser 函数更改为:

function insertUser($firstName, $lastName, $email){
global $DB;
$DB->query("INSERT INTO `users` (`fname`, `lname`, `password` , `email`) values ('$firstName', '$lastName', '" . $this->randomPassword() . "', '$email') ");   

}

【讨论】:

    猜你喜欢
    • 2013-02-28
    • 2021-04-24
    • 1970-01-01
    • 1970-01-01
    • 2011-12-02
    • 2012-08-13
    • 1970-01-01
    • 2013-01-05
    • 1970-01-01
    相关资源
    最近更新 更多