2014-02-03 5 views
0

В настоящее время у меня есть 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._-][email protected][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!"; 
    }} 
    ?> 
+3

1990-е годы называются и требуют от них '' тега назад ... Кроме того, как трудно это сделать, '$ result = 'blah blah'. $ Verifnum; '? –

+0

Sidenote: '&&' имеет приоритет над 'AND' - и я предполагаю, что вы уже подключены к БД, не так ли? Ах, я знал, что ты был ;-) –

ответ

0
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, но я предполагаю (надеясь), что это следствие копирования/вставки кода здесь для минимального примера.

Смежные вопросы