Эй, я использую форму регистрации для моих пользователей. Они могут создать новую учетную запись, а также получить подтверждение по электронной почте со ссылкой для активации.
Когда они нажимают на ссылку активации, они автоматически переходят на мою страницу и получают сообщение об аккаунте.
Проблема: учетная запись не будет активирована — они не могут войти в систему и в базе данных SQL они не активированы.
Итак, я проверил «emailverified.php», потому что он включен в каждую ссылку активации.
К сожалению, я должен был упомянуть, этот файл не преобразован в utf8.
Кто-нибудь знает, может ли это быть причиной?
Если да, скажите, пожалуйста, как это сделать?
Здесь вы получаете начало кода из ’emailverified.php’:
включает в себя ( ‘включает в себя / header.php’);
включают в себя ( ‘PHPMailer / class.phpmailer.php’);
если (Исеть ($ _ GET [ «ID»]) && isset ($ _ GET [«PID»])) {
$ Электронная почта = stripslashes (base64_decode ($ _ GET [ «ID»]));
$ Password = stripslashes ($ _ GET [ «PID»]);
if (isset ($ _ GET [«active»])) {
$ Активный = $ _ GET [ «активный»];
} else {+++++
Заранее спасибо.
Данные в ссылке: http://www.my-url.com/emailverified.php?ID=Y2Fwb25lQG91dGxvb2suZGU=&PID = Y2Fwb25lcw ==&активный = да
запрос базы данных (отправка php)
$ rec = dbQuery («выберите * из user_registration
где email
= ‘$ Электронной почты’ «);
if (dbNumRows ($ rec)> 0) {
эхо «да»;
}
еще {
эхо «нет»;
}
}
еще {
эхо «нет»;
}
//
Я действительно думаю, что это потому, что файл .php не является utf8 и не записывает его в базу данных. Пожалуйста, помогите мне сделать это сначала utf8 — если он не работает, я проверю код.
первый signup.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 ==&активный = да
тогда emailverified.php
если (Исеть ($ _ GET [ «ID»]) && isset ($ _ GET [«PID»])) {
$ Электронная почта = 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>"; +++++
РЕШИТЬ
только что обменял активное = да на активное = 1
Других решений пока нет …