Показать сообщение отдельно
Старый 21.04.2010, 17:41   #3
anvd24
Новичок
 
Регистрация: 20.04.2010
Адрес: Moscow
Сообщений: 16
Сказал(а) спасибо: 13
Поблагодарили 2 раз(а) в 2 сообщениях
anvd24 На верном пути
По умолчанию

Цитата:
Сообщение от srv38 Посмотреть сообщение
это на мой взгляд юзабельнее.



надеюсь понимаешь о чем тут.

а дальше подгоняй в индекс пхп регистрации респ.
добавляй проверку и в общем то все.

там вроде как написано подробно, но если возникнет вопрос,куда пихать проверку,спрашивай.тебе тут помогут , но за тебя не сделают.

вообще было где то нарыто на просторах инета.
под какую то версию регистрации, сам не помню,но мало ли пригодиться.

некий BY ALEX BARN судя по коментам в самом файлике , делал это так.

Код:
<?php
/*
   REGISTRATION PAGE FOR MANGOS!
   ВЕБ СТРАНИЦА РЕГИСТРАЦИИ ДЛЯ СЕРВЕРА MANGOS! 
   BY ALEX BARN
*/

define('roSSECURE',true);

require_once 'config.php';
require_once 'lang.php';
require_once 'dblayer.php';
require_once 'recaptchalib.php';


$fp = @fsockopen( $host, 3724, $errno, $errstr, 1);
if ($fp >= 1) { 
    $server = '<font color=green>'.$page.'</font>';
} else {
    $server = '<font color=red>'.$page.'</font>';
}

$resp = recaptcha_check_answer ($RECprivatekey,
                                  $_SERVER["REMOTE_ADDR"],
                                  $_POST["recaptcha_challenge_field"],
                                  $_POST["recaptcha_response_field"]);


