哟,我正在为我的用户使用注册表单。他们可以创建一个新帐户,并获得包含激活链接的确认邮件。
当他们点击激活链接时,他们会自动转到我的页面并获取有关帐户已激活的消息。
问题:帐户不会被激活 - 他们无法登录并且在 sql 数据库中他们没有被激活。
所以我检查了“emailverified.php”,因为它包含在每个激活链接中。
不幸的是,我不得不提一下,这个文件不是 utf8 转换的。
有人知道这是否可能是原因吗?
如果是,请告诉我如何简单地做到这一点。在这里,您可以从“emailverified.php”获得代码的开头:
include('include/header.php');
包括('phpmailer/class.phpmailer.php');
if(isset($_GET["ID"]) && isset($_GET["PID"])) {
$email=stripslashes(base64_decode($_GET["ID"]));
$password=stripslashes($_GET["PID"]);
if(isset($_GET["active"])) {
$主动=$_GET[“主动”];
} 其他 { +++++
提前致谢。
链接中的数据:http ://www.my-url.com/emailverified.php?ID=Y2Fwb25lQG91dGxvb2suZGU=&PID=Y2Fwb25lcw==&active=yes
db 查询(php 发送)$rec = dbQuery("select * from user_registration
where email
='$email'"); if(dbNumRows($rec)>0) { echo 'yes'; } 其他 { 回声“不”;} } 其他 { 回声“不”;}
//
我真的认为这是因为 .php 文件不是 utf8 并且没有将其写入数据库。请先帮我做 utf8 - 如果它不起作用,那么我会检查代码。
第一个注册.php
然后我想:emailcheck.php
if(isset($_GET["email"]) && $_GET["email"]!='') {
$email=strtolower($_GET["email"]);
$rec = dbQuery("select * from `user_registration` where `email`='$email'");
if(dbNumRows($rec)>0) {
echo 'yes';
}
else {
echo 'no';
}
}
else {
echo 'no';
}
接收激活链接点击:http ://www.my-url.com/emailverified.php?ID=Y2Fwb25lQG91dGxvb2suZGU=&PID=Y2Fwb25lcw==&active=yes
然后 emailverified.php
if(isset($_GET["ID"]) && isset($_GET["PID"])) {
$email=stripslashes(base64_decode($_GET["ID"]));
$password=stripslashes($_GET["PID"]);
if(isset($_GET["active"])) {
$主动=$_GET[“主动”];
} 别的 {
$活跃='';
}
$s = dbQuery("select * from `user_registration` where `email`='".$email."' and `password`='".$password."'");
if(dbNumRows($s)>0 && $active=="yes") {
$arr=explode(" ", date("Y-m-d H:i:s"));
$ar1=explode("-", $arr[0]);
$ar2=explode(":", $arr[1]);
$_SESSION["userlogin"]=$email;
$a = dbQuery("select * from `user_registration` where `email`='".$email."' and `password`='".$password."' and `createdate`<'".date("Y-m-d",mktime($ar2[0], $ar2[1], $ar2[2], $ar1[1], $ar1[2]-1, $ar1[0]))."'");
if(dbNumRows($a)==0) {
dbQuery("update `user_registration` set `status`='1',`current_balance`='".$SignUpbonus."' where `email`='".$email."' and `password`='".$password."'");
dbQuery("insert into `myaccount`(`email`,`amount`,`type`,`createdate`) values('".$email."','".$SignUpbonus."','1','".$totaldate."')");
$d='';
$sig = dbFetchArray(dbQuery("select * from `mailsettings` where `id`='13'"),MYSQL_BOTH);
$user = dbFetchArray(dbQuery("select * from `user_registration` where `email`='".$email."'"),MYSQL_BOTH);
$benefitusersql=dbQuery("select * from `user_registration` where `email`='".$user["referrer"]."'");
if(dbNumRows($benefitusersql)>0) {
$benefituserres=dbFetchArray($benefitusersql,MYSQL_BOTH);
dbQuery("update `user_registration` set `bonuscount`='".($benefituserres["bonuscount"]+1)."' where `email`='".$user["referrer"]."'");
}
$Subject1 = stripslashes($sig["subject"]);
$TemplateMessage=str_replace("%FULLNAME%", $user["fullname"], stripslashes($sig["message"]));
$TemplateMessage=str_replace("%EMAIL%", $user["email"], $TemplateMessage);
$TemplateMessage=str_replace("%PASSWORD%", base64_decode($user["password"]), $TemplateMessage);
$mail1 = new PHPMailer;
$mail1->FromName = $fromName;
$mail1->From = $from;
$mail1->Subject = $Subject1;
$mail1->Body = stripslashes($TemplateMessage);
$mail1->AltBody = stripslashes($TemplateMessage);
$mail1->IsHTML(true);
$mail1->AddAddress($user["email"],$fromName);
$mail1->Send();
$TemplateMessage="Hi ";
$TemplateMessage.="<br><br>";
$TemplateMessage.="A new account has been created.<br>";
$TemplateMessage.="Please login to the admin control panel to view details:<br>";
$TemplateMessage.="<br>----------------<br><br>";
$TemplateMessage.="User's Email: ".$user["email"]."<br><br>";
$TemplateMessage.="Thanks,<br>";
$TemplateMessage.=$fromName."<br>";
$TemplateMessage.=$SiteName."<br>"; +++++