Мод предназначен для проверки введенных данных "на лету"..по скринам все поймете..
1. signup.php
найти
Code
<p>
<form method="post" action="takesignup.php">
<table border="1" cellspacing=0 cellpadding="10">
<tr><td align="right" class="heading"><?=$tracker_lang['signup_username'];?></td><td align=left><input type="text" size="40" name="wantusername" /></td></tr>
<tr><td align="right" class="heading"><?=$tracker_lang['signup_password'];?></td><td align=left><input type="password" size="40" name="wantpassword" /></td></tr>
<tr><td align="right" class="heading"><?=$tracker_lang['signup_password_again'];?></td><td align=left><input type="password" size="40" name="passagain" /></td></tr>
<tr valign=top><td align="right" class="heading"><?=$tracker_lang['signup_email'];?></td><td align=left><input type="text" size="40" name="email" />
<table width=250 border=0 cellspacing=0 cellpadding=0><tr><td class=embedded><font class=small><?=$tracker_lang['signup_email_must_be_valid'];?></td></tr>
</font></td></tr></table>
</td></tr>
заменить на
Code
<p>
<script language="JavaScript" src="js/ajax.js" type="text/javascript"></script>
<form method="post" action="takesignup.php">
<table border="1" cellspacing=0 cellpadding="10">
<tr valign=top><td align="right" class="heading"><?=$tracker_lang['signup_username'];?></td><td align=left><input type="text" size="60" name="wantusername" id="wantusername" onblur="signup_check('username'); return false;"/><div id="check_username"></div></td></tr>
<tr valign=top><td align="right" class="heading"><?=$tracker_lang['signup_password'];?></td><td align=left><input type="password" size="60" name="wantpassword" id="wantpassword"/></td></tr>
<tr valign=top><td align="right" class="heading"><?=$tracker_lang['signup_password_again'];?></td><td align=left><input type="password" size="60" name="passagain" id="passagain" onblur="signup_check('password'); return false;"/><div id="check_password"></div></td></tr>
<tr valign=top><td align="right" class="heading"><?=$tracker_lang['signup_email'];?></td><td align=left><input type="text" size="60" name="email" id="email" onblur="signup_check('email'); return false;"/><div id="check_email"></div>
<table width=250 border=0 cellspacing=0 cellpadding=0><tr><td class=embedded><font class=small><?=$tracker_lang['signup_email_must_be_valid'];?></td></tr>
</font></td></tr></table>
</td></tr>
найти
перед вставить
Code
print("<div id='loading-layer'></div>");
сохранить и закрыть
2.
Code
include/global.php
найти
после вставить
Code
function ajaxerr($text, $width="135")
{
print("<div id='ajaxerror' style='width: ".$width."px;'>$text</div>\n");
return;
}
function ajaxsucc($text, $width="135")
{
print("<div id=ajaxsuccess style='width: ".$width."px;'>$text</div>\n");
return;
}
сохранить и закрыть include/global.php
3. js/ajax.js
найти
после вставить
Code
function signup_check(action) {
var ajax = new tbdev_ajax();
ajax.onShow ('');
var varsString = "";
ajax.requestFile = "check_signup.php";
if (action == "username")
ajax.setVar("username", document.getElementById('wantusername').value);
if (action == "password"){
ajax.setVar("password", document.getElementById('wantpassword').value);
ajax.setVar("passagain", document.getElementById('passagain').value);}
if (action == "email")
ajax.setVar("email", document.getElementById('email').value);
ajax.element = 'check_' + action;
ajax.setVar("action", action);
ajax.method = 'POST';
ajax.sendAJAX(varsString);
}
сохранить и закрыть js/ajax.js
4. Ваш файл стилей .css
в конце вставить
Code
div#ajaxerror {
background: #FFDDDD url(images/err.gif) no-repeat 5px 50%;
padding:5px 5px 5px 24px;
text-align:left;
font-family:Verdana, Arial, Helvetica, sans-serif;
color:#333;
font-size:11px;
}
div#ajaxsuccess {
background: #E7FFCE url(images/succ.gif) no-repeat 5px 50%;
padding:5px 5px 5px 24px;
text-align:left;
font-family:Verdana, Arial, Helvetica, sans-serif;
color:#333;
font-size:11px;
}
сохранить и закрыть Ваш файл стилей .css
5. В папку images вашего стиля закинуть прилагаемые картинки (themes\kinokpk\images)
6. Создать в корне трекера файл check_signup.php
Code
<?
require_once("include/bittorrent.php");
dbconn();
header ("Content-Type: text/html; charset=windows-1251");
if ($_POST["action"] == "username"){
function validusername($username)
{
if ($username == "")
return false;
$allowedchars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
for ($i = 0; $i < strlen($username); ++$i)
if (strpos($allowedchars, $username[$i]) === false)
return false;
return true;
}
$wantusername = $_POST["username"];
$res = (@mysql_fetch_row(@sql_query("select count(*) from users where username='$wantusername'"))) or die(mysql_error());
if ($res[0] != 0)
ajaxerr("Пользователь $wantusername уже зарегистрирован", "294");
elseif (empty($wantusername))
ajaxerr("Не указано имя пользователя", "294");
elseif (strlen($wantusername) > 12)
ajaxerr("Имя пользователя должно быть не более 12 символов", "294");
elseif (!validusername($wantusername))
ajaxerr("Неверное имя пользователя", "294");
else
ajaxsucc("Вы можете использовать это имя", "294");
}
if ($_POST["action"] == "password"){
$wantpassword = $_POST["password"];
$passagain = $_POST["passagain"];
if (empty($wantpassword))
ajaxerr("Введите пароль", "294");
elseif (empty($passagain))
ajaxerr("Продублируйте пароль", "294");
elseif ($wantpassword != $passagain)
ajaxerr("Пароли не совпадают.", "294");
elseif (strlen($wantpassword) < 6)
ajaxerr("Минимальная длина пароля 6 символов", "294");
elseif (strlen($wantpassword) > 40)
ajaxerr("Максимальная длина пароля 40 символов", "294");
else
ajaxsucc("Вы можете использовать этот пароль", "294");
}
if ($_POST["action"] == "email"){
$email = $_POST["email"];
$res = (@mysql_fetch_row(@sql_query("select count(*) from users where email='$email'"))) or die(mysql_error());
if (empty($email))
ajaxerr("Не указан e-mail адрес", "294");
elseif ($res[0] != 0)
ajaxerr("Этот e-mail адрес уже зарегистрирован", "294");
else
ajaxsucc("Вы можете использовать этот e-mail адрес", "294");
}
?>
TREBUE SA COPII SI FAILU ACESTA !
http://dev.kinokpk.com/download/file.php?id=37