if ( empty($_POST['username']) AND empty($_POST['passw']) AND empty($_POST['email']) AND !($resp->is_valid) ) {
	$cont = '   <TR>
                <TD vAlign=center align=left width=190>
                  <LABEL
                  for=username>'.$text["name"].'</LABEL>&nbsp;<BR><INPUT
                  id=username style="WIDTH: 300px; HEIGHT: 30px; FONT-SIZE: 12pt" tabIndex=1 maxLength=32
                  size=18 name=username></TD>
                <TD rowSpan=6><IMG height=1 src="'.$img_base.'pixel.gif" width=350></TD></TR>
              <TR><TD width=190 height=10></TD></TR>
                <TD vAlign=center align=left width=190>
                  <LABEL
                  for=passw>'.$text["password"].'</LABEL>&nbsp;<BR><INPUT id=passw
                  style="WIDTH: 300px; HEIGHT: 30px; FONT-SIZE: 12pt" tabIndex=2 type=password maxLength=40
                  size=18 name=passw></TD></TR>
              <TR><TD width=190 height=10></TD></TR>
                <TD vAlign=center align=left width=190>
                  <LABEL
                  for=email>'.$text["e-mail"].'</LABEL>&nbsp;<BR><INPUT id=email
                  style="WIDTH: 300px; HEIGHT: 30px; FONT-SIZE: 12pt" tabIndex=2 maxLength=50
                  size=18 name=email></TD></TR>
              <TR><TD width=190 height=10></TD></TR>
                <TD vAlign=center align=left width=190>
                  <LABEL
                  for=email>'.$text["rec_safety_key"].'</LABEL>&nbsp;<BR>
                  ' . recaptcha_get_html($RECpublickey) . '
                  </TD></TR>
              <TR><TD width=190 height=10></TD></TR>
                  <TD vAlign=center align=center><INPUT class=button
                    style="WIDTH: 184px; HEIGHT: 37px" tabIndex=3 type=image
                    src="'.$img_base.$button.'"
                    value=Create border=0></TD>
              <TR><TD width=190 height=30></TD></TR>
                  <TD><LABEL for=info><center>'.$server.'</center>'.$text["client"].' <font color=orange>'.$client.'</font>
                                      <br>'.$text["realm"].' <font color=orange>'.$realm.'</font></LABEL></TD>
			  </TR></TBODY></TABLE></TD></TR>';
    } elseif ( empty($_POST['username']) OR empty($_POST['passw']) OR empty($_POST['email']) OR !($resp->is_valid) ) {
        $cont = '<TR><IMG height=1 width=650 src="'.$img_base.'pixel.gif"><TD align=Center><SMALL class=error>
                '.$text["not_all"].'
                <br><br><a href="" onClick="history.go(-1)">'.$text["backtext"].'</a></SMALL></TD></TD></TR>';
    } elseif ( !($resp->is_valid) ) {
        $cont = '<TR><IMG height=1 width=650 src="'.$img_base.'pixel.gif"><TD align=Center><SMALL class=error>
                '.$text["not_all"].'
                <br><br><a href="" onClick="history.go(-1)">'.$text["rec_safety_key_invalid"].'</a></SMALL></TD></TD></TR>';
    } else {
	    $username = htmlspecialchars(trim("$_POST[username]"));
	    $passw = trim($_POST['passw']);
	    $email = htmlspecialchars(trim($_POST['email']));
        $expansion = trim($expansion);
	    $ip = getenv('REMOTE_ADDR');

	    $realm_db = new DBLayer($host, $user, $password, $db);
	    $realm_db->query("SET NAMES database_encoding");

        $ip_cr = 0;
        
        if ( $lock_reg != 0 ) {
            $query = $realm_db->query("SELECT `last_ip` FROM `account`  WHERE `last_ip`='$ip'");
            while($result = $realm_db->fetch_assoc($query)) $ip_cr++;
        }

        if ( ($ip_cr >= $lock_reg) AND ($lock_reg != 0) )
        {
		    $cont = '<TR><IMG height=1 width=650 src="'.$img_base.'pixel.gif"><TD align=Center><SMALL class=error>
                    '.$text["ip_limit"][0].$ip.'<br>'.$ip_cr.$text["ip_limit"][1].'
                    <br><br><a href="" onClick="history.go(-1)">'.$text["backtext"].'</a></SMALL></TD></TD></TR>';
	    } else {
            if ( $expansion ) {
                if (
                        $realm_db->query("INSERT INTO `account` (`username`,`sha_pass_hash`, `email`, `last_ip`, `locked`, `expansion`) VALUES ('$username', SHA1(CONCAT(UPPER('$username'), ':', UPPER('$passw'))), '$email', '$ip', '$lock_acc', '$expansion')") 
                      {
		            $cont = '<TR><IMG height=1 width=650 src="'.$img_base.'pixel.gif"><TD align=Center><SMALL>
                            '.$text["acc"].'<br><strong><font color=orange size=4>'.$username.'</font></strong><br>'.$text["create"].'
                            <br><br><a href="" onClick="history.go(-1)">'.$text["backtext"].'</a></SMALL></TD></TD></TR>';
		        }
		        else
		        {
		            $cont = '<TR><IMG height=1 width=650 src="'.$img_base.'pixel.gif"><TD align=Center><SMALL class=error>
                            '.$text["acc"].'<br><strong><font color=orange size=4>'.$username.'</font></strong><br>'.$text["failed"].'
                            <br><br><a href="" onClick="history.go(-1)">'.$text["backtext"].'</a></SMALL></TD></TD></TR>';
		        }
           } else {
                if($realm_db->query("INSERT INTO `account` (`username`,`sha_pass_hash`,`email`,`last_ip`,`locked`) VALUES ('$username','$passw','$email','$ip','$lock_acc')"))
		        {
		            $cont = '<TR><IMG height=1 width=650 src="'.$img_base.'pixel.gif"><TD align=Center><SMALL>
                            '.$text["acc"].'<br><strong><font color=orange size=4>'.$username.'</font></strong><br>'.$text["create"].'
                            <br><br><a href="" onClick="history.go(-1)">'.$text["backtext"].'</a></SMALL></TD></TD></TR>';
		        }
		        else
		        {
		            $cont = '<TR><IMG height=1 width=650 src="'.$img_base.'pixel.gif"><TD align=Center><SMALL class=error>
                            '.$text["acc"].'<br><strong><font color=orange size=4>'.$username.'</font></strong><br>'.$text["failed"].'
                            <br><br><a href="" onClick="history.go(-1)">'.$text["backtext"].'</a></SMALL></TD></TD></TR>';
		        }
	       }
        }

	    $realm_db->close();
	    unset($realm_db);
    }

?>
хочу обратить внимание, что скорее всего этот код не рабочий, но имеет место быть,в виде примера.

Последний раз редактировалось anvd24; 21.04.2010 в 17:46.
anvd24 вне форума   Ответить с цитированием