class SQL { public $server= '*****' ,$user='******',$password='******',$database='****', $connected , $count;
function SetBase($base) { $this->database = trim($base); }
function connect() { if ($this->connected) mysql_close(); $curent = mysql_connect ($this->server, $this->user, $this->password); if (!$curent) { $this->connected = false; die("some error : ".mysql_error() ); }else $this -> connected = true ; $this -> CreateBase( $this->database ); mysql_select_db ($this->database) or die("some problem with database : ". mysql_error() ); $this->connected = true; }
function CreateBase($name) { $this -> run ("CREATE DATABASE IF NOT EXISTS `".trim($name)."` "); }
function query($query,$type='array') { if (!$this->connected) $this->connect(); $result = $this->run($query); if (!$result) return(mysql_error()); $this->count = mysql_num_rows($result); if (!$this->count) return 0; $d = array ();
if ($type == 'object') while ($row = mysqli_fetch_object($result)) $d[] = $row;
if ($type == 'row') while ($row = mysqli_fetch_row($result)) $d[] = $row;
if ($type == 'assoc') while ($row = mysql_fetch_assoc($result)) $d[] = $row; else while ($row = mysql_fetch_array($result)) $d[] = $row; return $d; }
function run($query) { if (!$this->connected) $this->connect(); $query = trim($query); $result = mysql_query($query); return $result; }
}
далее идет класс регистрации:
class Register extends SQL { public $login , $password , $password_r , $email , $error , $errortext ;
function __construct() { $this -> count = 0; $this -> connected = false; $this -> error =false; $this -> errortext = '<p>При регистрации на сайте произошли следующие ошибки:</p><ul>'; }
function install() { $this -> run ("CREATE TABLE IF NOT EXISTS `users` ( `id` INT( 10 ) NOT NULL AUTO_INCREMENT , `login` VARCHAR( 12 ) NOT NULL , `pass` TEXT NOT NULL , `email` TEXT NOT NULL , PRIMARY KEY ( `id` ) )"); }
function AddError($error) { $this->error = true; $this->errortext .= '<li>'.trim($error).'</li>'; }
function SetData($login,$pw1,$pw2,$email) { $this->login = trim($login); $this->password = trim($pw1); $this->password_r = trim($pw2); $this->email = trim($email); $this->CheckLogin( $this->login ); $this->CheckPassword( $this->password ); $this->CheckPassword( $this->password_r ); if ($this->password != $this->password_r) $this->AddError('Поле Пароль и его Подтверждение не совпадают!'); $this->CheckEmail( $this-> email ); }
function CheckLogin($login) { if (empty($login)) $this->AddError('Вы не заполнели поле Имя пользователя!'); elseif (!preg_match('/^[a-z0-9]{4,12}$/i',$login)) $this->AddError('Убедитесь что Логин содержит от 4 до 12 символов, и состоит из латинских символов и цифр'); else $this->query("select `id` from `users` where `login` = '".addslashes($login)."' limit 1 "); if ($this->count > 0) { $this->AddError('Такое имя существует !'); $this->count = 0 ; } }
function CheckPassword($password) { if (empty($password)) $this->AddError('Вы не заполнили поле Пароль!'); elseif (!preg_match('/^[a-z0-9]{6,20}$/i',$password)) $this->AddError('Убедитесь что Пароль содержит от 6 до 20 символов, и состоит из латинских символов и цифр'); }
function CheckEmail($email) { if (empty($email)) $this->AddError('Вы не заполнили поле E-Mail!'); elseif (!preg_match('/^[-0-9a-z_\.]+@[-0-9a-z^\.]+\.[a-z]{2,4}$/i',$email)) $this->AddError('Не правильно заполнено поле E-Mail. E-mail должен иметь вид user@somehost.com !'); else $this->query("select `id` from `users` where `email` = '".addslashes($email)."' limit 1 "); if ($this->count > 0) { $this->AddError('Такой эмаил существует !'); $this->count = 0 ; } }
function ShowErrors() { if ($this->IsError()) echo $this->errortext . '</ul>'; }
function IsError() { return $this->error; }
function AddToBase(); { $result = $this->run("INSERT INTO `users` (`login`, `pass`,`email`) VALUES('".addslashes($this->login)."', '".md5 ($this-> password)."', '".addslashes($email)."' "); if ($result) return true; return false; }
}
непосдредственно сама страница рега
<?php if ($_POST) { include_once "clases/class.sql.register.php"; $reg = new Register; $reg -> SetData($_POST['rlogin'] , $_POST['rpass'] , $_POST['rpassr'] , isset($_POST['email']); if ($reg->IsError) $reg -> ShowErrors(); else { $reg->connect(); $reg->install(); if ($reg -> AddToBase()) echo('<p>Вы успешно зарегистрированы на сайте!</p>'); else echo('<p>Не удалось !</p>'); }
You can post now and register later.
If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.
Здравствуйте, подскажите какой тег использовать для увеличения значения, пример на картинке.
Вроде, про такой тег я слышала. Если есть тег прогресс бар, значит и такое должно быть.
Question
crautcher
майскул класс :
далее идет класс регистрации:
непосдредственно сама страница рега
Edited by crautcherLink to comment
Share on other sites
6 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.