Показать сообщение отдельно
Непрочитано 15.04.2011, 14:41   #4
Изгнанные

Автор темы (Топик Стартер) Re: Вывод ошибок

ВОт вобщем код:

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($result0);



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 минуты
____________ап

Последний раз редактировалось flashboom777; 15.04.2011 в 19:13. Причина: Добавлено сообщение
flashboom777 вне форума Ответить с цитированием