ВОт вобщем код:
PHP код:
<?
global $pass;
global $email;
global $login;
global $password;
global $MinLength;
$pass = PassEncode($l2password1);
$email = CheckEmail($l2email);
$login = CheckLogin($l2account);
$password = CheckPass($l2password1);
$MinLength = 4;
$err[0] = "Заполнены не все поля!";
$err[1] = "Пароли не совпадают!";
$err[2] = "Пароль не должен совпадать с логином!";
$err[3] = "Такой аккаунт уже существует!";
$err[4] = "Поздравляем! Вы успешно зарегистрировались!";
$err[5] = "E-mail введен не верно!";
$err[6] = "Логин должен состоять из латинские букв и цифры!";
$err[7] = "Пароль должен состоять из латинские букв и цифры!";
$err[8] = "Минимальное кол-во символов логина должно составлять 5!";
$err[9] = "Минимальное кол-во символов пароля должно составлять 5!";
$err[10] = "Вы не согласились с правилами игры!";
$link = @mysql_connect('localhost', 'root', 'root') or die("Извените за неудобства. Сервис временно не работает. Возможно перезагружается серверная машина.");
mysql_select_db('l2jdb', $link);
$query = "INSERT INTO accounts (login, password, l2answer, l2question, l2email) VALUES ('$l2account','$pass','$l2question','$l2answer','$l2email')";
$result = mysql_query("SELECT * FROM accounts WHERE login='$l2account'", $link);
$resLogin = @mysql_result($result, 0);
if ($_POST) {
//function reg($l2account, $l2password1, $l2password2, $l2email, $l2question, $l2answer, $rules) {
if ($l2account == Null || $l2password1 == Null || $l2password2 == Null || $l2email == Null || $l2question == Null || $l2answer == Null) {
output_err(0);
//echo "Заполнены не все поля!";
}
elseif ($l2password1!=$l2password2) {
output_err(1);
//echo "Пароли не совпадают!";
}
elseif ($l2account==$l2password1) {
output_err(2);
//echo "Пароль не должен совпадать с логином!";
}
elseif ($email != true) {
output_err(5);
//echo "E-mail введен не верно!";
}
elseif ($login != true) {
output_err(6);
//echo "Логин должен состоять из латинские букв и цифры!";
}
elseif ($password != true) {
output_err(7);
//echo "Пароль должен состоять из латинские букв и цифры!";
}
elseif (strlen($l2account) < $MinLength || strlen($l2account) == $MinLength) {
output_err(8);
//echo "Минимальное кол-во символов логина должно быть 5!";
}
elseif (strlen($l2password1) < $MinLength || strlen($l2password1) == $MinLength) {
output_err(9);
//echo "Минимальное кол-во символов пароля должно быть 5!";
}
elseif ($rules != true) {
output_err(10);
//echo "Вы не согласились с правилами игры!";
}
elseif ($l2account==$resLogin) {
output_err(3);
//echo "Такой аккаунт уже существует!";
}
else {
mysql_select_db('l2jdb', $link);
PassEncode($l2password1);
mysql_query($query, $link);
@mysql_close();
output_err(4);
//echo "Поздравляем! Вы успешно зарегистрировались!";
}
} // Конец фун-ции reg()
?>
<?
function CheckEmail($email) {
if (ereg('^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+' . '@' . '[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.' . '[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$', $email))
return true;
return false;
}
function CheckLogin($login) {
if (ereg('[0-9A-Za-z]', $login))
return true;
return false;
}
function CheckPass($password) {
if (ereg('[0-9A-Za-z]', $password))
return true;
return false;
}
function PassEncode($pass) {
return base64_encode(pack('H*', sha1(utf8_encode($pass))));
}
?>
<?
function output_err($num)
{
global $err;
?>
<FIELDSET>
<legend><font color="#ff0000">Сообщение</font></legend>
<font><?=$err[$num];?><font>
</FIELDSET>
<br>
<?
}
?>
<form type="hidden" onSubmit="javascript: return validate_form()" method="POST" action="/test/index.php">
<!--
Выбор сервера
<SELECT>
<OPTION name="l2ground">Ground</OPTION>
<OPTION name="l2wytrel">Wytrel</OPTION>
</SELECT>
<br><br>
-->
Логин:
<input type="text" name="l2account" maxlength="14" class="input"/><br><br>
Пароль:
<input type="password" name="l2password1" maxlength="16" class="input"/><br><br>
Повторите пароль:
<input type="password" name="l2password2" maxlength="16" class="input"/><br><br>
Электронная почта:
<input type="text" name="l2email" maxlength="64" class="input"/><br><br>
Секретный вопрос:
<input type="text" name="l2question" maxlength="64" class="input"/><br><br>
Ответ на вопрос:
<input type="text" name="l2answer" maxlength="64" class="input"/><br><br>
<input type="checkbox" name="rules"> Я согласен с <a STYLE="color: blue" href="http://site.ru/rules" target="_blank">правилами</a> игры.<br><br>
<input type="hidden" name="action" value="submitted" />
<input type="submit" name="subm" onclick="javascript: return validate_form()" value="Отправить"/><br>
</form>
P.S. в спойлер не мог засунуть, че-то все кнопки не-активные((
Добавлено через 1 минуту
Загрузите это на свой локальный веб-сервер, и скажите мне как сделать так, чтоб после обновления страницы убирались все ошибки.
"Обнулить $_POST можно отправив заголовок location на эту же страницу." - вот тут поподробнее, как сделать.
Добавлено через 4 часа 32 минуты
____________ап