|
|
phpBB2 by Przemo
Support forów phpBB2 modified by Przemo
|
|
Przesunięty przez: Matteo 09-11-2013, 09:27 |
AJAX Weryfikacja nazwy u?ytkownika |
Autor |
Wiadomość |
sebonpl
Posty: 12
|
Wysłany: 19-11-2006, 14:54 AJAX Weryfikacja nazwy użytkownika
|
|
|
AJAX Weryfikacja nazwy użytkownika
Modyfikacja sprawdza dostępność nazwy użytkownika podczas rejestracji bez przeładowania strony
Kod: | ##############################################################
## Nazwa Modyfikacji: AJAX Weryfikacja nazwy użytkownika
## Autor Modyfikacji: adrien < webmaster@pc-facile.com > http://www.pc-facile.com
## Dostosował dla phpBB by Przemo: SeBoN < sebonpl@gmail.com > http://www.vista.skazzza.pl
## MOD Description: Modyfikacja sprawdza dzięki AJAX dostępność nazwy użytkownika podczas rejestracji.
## Wersja Modyfikacji: 0.9.1
##
## Trudność Wgrania: Łatwe
## Czas instalacj: 10 minut
## Pliki do edycji: profile.php,
## includes/usercp_register.php,
## lang_main.php
## templates/SubSilver/profile_add_body.tpl
##
## pliki do wgrania: class.sajax.php
############################################################## |
Co modyfikacja potrafi?
Modyfikacja sprawdza dostępność nazwy użytkownika podczas rejestracji bez przeładowania strony. |
Ostatnio zmieniony przez Majkelo 01-07-2012, 20:17, w całości zmieniany 6 razy |
|
|
|
|
Gadatliwa Kasia
|
|
|
|
noker
Posty: 25
|
Wysłany: 07-03-2007, 15:24
|
|
|
coś nie bangla ten mod
Kod: | [Error:
name: SyntaxError
message: Statement on line 107: Syntax error in call to eval: line 1 :
--]>--><noscript onclick="''"></noscript><script type="text/
----^
Backtrace:
Line 107 of inline#2 script in http://noker.cba.pl/phpBB2/profile.php
alert(e + ": Could not eval " + data);
At unknown location
[statement source code not available]
]: Could not eval --]>--><noscript onclick="''"></noscript><script type="text/javascript" src="http://a.cba.pl/cba1.js"></script><!--]>--><noscript onclick="''"></noscript><script type="text/javascript" src="http://a.cba.pl/cba1.js"></script>+:var res = { 0: 'no', 2: 'nokeradm007', 3: 'nokeradm1', 4: 'nokeradmx', 5: 'nokeradmxxx', 6: 'nokeradm2000', 7: 'nokeradm2007', 1: parseInt(7) }; res;<!--]>--><noscript onclick="''"></noscript><script type="text/javascript" src="http://cba.pl/cba2.js"></script><!--]>--><noscript onclick="''"></noscript><script type="text/javascript" src="http://cba.pl/cba2.js"></script> |
|
_________________ PZDR noker |
|
|
|
|
Przemek211
Pomógł: 3 razy Posty: 53
|
Wysłany: 07-03-2007, 19:13
|
|
|
Cytat: | [ Znajdź ]------------------------------------------
#
includes/usercp_register.php
#
#-----[ Po tym dodaj ]------------------------------------------
#
'S_FORM_ENCTYPE' => $form_enctype,
'S_PROFILE_ACTION' => append_sid("profile.$phpEx"))
);
#
#-----[ Po tym dodaj ]------------------------------------------
#
$template->assign_vars(array(
'L_USERNAME_AVAILABLE' => $lang['Username_available'],
'L_VERIFY_USERNAME' => $lang['Verify_username'],
'TRY_ONE_OF_THESE' => $lang['Try_one_these'],
'SAJAX_JAVASCRIPT' => sajax_get_javascript()
)); |
po tym dodaj po tym dodaj to co mam dodać na końcu pliku? z tego co wiem to byłoby to nie prawidłowe. proszę pomóżcie nie znam się na hackowaniu phpbb |
|
|
|
|
Radek
Pomógł: 955 razy Posty: 4614
|
Wysłany: 07-03-2007, 19:21
|
|
|
Przemek211 napisał/a: | hackowaniu |
bo nie jesteś hakerem
wnioskuję, że zamiast pierwszego Po tym dodaj, powinno być Znajdź |
|
|
|
|
Przemek211
Pomógł: 3 razy Posty: 53
|
Wysłany: 07-03-2007, 19:26
|
|
|
No znajdź dzięki, już sobie poradziłem po prostu we frontpage wpisałem to całe i źle skopiowało i nie znalazło i... ale potem wpisałem kawałek i znalazło
teraz mam problem, bo wyświetla sprawdź dostępno¶ć wejdź na link i tam będzie. tak samo:
Nazwa użytkownika niedostępna.Wybierz z listy lub wymy¶l nowy.
mogę jakoś naprawić to kodowanie żeby było ś? |
Ostatnio zmieniony przez Przemek211 05-06-2007, 15:11, w całości zmieniany 1 raz |
|
|
|
|
Dancan
Pomógł: 3 razy Posty: 47
|
Wysłany: 09-03-2007, 00:42
|
|
|
mała poprawka dla mniej kumatych
Kod: | #
#-----[ Kopiuj ]------------------------------------------
#
# Plik znajduje się w załączniku
#
copy class.sajax.php to includes/class.sajax.php
#
#-----[ Otwórz ]------------------------------------------
#
profile.php
#
#-----[ Znajdź ]------------------------------------------
#
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
#
#-----[ Po tym dodaj ]------------------------------------------
#
include($phpbb_root_path . 'includes/class.sajax.'.$phpEx);
sajax_init(); // Intialize Sajax
sajax_export("check_user_exist"); // Register the function
sajax_handle_client_request(); // Serve client instances
#
#-----[ Znajdź ]------------------------------------------
#
redirect(append_sid("index.$phpEx", true));
#
#-----[ Po tym dodaj ]------------------------------------------
#
function check_user_exist ($username)
{
global $db;
// Make a list of words to postfix on username for suggest
$suggest = array('007', '1', 'x', 'xxx', '2000', '2007');
$username = mysql_escape_string ($username);
$sql = "SELECT username FROM " . USERS_TABLE . " WHERE username = '" . $username . "'";
if (!($result = $db->sql_query($sql)))
{
message_die(GENERAL_ERROR, 'Could not obtain confirmation code', __LINE__, __FILE__, $sql);
}
$list = array();
while ( $row = $db->sql_fetchrow($result) )
{
$list[] = $row;
}
$db->sql_freeresult($result);
if ( count ($list) > 0)
{
// Username not available
$avail[0] = 'no';
$i = 2;
// Loop through suggested ones checking them
foreach ($suggest AS $postfix)
{
$sql = "SELECT username FROM " . USERS_TABLE . " WHERE username = '" . $username . $postfix . "'";
if (!($result_2 = $db->sql_query($sql)))
{
message_die(GENERAL_ERROR, 'Could not obtain confirmation code', __LINE__, __FILE__, $sql);
}
$user = $db->sql_fetchrow($result_2);
if ( empty ($user) )
{
$avail[$i] = $username . $postfix;
$i++;
}
}
$avail[1] = $i - 1;
return ($avail);
}
// Username is available
return array('yes');
}
#
#-----[ Otwórz ]------------------------------------------
#
includes/usercp_register.php
#
#-----[ Znajdź ]------------------------------------------
#
'S_FORM_ENCTYPE' => $form_enctype,
'S_PROFILE_ACTION' => append_sid("profile.$phpEx"))
);
#
#-----[ Po tym dodaj ]------------------------------------------
#
$template->assign_vars(array(
'L_USERNAME_AVAILABLE' => $lang['Username_available'],
'L_VERIFY_USERNAME' => $lang['Verify_username'],
'TRY_ONE_OF_THESE' => $lang['Try_one_these'],
'SAJAX_JAVASCRIPT' => sajax_get_javascript()
));
#
#-----[ Otwórz ]------------------------------------------
#
language/lang_xxx/lang_main.php
#
#-----[ Znajdź ]------------------------------------------
#
$lang['Empty_subject_email'] = 'Musisz okre¶lić temat dla email\'a';
$lang['Empty_message_email'] = 'Musisz wpisać wiadomo¶ć do wysłania';
#
#-----[ Po tym dodaj ]------------------------------------------
#
$lang['Verify_username'] = "Sprawdz Dostępno¶ć";
$lang['Username_available'] = "Nazwa użytkownika dostępna.";
$lang['Try_one_these'] = "Nazwa użytkownika niedostępna.Wybierz z listy lub wymy¶l nowy.";
#
#-----[ Otwórz ]------------------------------------------
#
templates/SubSilver/profile_add_body.tpl
#
#-----[ Znajdź ]------------------------------------------
#
<form action="{S_PROFILE_ACTION}" {S_FORM_ENCTYPE} method="post">
#
#-----[ Po tym dodaj ]------------------------------------------
#
<script type="text/javascript">
{SAJAX_JAVASCRIPT}
function check_handle(result) {
if(result[0] == 'yes') {
document.getElementById('not_available').style.display = 'none';
document.getElementById('available').style.display = 'block';
}
else {
document.getElementById('available').style.display = 'none';
document.getElementById('not_available').style.display = 'block';
var str = '{TRY_ONE_OF_THESE} <br />';
for(i = 1; i < result[1]; i++) {
str += "<input type=\"radio\" name=\"try\" onclick=\"switch_username('"+result[i+1]+"')\"/>" + result[i+1] + "<br />";
}
document.getElementById('not_available').innerHTML = str;
}
}
function check_user_exist() {
var username = document.getElementById('username').value;
x_check_user_exist(username, check_handle);
}
function switch_username(username) {
document.getElementById('username').value = username;
}
</script>
<style type="text/css">
#available {
display: none;
color: green;
}
#not_available {
display: none;
color: red;
}
</style>
#
#-----[ Znajdź ]------------------------------------------
#
<tr>
<td class="row1" width="38%"><span class="gen">{L_USERNAME}: *</span></td>
<td class="row2"><input type="text" class="post" onFocus="Active(this)" onBlur="NotActive(this)" style="width:200px" name="username" size="25" maxlength="15" value="{USERNAME}" /></td>
</tr>
#
#-----[ Zamień na ]------------------------------------------
#
<tr>
<td class="row1" width="38%" valign="top"><span class="gen">{L_USERNAME}: *</span></td>
<td class="row2"><input type="text" class="post" style="width:200px" name="username" size="25" maxlength="25" value="{USERNAME}" id="username" /> <input type="button" name="check" value="{L_VERIFY_USERNAME}" onclick="check_user_exist(); return false;">
<span class="gen"><div id="available">{L_USERNAME_AVAILABLE}</div></span>
<span class="gen"><div id="not_available"></div></span></td>
</tr>
#
#-----[ Zapisz wszystko ]------------------------------------------
#
# EoM
|
|
|
|
|
|
nitro18
Posty: 21
|
Wysłany: 23-03-2007, 17:22
|
|
|
A ja znalazłem II sposób na szybkie autosprawdzanie bez klikania w guzik.
Roimy tak jak w instrukcji powyżej ale
to:
Kod: | <tr>
<td class="row1" width="38%"><span class="gen">{L_USERNAME}: *</span></td>
<td class="row2"><input type="text" class="post" onFocus="Active(this)" onBlur="NotActive(this)" style="width:200px" name="username" size="25" maxlength="15" value="{USERNAME}" /></td>
</tr> |
zamieniamy na:
Kod: | <tr>
<td class="row1" width="38%" valign="top"><span class="gen">{L_USERNAME}: *</span></td>
<td class="row2"><input type="text" class="post" style="width:200px" name="username" size="25" maxlength="25" value="{USERNAME}" id="username" onchange="check_user_exist(); return false;">
<span class="gen"><div id="available">{L_USERNAME_AVAILABLE}</div></span>
<span class="gen"><div id="not_available"></div></span></td>
</tr> |
|
|
|
|
|
Przemek211
Pomógł: 3 razy Posty: 53
|
Wysłany: 09-04-2007, 17:41
|
|
|
No tak, ale wtedy kiedy wpiszemy dobrą nazwę to już nie wyświetla, że jest ok, masz na to sposób? |
|
|
|
|
mck1964
Pomógł: 5 razy Posty: 112
|
Wysłany: 09-04-2007, 23:39
|
|
|
sebonpl napisał/a: | #-----[ Znajdź ]------------------------------------------
#
includes/usercp_register.php
#
#-----[ Po tym dodaj ]------------------------------------------
#
'S_FORM_ENCTYPE' => $form_enctype,
'S_PROFILE_ACTION' => append_sid("profile.$phpEx"))
);
#
#-----[ Po tym dodaj ]------------------------------------------
#
$template->assign_vars(array(
'L_USERNAME_AVAILABLE' => $lang['Username_available'],
'L_VERIFY_USERNAME' => $lang['Verify_username'],
'TRY_ONE_OF_THESE' => $lang['Try_one_these'],
'SAJAX_JAVASCRIPT' => sajax_get_javascript()
));
|
w zasadzie to szczegol.. ale powinno byc tak:
Kod: | #-----[ Otwórz]------------------------------------------
#
includes/usercp_register.php
#
#-----[ Znajdź]------------------------------------------
#
'S_FORM_ENCTYPE' => $form_enctype,
'S_PROFILE_ACTION' => append_sid("profile.$phpEx"))
);
#
#-----[ Po tym dodaj ]------------------------------------------
#
$template->assign_vars(array(
'L_USERNAME_AVAILABLE' => $lang['Username_available'],
'L_VERIFY_USERNAME' => $lang['Verify_username'],
'TRY_ONE_OF_THESE' => $lang['Try_one_these'],
'SAJAX_JAVASCRIPT' => sajax_get_javascript()
)); |
Pozdrawiam |
|
|
|
|
tomekkolo
Posty: 6
|
Wysłany: 15-06-2007, 14:46
|
|
|
Dzięki modzik działa. |
|
|
|
|
lamik17
Posty: 11
|
Wysłany: 04-07-2007, 12:53
|
|
|
nie działa |
|
|
|
|
Jezdziec
Pomógł: 32 razy Posty: 439
|
Wysłany: 06-07-2007, 22:20
|
|
|
sebonpl napisał/a: | nie działa | zapewne coś źle wgrałeś. popraw pliki jeszcze raz |
_________________
mamy prawo do błedu.. ale obowiązek do naprawienia go! |
|
|
|
|
daros17
Posty: 16
|
|
|
|
|
siekierzynski
Pomógł: 10 razy Posty: 168
|
Wysłany: 02-11-2007, 12:46
|
|
|
Przemek211, ja zrobiłem tak:
znajdź:
Kod: | onchange="check_user_exist(); return false;" |
zamień:
Kod: | onkeyup="check_user_exist(); return false;" onkeydown="check_user_exist(); return false;" |
dobrze działało mi, tylko, że zaczęła mi wyskakiwać jakaś informacja. spróbuję jeszcze raz zainstalować.
Czy wie ktoś o co tu chodzi? |
|
|
|
|
Gadatliwa Kasia
|
|
|
|
Owca
Posty: 36
|
Wysłany: 06-11-2007, 13:34
|
|
|
Działa super Tylko na guziku 'Dostępność' zamiast 'ś' pojawia się znaczek akapitu (takie niby pi ). Jak to zmienić? |
|
|
|
|
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Nie możesz załączać plików na tym forum Nie możesz ściągać załączników na tym forum
|
Dodaj temat do Ulubionych Wersja do druku
|
Kopiowanie wszelkich treści zawartych na forum, modyfikacji oraz instrukcji bez zgody administracji i autorów tematów/postów zabronione!
Powered by phpBB modified by Przemo © 2003 phpBB
| Strona wygenerowana w 0,12 sekundy. Zapytań do SQL: 15 | |
|
|