目前,我有2种表格。在第一个用户上,必须发送代码并接收它,然后提交到第二个表单并批准帐户。我需要,当他们放置电子邮件并单击“提交”时,会在电子邮件上自动添加应该在其电子邮件中获取的代码,但是他们不必复制/粘贴代码,因为它应该自动执行。搜索mysql_query("UPDATE users SET verify = 'verified', bullets = bullets + 5000 WHERE ID = '$ida'"); $showoutcome++; $outcome = "Your account is now verified!"; }
-在这里我需要添加$ verifnum,因为这是他们应该在电子邮件中获取的代码,但是正如我所说的,脚本应该自动批准它,并且我将只使用一种形式,在该表单中,他们仅输入电子邮件并单击验证。
<?php
$saturate = "/[^a-z0-9]/i";
$saturated = "/[^0-9]/i";
$sessionidraw = $_COOKIE['PHPSESSID'];
$sessionid = preg_replace($saturate,"",$sessionidraw);
$userip = $_SERVER[REMOTE_ADDR];
$gangsterusername = $usernameone;
$playerrank = $myrank;
$playerarray =$statustesttwo;
$playerrank = $playerarray['rankid'];
$email = $playerarray['email'];
$verified = $playerarray['verify'];
$ref = $playerarray['ref'];
if($verified == 'verified'){die('<font color=silver face=verdana size=1>Your account is already verified!'); }
if($_POST['verify'] AND $_POST['email']){
$newemail = $_POST['email'];
if(!preg_match("/^[\ a-z0-9._-]+@[a-z0-9.-]+\.[a-z]{1,20}$/i", $_POST['email'])){ $showoutcome++; $outcome = "The email you entered is invalid!"; }else{
$verifnum = rand(1111,9999);
$to = "$newemail";
$subject = "SG - Email Verification";
$header = "From: State Gangsters - Email Verification <[email protected]>\r\n" .
'Reply-To: State Gangsters <[email protected]>' . "\r\n" .
'X-Mailer: PHP/' . phpversion() . "\r\n" .
"MIME-Version: 1.0\r\n" .
"Content-Type: text/html; charset=utf-8\r\n" .
"Content-Transfer-Encoding: 8bit\r\n\r\n";
$body = "Your verification code is $verifnum!";
if (mail($to, $subject, $body, $header)){ $showoutcome++; $outcome = "An email has been sent, please check your inbox!";
mysql_query("UPDATE users SET verify = '$verifnum', email = '$newemail' WHERE ID = '$ida'");
}}}
if($_POST['code'] AND $_POST['verifyit']){
$newcode = $_POST['code'];
$getcodee = mysql_query("SELECT verify FROM users WHERE ID = '$ida'");
$doit = mysql_fetch_array($getcodee);
$getcode = $doit['verify'];
if($newcode == $getcode AND $getcode > 0){
mysql_query("UPDATE users SET verify = 'verified', bullets = bullets + 5000 WHERE ID = '$ida'");
$showoutcome++; $outcome = "Your account is now verified!"; }
else{ $showoutcome++; $outcome = "The verification code you entered is incorrect!";
}}
?>
if($_POST['code'] AND $_POST['verifyit']) {
将其更改为使用$_GET
,并在电子邮件中创建一个链接,该链接将使用适当的变量回发到页面,例如
$body = "Your verification code is <a href='$PHP_SELF?code=$verifnum&verifyit=1'>$verifnum</a>!";
除此之外,您的代码真的很凌乱(一个脚本中包含三个功能),到处都是过时的东西(<font color=silver>
?),怪异的结构(die
用于常规程序流程?)并保证了漏洞(mysql_query
在SQL中直接插入了变量?!!!!) !)。目前尚不清楚您$ida
来自何处,但是我想(希望)是这里复制/粘贴代码的结果,这是一个简单的示例。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句